Агуулга руу алгасах
Prompt кэшлэл

Prompt кэшлэл

АВТОМАТ

Hosted open-weight загварууд давтагдсан prompt prefix-ийг автоматаар кэшлэх боломжтой. Хэрэв хүсэлт нь сүүлийн үеийн ижил загварын system prompt, tools болон өмнөх мессежүүдээр эхэлж байвал, тухайн хуваагдсан prefix-ийг кэшээс уншиж, загварын оролтын үнийн 25%-иар тооцож нэрийн төлбөр авна. Идэвхжүүлэх тохиргоо шаардлагагүй бөгөөд кэш бичих үйлдэл үнэгүй юм.

Хэрхэн ажиллах вэ

  • Дараалсан prefix — Prompt-ийг дарааллын дагуу уншина: system prompt, tool definitions, дараа нь мессежүүд. Кэш нь тухайн дарааллын эхнээс эхлээд хамгийн эхний зөрүүтэй токен хүртэл таарч буй хэсгийг тооцно.
  • Юуг 'hit' гэж үзэх вэ — Сүүлийн үеийн хүсэлттэй ижил агуулгаар эхэлсэн prompt-ийг хит гэж үзнэ — ихэвчлэн шинэ мессеж нэмэгдсэн нэгэн хаConversation-ий өмнөх ээлж байдаг. Таарсан prefix нь кэшлэгдсэн оролт бөгөөд үүний дараах бүх зүйл нь ердийн оролт болно.
  • Нарийвчлал — Кэш prompt-ийг 1,568 токены блокоор хадгалдаг тул ойролцоогоор 1,500 токеноос богино prompt кэшлэгдэхгүй. Хариулт дахь кэшлэгдсэн тоо нь таны оролтын тоог prompt-ийн кэшлэгдсэн хувиар үржүүлээд доош бөөрөнхийлсөн утга. Энэ нь блокийн хэмжээний үржвэр байх албагүй.
  • Hit-гүй үед — Эхлэл нь кэшэнд байхгүй хүсэлтийг ердийн оролтын үнээр тооцно. Кэшлэгдсэн prompt-ийн хадгалах хугацааг мэдээлдэггүй бөгөөд hit баталгаагүй: хүсэлт кэшээс юу авснаа usage-аас уншина уу.
  • Унтраалга байхгүй — Хүсэлт нь идэвхжүүлэх шаардлагагүй бөгөөд кэшлэлийг унтраах талбар байхгүй.
  • Аль загварууд — Бүх hosted open-weight ID-ууд. GET /v1/models хүсэлт нь capabilities.prompt_caching: true болон pricing.cached_input_per_million_usd утгыг харуулна. Shannon загварууд нэгдсэн харьцаагаар тооцогдоно.

Хариултаас кэш hit харах

Ижил урт system prompt-оор эхэлсэн хоёр хүсэлт илгээж, тус бүрийн usage-ийг хэвлэнэ үү. Эхний тоо нь хүсэлтийн оролт, хоёр дахь нь түүнээс кэшээс уншсан хэсэг.

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

Үнийн тариф

Кэшлэгдсэн оролтын токенууд нь загварын оролтын тарифийн 25%-иар, 1M-д $0.001-ийг бүлбэртгэж тооцогдоно. Кэш рүү бичихэд нэмэлт төлбөргүй, гаралт нь ердийнхээр тооцогдоно. ID бүрийн кэш тариф 'Models & pricing' хүснэгтэд байна. Загвар ба үнэ

Дуудлагын оролтыг (оролт − кэшлэгдсэн) × оролтын үнэ + кэшлэгдсэн × кэшийн үнэ гэж тооцно. Кэшлэгдсэн тоо оролтын тооноос хэзээ ч их байхгүй.

Загвар Оролт / 1M Кэшлэгдсэн оролт / 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 лог нь дуудлага бүрийн кэшлэгдсэн оролтыг жагсаана. Тооцогдсон токен болон өртөг нь кэшийн үнийг аль хэдийн агуулсан. Түлхүүр ба хэрэглээ

Ашиглалтын талбарууд

