Gafee gaa n'ọdịnaya
Caching prompt

Caching prompt

NA-EME SITE N'onwe ya

Hosted open-weight models na-akọpụ repeated prompt prefixes automatically. Mgbe request malitere na system prompt, tools na messages ndị gara aga dịka request nke gaghara na model nke ukwu, a na-agụ prefix ahụ site na cache ma akwụ ụgwọ ya na 25% nke ọnụgo input nke model ahụ. Enweghị ihe ịnye enable, cache writes abụọkwa n'efu.

Otu ọ na-arụ ọrụ

  • Prefix, n'usoro — A na-agụ prompt n'usoro: system prompt, tool definitions, mgbe ahụ ka a gụọ messages. Cache na-eme match site na mmalize sequence ahụ ruo na token mbunye nke dị iche.
  • Ihe a na-agụ dịka hit — Request nke prompt ya malitere na content nke gaghara — nke na-abụkarị turn mbunye nke conversation ahụ na messages ọhụrụ a gbakwunyele. Prefix a match-rị bụ cached input; ihe niile ndị gbasoro ya bụ regular input.
  • Ọkwa nkewa — Cache na-ejide prompt n'ime blocks nke tokens 1,568, yabụ a naghị echekwa prompt dị mkpụmkpụ karịa tokens 1,500 ma ọ bụ ihe ruru ya. Ọnụọgụ cached n'ime azịza bụ ọnụọgụ input gị nke e jiri òkè cached nke prompt mụbaa, wedata ala. Ọ bụghị mgbe niile ka ọ bụ ọtụtụ nke nha block.
  • Na-enweghị hit — A na-akwụ ụgwọ request nke mmalite ya na-adịghị na cache n'ọnụego input nkịtị. A naghị ebipụta oge ndụ maka prompts echekwara ma hit abụghị ihe e kwere nkwa: gụọ usage ka ị hụ ihe request weere na cache.
  • Enweghị switch — Request anaghị abanye, enweghịkwa field na-agbanyụ caching.
  • Mbee models — Every hosted open-weight id. GET /v1/models na-akọwa capabilities.prompt_caching: true na pricing.cached_input_per_million_usd maka ha. Shannon models na-akwụ ụgwọ ọnụgoเดียว.

Hụ cache hit n'ime azịza

Zipu requests abụọ malitere na otu system prompt ogologo ma bipụta usage nke ọ bụla. Nọmba mbụ bụ input nke request, nke abụọ bụ akụkụ ya e sitere na cache gụọ.

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

Ugolu

Cached input tokens na-akwụ ụgwọ na 25% nke ọnụgo input nke model ahụ, a gbatie ya ruo $0.001 per 1M. Idebe ihe na cache anaghị akwụ ụgwọ extra, output akwụkwụsịla dịka ọmụma. Ọnụgo cached nke id ọ bụla nọ na Models & pricing table. Models & ọnụahịa

A na-akwụ ụgwọ input nke oku dị ka (input − cached) × input rate + cached × cached rate. Ọnụọgụ cached anaghị agafe ọnụọgụ input.

Model Input / 1M Cached input / 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

Usage log na-edepụta cached input nke oku ọ bụla. Tokens e kwụrụ ụgwọ ya na ọnụahịa ya agụnyela cached rate. Keys & usage

Mpụzụ ojiji

Endpoint Input echebara Reasoning
/v1/chat/completions usage.prompt_tokens_details.cached_tokens — akụkụ nke prompt_tokens usage.completion_tokens_details.reasoning_tokens — akụkụ nke completion_tokens
/v1/responses usage.input_tokens_details.cached_tokens — akụkụ nke input_tokens usage.output_tokens_details.reasoning_tokens — akụkụ nke output_tokens
/v1/messages usage.cache_read_input_tokens — a kọwara ғаra: input_tokens bụ akụkụ anaghị akọpụ; cache_creation_input_tokens bụ mgbe niile 0 a na-agụ thinking n'ime output_tokens
{
  "usage": {
    "prompt_tokens": 20000,
    "completion_tokens": 812,
    "total_tokens": 20812,
    "prompt_tokens_details": {
      "cached_tokens": 18000
    },
    "completion_tokens_details": {
      "reasoning_tokens": 604
    }
  }
}

Azịza a na-eme streaming na-ebu otu fields n'ime usage ikpeazụ ya. Ọ dịghị mkpa ka ị rịọ ya:

Endpoint Ebe usage na-abịa
/v1/chat/completions usage na chunk ikpeazụ tupu data: [DONE]. A na-ezipu ya na stream ọ bụla.
/v1/responses response.usage nke response.completed event.
/v1/messages usage nke message_delta event. usage nke message_start nwere efu.

Otu esi nweta cache hits ndịzi

  • Mechie system prompt na tool definitions ka ha ghọzie byte-for-byte n'ime calls. Debe values nke call kachaa dịka timestamps ma ọ bụ request ids n'ikpeazụ nke message kachaa, ọ bụghị n'ime system prompt.
  • Gbakwunye naanị na history. Ime editing, trimming ma ọ bụ summarising na turns mbunye na-agbanwe prefix, own ihe niile gbasoro mgbanwe mbunye ahụ a na-akwụ ụgwọ ya dịka regular input.
  • Atụla tools, messages ma ọ bụ content blocks n'usoro iche n'etiti calls, ma mee serialise JSON (tool schemas, tool arguments na results) n'otu ụzọ mgbe niile.
  • Nọgide na otu model id maka mkparịta ụka, ma zipu oku na-esote n'oge na-adịghị anya mgbe nke gara aga gasịrị.

API na-edebe mmalite mkparịta ụka kwụsiri ike n'ikpe ndị a:

  • Ozi system ma ọ bụ developer e zigara mgbe e mesịrị n'ime mkparịta ụka na-anọgide n'ọnọdụ ya. Ọ naghị agbanwe mmalite nke prompt, yabụ turns tupu ya na-anọgide n'ime cache.
  • A na-atụnyere arguments nke oku tool n'ime assistant turns gara aga site na uru. Usoro key na oghere nke JSON ahụ adịghị eme ihe.
  • Endpoints atọ ahụ na-agụ mkparịta ụka n'otu ụzọ. Mkparịta ụka e jiri n'endpoint ọzọ na-ejigide shared prefix ya mgbe ọdịnaya bụ otu.

Fields a rịọrọ

A nabatara prompt_cache_key (Chat Completions na Responses) na cache_control na Messages content blocks, n'ihi nke ahụ, koodu client dịbe anya agaghị agbanwe. Ọ bụghịkwa na ha dị mkpa: caching abụrụla automatik ma na-arụ ọrụ nke ahụ n'enweghị ha.

Field Ezigara na Ihe ọ bụ
prompt_cache_key /v1/chat/completions, /v1/responses Cache routing key nke OpenAI API.
cache_control /v1/messages Cache breakpoint n'elu content block, system block ma ọ bụ ozi nke Anthropic API.
stream_options /v1/chat/completions include_usage na-arịọ OpenAI API usage na stream. Ebe a stream ọ bụla na-agwụ na usage.

Ịgụnume tokens

Endpoints abụọ n'efu, POST /v1/tokenize na POST /v1/messages/count_tokens, na-agụ tokens nke text ma ọ bụ nke request dum maka hosted open-weight models tupu i zipu ya. Ha nwere peeji nke ha: Ịgụ tokens