Fò lọ sí àkóónú
Caching prompt

Caching prompt

ALÁDÀÁṢIṢẸ́

Awọn hosted open-weight models n cache awọn prompt prefixes ti a tun ṣe atilase ni automatic. Nigba ti request kan ba bẹrẹ pẹlu system prompt, tools ati awọn message kan naa ti o jọ mọ request kan ti o ṣẹyẹ lori model kan, a n ka shared prefix yẹn lati cache ati gba owo rẹ ni 25% ti ogo input price ti model naa. Ko si ohun ti o nilo lati enable, ati pe cache writes jẹ ọfẹ.

Bawo ni o ṣe n ṣiṣẹ

  • Prefix, ni eto — A n ka prompt naa ni eto: system prompt, tool definitions, lẹyin naa awọn message. Cache naa muu lati ibẹrẹ sequence yẹn titi own token akọkọ ti o yipada.
  • Kini n je 'hit' — Request kan ti prompt rẹ bẹrẹ pẹlu awo kan naa ti request kan ti o ṣẹyẹ — nigba pupọ, eyi jẹ itesiwaju conversation kan naa pẹlu awọn message tuntun ti a fi kun. Matching prefix yẹn jẹ cached input; ohun gbogbo lẹyin rẹ jẹ regular input.
  • Ìwọ̀n ìpín — Cache máa ń tọ́jú prompt ní àwọn block token 1,568, nítorí náà a kì í cache prompt tó kúrú ju nǹkan bí token 1,500 lọ. Iye cached nínú èsì ni iye input rẹ tí a fi ìpín prompt tí a cache sọ di púpọ̀, tí a sì yí sí ìsàlẹ̀. Kò pọn dandan kó jẹ́ ìlọ́po ìwọ̀n block náà.
  • Láìsí hit — Ìbéèrè tí ìbẹ̀rẹ̀ rẹ̀ kò sí nínú cache ni a máa ń gba owó rẹ̀ ní iye owó input déédéé. A kò kéde iye àkókò tí àwọn prompt tí a cache máa ń lò, hit kò sì dájú: ka usage láti rí ohun tí ìbéèrè kan mú láti inú cache.
  • Kò sí switch — Ìbéèrè kò nílò láti yan caching, kò sì sí field kankan tó ń pa á.
  • Awọn model wo — Gbogbo hosted open-weight id. GET /v1/models n sọ nipa capabilities.prompt_caching: true ati pricing.cached_input_per_million_usd fun wọn. Shannon models gba owo kan ṣoṣo.

Wo cache hit nínú èsì

Fi ìbéèrè méjì tó bẹ̀rẹ̀ pẹ̀lú system prompt gígùn kan náà ránṣẹ́, kí o sì tẹ usage ọ̀kọ̀ọ̀kan jáde. Nọ́ńbà àkọ́kọ́ ni input ìbéèrè náà, èkejì ni apá rẹ̀ tí a kà láti inú 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

Ìjẹ

Cached input tokens gba owo ni 25% ti ogo input rate ti model, eyiti a yipada si $0.001 fun 1M. Kiko si cache ko gba owo kankan, ati pe output gba owo gẹgẹ bi a ṣe n ṣe aṣa rẹ. Cached rate fun kọọkan id wa ninu Models & pricing table. Àwọn model àti iye owó

A máa ń gba owó input ìpè kan báyìí: (input − cached) × iye owó input + cached × iye owó cached. Iye cached kì í tóbi ju iye input lọ láé.

Model Input / 1M Input tí a cache / 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

Àkọsílẹ̀ ìlò máa ń to input tí a cache ti ìpè kọ̀ọ̀kan. Àwọn token tí a gba owó rẹ̀ àti iye owó rẹ̀ ti ní iye owó cached nínú tẹ́lẹ̀. Àwọn key àti ìlò

Àwọn oko ìlò

Endpoint Input tí a cache Ìrònú
/v1/chat/completions usage.prompt_tokens_details.cached_tokens — apa ti prompt_tokens usage.completion_tokens_details.reasoning_tokens — apa ti completion_tokens
/v1/responses usage.input_tokens_details.cached_tokens — apa ti input_tokens usage.output_tokens_details.reasoning_tokens — apa ti output_tokens
/v1/messages usage.cache_read_input_tokens — a sọ yato: input_tokens ni apa ti ko ni cache; cache_creation_input_tokens nigbagbogbo jẹ 0 a n ka thinking ninu output_tokens
{
  "usage": {
    "prompt_tokens": 20000,
    "completion_tokens": 812,
    "total_tokens": 20812,
    "prompt_tokens_details": {
      "cached_tokens": 18000
    },
    "completion_tokens_details": {
      "reasoning_tokens": 604
    }
  }
}

