Caching prompt
AUTOMAITHEACHTha modailan hosted open-weight a' cache-adh ro-innsealaidhean prompt a tha air ath-chuairt gu fèin-ghluasadach. Nuair a thòisicheas iarras le prompt system, innealan agus teachdaireachdan a tha an aon ri iarras ownach air an aon mhodail, thèid an ro-innseallal a cho-dziela sin a leughadh bhon cache agus a bhileadh aig 25% de phrìse aontaidh na mhodail. Chan eil nì samhain a gachadh, agus tha sgrìobhadh gu cache an-asgaidh.
Mar a owna e
- Ro-innseallal, ann an òrdu — Thèid an prompt a leughadh ann an òrdu: prompt system, sònraichean innealan, agus an owna teachdaireachdan. Tha an cache a' machas bhon tòisich a-nis guon an token a owna a tha e-dhearbhaidh.
- Dè a thionndas gu 'hit' — Iarras far a thòisicheas an prompt le an owna susbasta ri iarras ownach — guly an t-uimhir ro-lasta den chomarsa a tha an aon, le teachdaireachdan ùra air an cur air an ailleadh. Is e an ro-innseallal a tha a' machas aonta cached; tha a h-uile nì às-deidh sin na aonta reguylair.
- Mion-dhearbhadh — Tha an cache a’ cumail prompt ann am blocaichean de 1,568 tokens, agus mar sin chan eil prompt nas giorra na mu 1,500 tokens air a chache-adh. Is e an cunntas cached ann am freagairt an cunntas input agad air a iomadachadh leis a’ chuid chached dhen prompt, air a chruinneachadh sìos. Chan eil e riatanach gur iomadachadh de mheud a’ bhloc a th’ ann.
- Às aonais hit — Thèid iarrtas aig nach eil an toiseach sa cache a bhilleadh aig an ìre input chunbhalach. Chan eil beatha foillsichte airson prompts chached agus chan eil hit cinnteach: leugh
usagegus faicinn dè a ghabh iarrtas on cache. - Gun suidse — Chan eil iarrtas a’ roghnachadh a-steach, agus chan eil raon sam bith a’ cur caching dheth.
- Dè na modailan — A h-uile id hosted open-weight. Tha GET /v1/models a' cur åireamh de capabilities.prompt_caching: true agus pricing.cached_input_per_million_usd airson owna. Tha modailan Shannon a bhileadh rat aonar.
Faic cache hit ann am freagairt
Cuir dà iarrtas a thòisicheas leis an aon system prompt fhada agus clò-bhuail an usage aig gach fear. Is e a’ chiad àireamh input an iarrtais, is e an dàrna a’ phàirt dheth a chaidh a leughadh on cache.
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")
handbook = open("handbook.txt").read() # a long text that stays the same
def ask(question):
response = client.chat.completions.create(
model="Kimi-K3-3BIT-REAP",
messages=[
{"role": "system", "content": handbook},
{"role": "user", "content": question},
],
)
usage = response.usage
print(usage.prompt_tokens, usage.prompt_tokens_details.cached_tokens)
ask("What is the refund policy?")
ask("Who approves travel?") # same start: read the second number import { readFileSync } from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ apiKey: "YOUR_API_KEY", baseURL: "https://api.shannon-ai.com/v1" });
const handbook = readFileSync("handbook.txt", "utf8"); // a long text that stays the same
async function ask(question) {
const response = await client.chat.completions.create({
model: "Kimi-K3-3BIT-REAP",
messages: [
{ role: "system", content: handbook },
{ role: "user", content: question },
],
});
const usage = response.usage;
console.log(usage.prompt_tokens, usage.prompt_tokens_details.cached_tokens);
}
await ask("What is the refund policy?");
await ask("Who approves travel?"); // same start: read the second number # handbook.txt is a long text that stays the same. jq builds the JSON body from it
# and prints the usage object of the reply. Run it twice with different questions.
jq -Rs '{
model: "Kimi-K3-3BIT-REAP",
messages: [
{role: "system", content: .},
{role: "user", content: "What is the refund policy?"}
]
}' handbook.txt \
| curl -s https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d @- \
| jq .usage Prìseachadh
Tha tokens aonta cached a' bhileadh aig 25% de rat aontaidh na mhodail, air a gheadhachadh gu $0.001 gach 1M. Chan eil cosgaidh a bhara lùth sgrìobhadh gu cache, agus tha tasgadh a' bhileadh mar as owna. Tha rat cached gach id anns a' thabhall Models & pricing. Modailean & prìsean
Thèid input gairm a chosg mar (input − cached) × ìre input + cached × ìre cached. Chan eil an cunntas cached a-riamh nas motha na an cunntas input.
| Modail | Input / 1M | Input cached / 1M |
|---|---|---|
DeepSeek-V4-Pro-0813-3BIT-REAP | $1.95 | $0.488 |
GLM-5.2-3BIT-REAP | $0.73 | $0.183 |
Kimi-K3-3BIT-REAP | $3.83 | $0.958 |
Nemotron3Ultra-3BIT-REAP | $0.75 | $0.188 |
MiniMax-M3-3BIT-REAP | $0.50 | $0.125 |
DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP | $0.50 | $0.125 |
Kimi-K2.6-W4A16-AUTOROUND-REAP | $0.78 | $0.195 |
Laguna-S-2.1-W4A16-AUTOROUND-REAP | $0.50 | $0.125 |
inkling-W4A16-AUTOROUND-REAP | $1.42 | $0.355 |
MiMo-V2.5-Pro-W8A16 | $0.50 | $0.125 |
MiMo-V2.5-W8A16 | $0.50 | $0.125 |
Hy3-W8A16 | $0.50 | $0.125 |
Tha an loga usage a’ liostadh input cached gach gairm. Tha an ìre cached mar-thà am broinn nan tokens billte agus a’ chosgais aige. Iuchraichean & cleachdadh
Raoinn-cleachdaidh
| Endpoint | Aonta cached | Reusanachadh |
|---|---|---|
/v1/chat/completions | usage.prompt_tokens_details.cached_tokens — pàirt de prompt_tokens | usage.completion_tokens_details.reasoning_tokens — pàirt de completion_tokens |
/v1/responses | usage.input_tokens_details.cached_tokens — pàirt de input_tokens | usage.output_tokens_details.reasoning_tokens — pàirt de output_tokens |
/v1/messages | usage.cache_read_input_tokens — air a cho-nao: is e input_tokens an phàirt nach eil cached; tha cache_creation_input_tokens an-còmhnaidh 0 | tha smaoineachadh a' cunnan ann an output_tokens |
{
"usage": {
"prompt_tokens": 20000,
"completion_tokens": 812,
"total_tokens": 20812,
"prompt_tokens_details": {
"cached_tokens": 18000
},
"completion_tokens_details": {
"reasoning_tokens": 604
}
}
} {
"usage": {
"input_tokens": 20000,
"input_tokens_details": {
"cached_tokens": 18000
},
"output_tokens": 812,
"output_tokens_details": {
"reasoning_tokens": 604
},
"total_tokens": 20812
}
} {
"usage": {
"input_tokens": 2000,
"cache_read_input_tokens": 18000,
"cache_creation_input_tokens": 0,
"output_tokens": 812
}
} Tha na h-aon raointean aig freagairt streamte san usage mu dheireadh. Chan fheum thu iarraidh air:
| Endpoint | Càite an tig an usage |
|---|---|
/v1/chat/completions | usage air an chunk mu dheireadh ro data: [DONE]. Thèid a chur air gach stream. |
/v1/responses | response.usage an tachartais response.completed. |
/v1/messages | usage an tachartais message_delta. Tha neoni san usage aig message_start. |
Barr-bhàthadh cache hits
- Dèan sàbhailte an prompt system agus sònraichean-innealan byte-gu-byte thar glaoichean. Cuir luachan g-glaoich mar timestampan no ids iarras aig an owna den teachdaireachd as ùr, chan ann san prompt system.
- Cuir a-steach gu h-àrd an eachdraidh. Tha athar-sgrìobhadh, gearradh no summarize-adh nan uimhirean ro-lasta a' sgaoileadh an ro-innseallal, agus tha a h-uile nì às-deidh an atharrachadh a bhileadh mar aonta reguylair.
- Na atharraich òrdu nan innealan, teachdaireachdan no blocaichean susbasta eadar glaoichean, agus serialise JSON (sgeama-innealan, argument-innealan agus toraidhean) an aon shlighe a h-uile turas.
- Fan air aon id modail airson còmhradh, agus cuir an gairm leantainneach goirid às dèidh an fhir roimhpe.
Cumaidh an API toiseach còmhraidh seasmhach sna cùisean seo:
- Fanaidh teachdaireachd
systemnodevelopera thèid a chur nas fhaide air adhart ann an còmhradh na h-àite. Chan atharraich i toiseach an prompt, agus mar sin fanaidh na tionndaidhean roimhpe chached. - Thèid argamaidean ghairmean inneal ann an tionndaidhean assistant na bu thràithe a choimeas a-rèir luach. Chan eil e gu diofar dè an òrdugh iuchraichean no spàsadh a tha san JSON sin.
- Leughaidh an trì endpoints còmhradh san aon dòigh. Cumaidh còmhradh a leanar air endpoint eile an ro-leasachan co-roinnte nuair a tha an t-susbaint mar a chèile.
Raon-fìosg-iongnis
Tha prompt_cache_key (Chat Completions agus Responses) agus cache_control air blocan susbasta Messages air ana ghabhail, mar sin tha còd clianta istnieach a’ ruith gun atharrachadh. Chan eil teachdaireachd ri fhaighinn: tha caching fèin-ghuailidhe agus bidh e ag obair an ceart gun iad.
| Raon | Air a chur gu | Dè th’ ann |
|---|---|---|
prompt_cache_key | /v1/chat/completions, /v1/responses | Iuchair slighe cache dhen API OpenAI. |
cache_control | /v1/messages | Puing-briste cache air bloc susbaint, air bloc system no air teachdaireachd dhen API Anthropic. |
stream_options | /v1/chat/completions | Bidh include_usage ag iarraidh usage air stream bhon API OpenAI. An seo bidh usage aig deireadh gach stream. |
Tokens a aifreag
Bidh dà endpoint an-asgaidh, POST /v1/tokenize agus POST /v1/messages/count_tokens, a’ cunntadh tokens teacsa no iarrtais slàin airson nam modailean open-weight hosted mus cuir thu e. Tha duilleag fhèin aca: Cunntadh tokens