Endpoint Кэшлэгдсэн оролт Reasoning
/v1/chat/completions usage.prompt_tokens_details.cached_tokens — prompt_tokens-ийн хэсэг usage.completion_tokens_details.reasoning_tokens — completion_tokens-ийн хэсэг
/v1/responses usage.input_tokens_details.cached_tokens — input_tokens-ийн хэсэг usage.output_tokens_details.reasoning_tokens — output_tokens-ийн хэсэг
/v1/messages usage.cache_read_input_tokens — тусдаа тайлагдсан: input_tokens нь кэшлэгдээгүй хэсэг; cache_creation_input_tokens нь үргэлж 0 байна thinking-ийг output_tokens-д тооцно
{
  "usage": {
    "prompt_tokens": 20000,
    "completion_tokens": 812,
    "total_tokens": 20812,
    "prompt_tokens_details": {
      "cached_tokens": 18000
    },
    "completion_tokens_details": {
      "reasoning_tokens": 604
    }
  }
}

Stream хариулт эцсийн usage-даа ижил талбаруудыг агуулна. Үүнийг хүсэх шаардлагагүй:

Endpoint Usage хаана ирэх
/v1/chat/completions data: [DONE]-ийн өмнөх сүүлийн chunk дээрх usage. Stream бүр дээр илгээгдэнэ.
/v1/responses response.completed event-ийн response.usage.
/v1/messages message_delta event-ийн usage. message_start-ийн usage тэг агуулна.

Кэш hit-ийг нэмэгдүүлэх

  • Дуудлагуудын хооронд system prompt болон tool definitions-ийг байт-байтаар тогтвортой байлгаарай. Цаг хугацаа эсвэл request id зэрэг дуудлага бүрт өөрчлөгдөх утгуудыг system prompt-д биш, сүүлийн мессежийн төгсгөлд байршуулаарай.
  • Түүхэнд зөвхөн нэмэлт (append) хийгээрэй. Өмнөх ээлжүүдийг засах, тайрах эсвэл хураанBackspace хийх нь prefix-ийг өөрчилж, эхний өөрчлөлтөөс хойшх бүх зүйл ердийн оролтын тарифаар тооцогдоно.
  • Дуудлагуудын хооронд tools, мессеж эсвэл content block-уудын дарааллыг бүү өөрчилж, JSON (tool schemas, tool arguments болон results)-ийг удаа own ижилхэн хэлбэрээр сериалчлаарай.
  • Нэг харилцан ярианд нэг загварын id-д үлдэж, дараагийн дуудлагыг өмнөхийнхөөс удалгүй илгээнэ үү.

API дараах тохиолдолд харилцан ярианы эхлэлийг тогтвортой байлгадаг:

  • Харилцан ярианд хожим илгээсэн system эсвэл developer мессеж байрандаа үлдэнэ. Энэ нь prompt-ийн эхлэлийг өөрчлөхгүй тул өмнөх ээлжүүд кэшлэгдсэн хэвээр байна.
  • Өмнөх assistant ээлж дэх tool дуудлагын аргументуудыг утгаар нь харьцуулна. Тэр JSON-ийн түлхүүрийн дараалал, хоосон зай нөлөөлөхгүй.
  • Гурван endpoint харилцан яриаг ижил аргаар уншдаг. Өөр endpoint дээр үргэлжилсэн харилцан яриа агуулга нь ижил бол нийтлэг prefix-ээ хадгална.

Захиалтын талбарууд

prompt_cache_key (Chat Completions болон Responses) болон Messages-ийн агуулгын block-ууд дээрх cache_control-ыг хүлээн авдаг тул одоогийн клиент код өөрчлөлтгүй ажиллана. Эдгээр нь заавал шаардлагагүй: кэшлэх үйлдэл автоматаар явагдаж, тэдгээргүйгээр ч ижилхэн ажиллана.

Талбар Хаашаа илгээх Энэ юу вэ
prompt_cache_key /v1/chat/completions, /v1/responses OpenAI API-ийн кэш чиглүүлэх түлхүүр.
cache_control /v1/messages Anthropic API-ийн content блок, system блок эсвэл мессеж дээрх кэшийн таслах цэг.
stream_options /v1/chat/completions include_usage нь OpenAI API-аас stream дээр usage хүсдэг. Энд stream бүр usage-ээр төгсдөг.

Токен тоолох

Хоёр үнэгүй endpoint, POST /v1/tokenize ба POST /v1/messages/count_tokens нь hosted open-weight загваруудад текст эсвэл бүтэн хүсэлтийн токеныг илгээхээс өмнө тоолно. Тэдгээр өөрийн хуудастай: Токен тоолох