Èsì tí a fi streaming ránṣẹ́ máa ń gbé àwọn field kan náà nínú usage ìkẹyìn rẹ̀. O kò ní láti béèrè fún un:

Endpoint Ibi tí usage ti ń dé
/v1/chat/completions usage lórí chunk tó kẹ́yìn ṣáájú data: [DONE]. A máa ń fi ránṣẹ́ lórí gbogbo stream.
/v1/responses response.usage ti event response.completed.
/v1/messages usage ti event message_delta. usage ti message_start ní àwọn òdo nínú.

Bawo ni a ṣe le ni cache hits si iwe

  • Jẹ ki system prompt ati tool definitions dudu-dudu (stable) lakosi awọn calls. Fi awọn iye ti o yipada fun kọọkan call gẹgẹ bi timestamps tabi request ids si opin message tokun, kii ṣe ninu system prompt.
  • Kun kun itan (history) nikan. Titun, kika, tabi ṣiṣẹ summary awọn turns ti o ṣẹyẹ n yipada prefix, ati pe ohun gbogbo lẹyin iyipada akọkọ yẹn gba owo gẹgẹ bi regular input.
  • Ma ṣe yiyipada eto awọn tools, messages tabi content blocks larin awọn calls, ki o si serialise JSON (tool schemas, tool arguments ati results) lona kan nigbagbogbo.
  • Dúró lórí id model kan fún ìjíròrò kan, kí o sì fi ìpè tó tẹ̀lé e ránṣẹ́ láìpẹ́ lẹ́yìn èyí tó ṣáájú rẹ̀.

API náà máa ń mú ìbẹ̀rẹ̀ ìjíròrò dúró ṣinṣin nínú àwọn ọ̀ràn wọ̀nyí:

  • Ìfiránṣẹ́ system tàbí developer tí a fi ránṣẹ́ nígbà tó yá nínú ìjíròrò máa ń dúró sí ipò rẹ̀. Kì í yí ìbẹ̀rẹ̀ prompt padà, nítorí náà àwọn turn tó ṣáájú rẹ̀ ṣì wà nínú cache.
  • A máa ń fi iye ṣe àfiwé àwọn argument ìpè tool nínú àwọn turn assistant àtẹ̀yìnwá. Ìtòlẹ́sẹẹsẹ key àti àlàfo inú JSON yẹn kò ṣe pàtàkì.
  • Endpoint mẹ́tẹ̀ẹ̀ta máa ń ka ìjíròrò lọ́nà kan náà. Ìjíròrò tí a tẹ̀síwájú lórí endpoint mìíràn máa ń pa prefix tó jọ ní mọ́ nígbà tí àkóónú bá jẹ́ ọ̀kan náà.

Àwọn field ìbéèrè

prompt_cache_key (Chat Completions ati Responses) ati cache_control lórí content blocks Messages a gba, nitori eyi jẹ ki kódù client tó wà ríun ṣiṣẹ́ láìyípadà. Kòtó kankan kò nílò: caching jẹ automatic ati o ṣiṣẹ́ bẹ́ẹ̀ lọ láìsí wọn.

Field A fi ránṣẹ́ sí Ohun tó jẹ́
prompt_cache_key /v1/chat/completions, /v1/responses Cache routing key ti OpenAI API.
cache_control /v1/messages Cache breakpoint lórí content block, block system tàbí ìfiránṣẹ́ ti Anthropic API.
stream_options /v1/chat/completions include_usage ń béèrè usage lórí stream lọ́wọ́ OpenAI API. Níbí, gbogbo stream ló ń parí pẹ̀lú usage.

Ìṣírò tokens

Endpoint ọ̀fẹ́ méjì, POST /v1/tokenize àti POST /v1/messages/count_tokens, máa ń ka àwọn token inú text kan tàbí inú odindi ìbéèrè kan fún àwọn model open-weight tí a gbàlejò kí o tó fi ránṣẹ́. Wọ́n ní ojú-ìwé tiwọn: Kíka token