Мазмунга өтүү
Промпт-кэштөө

Промпт-кэштөө

АВТОМАТТЫК

Хостингдик ачык-салмактуу моделдер кайраланган промпт-префикстерди автоматтык түрдө кэштешет. Эгерде суроо-талап бир моделдеги акыркы суроо-талап сыяктуу эле системалык промпт, куралдар жана мурунку билдирүүлөр менен башталса, ал жалпы префикс кэштен окулат жана моделдин кириш баасынын 25% акысында эсептелет. Эч нерсени активдештирүү керек эмес, ал эми кэшке жазуу акысыз.

Кантип иштейт

  • Префикс, ирети менен — Промпт төмөнкү иретте окулат: системалык промпт, куралдардын аныктамалары, андан кийин билдирүүлөр. Кэш ушул ырааттуулуктун башынан баштап, биринчи айırma токенге чейин дал келет.
  • Эмне «hit» деп эсептелет — Промпту акыркы суроо-талап менен бирдей мазмундан башталган суроо-талап — адатта, жаңы билдирүүлөр кошулган бир эле конверсациянын мурунку кадамы. Дал келген префикс кэштелген кириш болуп саналат; андан кийинки бардыгы кадимки кириш болуп эсептелет.
  • Гранулярдуулук — Кэш промптту 1,568 токендик блоктор менен сактайт, ошондуктан болжол менен 1,500 токенден кыска промпт кэштелбейт. Жоопто кэштелген сан — кириш санынызды промптун кэштелген үлүшүнө көбөйтүп, төмөн тегеректеген маани. Ал блок өлчөмүнө көптүк болушу шарт эмес.
  • Тийүүсүз — Башталышы кэште жок сурам кадимки кириш баасы боюнча эсептелет. Кэштелген промпттордун жашоо мөөнөтү жарыяланбайт жана тийүү кепилденбейт: сурам кэштен эмне алганын көрүү үчүн usage'ти окуңуз.
  • Өчүргүч жок — Сурам кошулбайт жана кэштөөнү өчүргөн талаа жок.
  • Кайсы моделдер — Ар бир хостингдик ачык-салмактуу ID. GET /v1/models алар үчүн capabilities.prompt_caching: true жана pricing.cached_input_per_million_usd бааларын берет. Shannon моделдери бирдиктүү тарифти колдонот.

Жоопто кэшке тийүүнү көрүү

Бир эле узун система промпту менен башталган эки сурам жөнөтүп, ар биринин 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% акысында, 1М үчүн $0.001 чейин тегеректелген баада эсептелет. Кэшке жазуу кошумча каражатты талап кылбайт, ал эми чыгыш адаттагыдай эсептелет. Ар бир ID-нин кэштелген тарифи «Моделдер жана баалар» таблицасында көрсөтүлгөн. Моделдер жана баалар

Чалуунун кириши (кириш − кэштелген) × кириш баасы + кэштелген × кэштелген баа боюнча эсептелет. Кэштелген сан кириш санынан эч качан чоң болбойт.

Модель Кириш / 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 журналы ар бир чалуунун кэштелген киришин көрсөтөт. Андагы эсептелген токендер жана баа кэштелген баа менен эсептелген. Ачкычтар жана колдонуу

Колдонуу талаалары

Эндпоинт Кэштелген кириш Шыйрактоо (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
    }
  }
}

Стрим жооп акыркы usage'инде ошол эле талааларды алып жүрөт. Аны суроонун кереги жок:

Эндпоинт Usage кайда келет
/v1/chat/completions data: [DONE]'дан мурунку акыркы чанктагы usage. Ал ар бир стримде жөнөтүлөт.
/v1/responses response.completed окуясынын response.usage'и.
/v1/messages message_delta окуясынын usage'и. message_start usage'инде нөлдөр бар.

Кэш hit-терин көбөйтүү

  • Системалык промпт жана куралдардын аныктамаларын чалуулар аралында байт-байт туруктуу сактаңыз. Убакыт белгилери же суроо-талап ID-лери сыяктуу ар бир чалууга тиешелүү маалыматтарды системалык промптко эмес, акыркы билдирүүнүн аягына жайгаштырыңыз.
  • Тарыхка маалыматты-гана кошуңуз. Мурунку кадамдарды түзөтүү, кыскартуу же жалпылоо префиксти өзгөртөт, натыйжада биринчи өзгөртүүдөн кийинки бардык нерсе кадимки кириш катары эсептелет.
  • Чалуулар аралында куралдардын, билдирүүлөрдүн же мазмун блокторунун иретин өзгөртпөңүз жана JSON (курал схемалары, курал аргументтери жана жыйна-токтору) маалыматтарын ар дайым бирдей форматта сериялдаңыз.
  • Сүйлөшүү үчүн бир модель id'синде калыңыз жана улантуу чалуусун мурункудан кийин көп өтпөй жөнөтүңүз.

API сүйлөшүүнүн башталышын төмөнкү учурларда туруктуу кармайт:

  • Сүйлөшүүдө кийинчерээк жөнөтүлгөн system же developer билдирүүсү өз ордунда калат. Ал промптун башталышын өзгөртпөйт, ошондуктан андан мурунку кезектер кэштелип калат.
  • Мурунку assistant кезектериндеги курал чалууларынын аргументтери мааниси боюнча салыштырылат. Ал JSON'дун ачкыч тартиби жана боштуктары мааниге ээ эмес.
  • Үч endpoint сүйлөшүүнү бирдей окуйт. Башка endpoint'те уланган сүйлөшүү, мазмуну бирдей болсо, жалпы префиксин сактайт.

Сурам талаалары

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

Талаа Кайда жөнөтүлөт Бул эмне
prompt_cache_key /v1/chat/completions, /v1/responses OpenAI API'нин кэш багыттоо ачкычы.
cache_control /v1/messages Anthropic API'нин мазмун блогундагы, system блогундагы же билдирүүсүндөгү кэш бөлүштүрүү чекити.
stream_options /v1/chat/completions include_usage OpenAI API'ден стримде usage суроо үчүн. Бул жерде ар бир стрим usage менен аяктайт.

Токендерди эсептөө

Эки акысыз endpoint, POST /v1/tokenize жана POST /v1/messages/count_tokens, хостингдеги ачык салмактуу моделдер үчүн тексттин же бүтүн сурамдын токендерин аны жөнөтпөстөн мурун санайт. Алардын өз бети бар: Токен саноо