Cacháil prompt
UATÓMÁTTACacheálann munaí open-weight óstálta prefixí prompt athcruthaithe go huathoibríach. Nuair a thosaíonn iarratas le system prompt, uirlisí agus teachtaireachtaí níos luaithe an lánaithea ná iarratas le-phianta ar an munaí céanna, léithtear an prefix comhroinnte sin ó chachaidh agus billítear é ag 25% de phCost input an munaí. Níl aon rud le habáil, agus tá scríbhinn go dtí an lánach saor.
Conas a deilbheann sé
- Prefix, sa réamhrá — Léithtear an prompt sa réamhrá: system prompt, sainiú uirlisí, ansin na teachtaireachtaí. Meáchaíonn an lánach ón tús den ráltas sin go dtí an chéad token a dhiúltaíonn.
- Cad a chuntaíonn mar 'hit' — Iarratas a thosaíonn a prompt leis an imbháCacha chéanna own iarratas le-phianta — go hionann, an turna roimhe seo den chomhrá an lánaithea le teachtaireachtaí nua curtha leis. Is input cacheda an prefix comhroinnte; is input riaghlaçh gach rud ina sheachadach.
- Grianú lúbha — Coinníonn an cache prompt i mbloic de 1,568 token, mar sin ní thaiscfear prompt atá níos giorra ná thart ar 1,500 token. Is é an líon taiscthe i bhfreagra do líon ionchuir iolraithe faoi chion taiscthe an prompt, cuarthaithe síos. Ní gá gur iolraí de mhéid an bhloic é.
- Gan buille — Billeáiltear iarratas nach bhfuil a thús sa cache ag an ráta ionchuir rialta. Ní fhoilsítear aon saolré do prompts taiscthe agus ní ráthaítear buille: léigh
usagechun a fheiceáil cad a thóg iarratas as an gcache. - Gan lasc — Ní roghnaíonn iarratas isteach, agus ní mhúchann aon réimse cacheáil.
- Cáca munaí — Gach id open-weight óstálta. Tuigeann GET /v1/models capabilities.prompt_caching: true agus pricing.cached_input_per_million_usd dóibh. Billíonn munaí Shannon ráta flata amháin.
Féach ar bhuille cache i bhfreagra
Seol dhá iarratas a thosaíonn leis an prompt córais fada céanna agus priontáil an úsáid i ngach ceann. Is é an chéad uimhir ionchur an iarratais, is é an dara huimhir an chuid de a léadh ón gcache.
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 Praisí
Billítear tokens input cacheda ag 25% de ráta input an munaí, cruinnithe go $0.001 in 1M. Ní chostaíonn scríbhinn chuig an lánach aon rud breise, agus billítear output mar shamhlí. Tá ráta cacheda gach id i ntabla a Models & pricing. Múnlaí agus praghsáil
Muirearaítear ionchur glao mar (ionchur − taiscthe) × ráta ionchuir + taiscthe × ráta taiscthe. Ní bhíonn an líon taiscthe riamh níos mó ná líon an ionchuir.
| Múnla | Ionchur / 1M | Ionchur taiscthe / 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 |
Liostaíonn an logleabhar úsáide ionchur taiscthe gach glao. Tá an ráta taiscthe san áireamh cheana i token billeáilte agus i gcostas an ghlao. Eochracha agus úsáid
Ráiltí úsáide
| Críochphointe | Input cacheda | Réasúnú |
|---|---|---|
/v1/chat/completions | usage.prompt_tokens_details.cached_tokens — cuid de prompt_tokens | usage.completion_tokens_details.reasoning_tokens — cuid de completion_tokens |
/v1/responses | usage.input_tokens_details.cached_tokens — cuid de input_tokens | usage.output_tokens_details.reasoning_tokens — cuid de output_tokens |
/v1/messages | usage.cache_read_input_tokens — tuairisthe ar sciathán: is é input_tokens an chuid gan lánach; is 0 i gcónaí cache_creation_input_tokens | comhachtear an smahthighniú i 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
}
} Tá na réimsí céanna i bhfreagra sruthaithe ina úsáid dheiridh. Ní gá duit iarraidh air:
| Críochphointe | Cá dtagann an úsáid |
|---|---|
/v1/chat/completions | usage ar an bpíosa deireanach roimh data: [DONE]. Seoltar é ar gach sruth. |
/v1/responses | response.usage an imeachta response.completed. |
/v1/messages | usage an imeachta message_delta. Tá nialais i usage message_start. |
Níos mó de chachaigh 'hits' a fháil
- Coinnigh an system prompt agus sainiú uirlisí coinsealaite byte-for-byte trasna glaochta. Cuir luachanna gach-glaoch, cosúil le timestamps nó id-iarratas, ag an tús den theachtaireach lárach, ní hea an system prompt.
- Cuir leis an stair amháin. Athruithe, trimú nó achoimseacha de thurnaí níos luaithe athraíonn an prefix, agus billítear gach rud tar éis an chéaduathrú mar input riaghlaçh.
- Ná athrach an ordú uirlisí, teachtaireachtaí nó bloclaracha idir glaochta, agus sérialiaigh JSON (scéamaí uirlisí, argóinta uirlisí agus torathaan) sa mhéid céanna gach uair.
- Fan ar id múnla amháin le haghaidh comhrá, agus seol an glao leantach go luath tar éis an cheann roimhe.
Coinníonn an API tús comhrá cobhsaí sna cásanna seo:
- Fanann teachtaireacht
systemnódevelopera seoltar níos déanaí i gcomhrá ina háit. Ní athraíonn sí tús an prompt, mar sin fanann na casadh roimpi taiscthe. - Déantar argóintí glaonna uirlisí i gcasadh cúntóra níos luaithe a chur i gcomparáid de réir luacha. Is cuma ord na n-eochracha ná spásáil an JSON sin.
- Léann na trí chríochphointe comhrá ar an mbealach céanna. Coinníonn comhrá a leantar ar chríochphointe eile a réimír chomhroinnte nuair is ionann an t-ábhar.
Sonraí iarrata
Glacfar le prompt_cache_key (Chat Completions agus Responses) agus cache_control ar bhlocaí ábhair Messages, ionas gur féidir le cód cliaint existing rith gan athrú. Ní ceases aon cheann acu: tá caching uaillmheata agus workable an own gan iad.
| Réimse | Seolta chuig | Cad é |
|---|---|---|
prompt_cache_key | /v1/chat/completions, /v1/responses | Eochair rótála cache den API OpenAI. |
cache_control | /v1/messages | Brisphointe cache ar bhloc ábhair, ar bhloc system nó ar theachtaireacht den API Anthropic. |
stream_options | /v1/chat/completions | Iarrann include_usage ar an API OpenAI an úsáid ar shruth. Anseo críochnaíonn gach sruth le húsáid. |
Tokens a chunaiú
Comhaireann dhá chríochphointe saor in aisce, POST /v1/tokenize agus POST /v1/messages/count_tokens, na token i dtéacs nó in iarratas iomlán do na múnlaí open-weight óstáilte sula seolann tú é. Tá leathanach acu féin: Comhaireamh token