Preskoči na vsebino
Predpomaganje promptov

Predpomaganje promptov

AVTOMATIČNO

Gostovani modeli z odprtimi utežmi avtomatično predpomagajo ponovljene predpomage promptov. Ko zahtevek začne z istim sistemskim promptom, orodji in predhodnimi sporočili kot nedavni zahtevek na istem modelu, se ta skupni predpomag prebere iz predpomage in obračuna po 25 % vhodne cene modela. Nič dejavno aktivirati, zapisovanje v predpomago pa je brezplačno.

Kako deluje

  • Predpomag, po vrstnem redu — Prompt se bere po vrstnem redu: sistemski prompt, definicije orodij, nato sporočila. Predpomaga se ujemlja od začetka te zaporednosti do prvega tokenja, ki se razlikuje.
  • Kaj velja za zadetek — Zahtevek, katerega prompt se začne z enakim vsebovim kot nedavni zahtevek — običajno prejšnji obrat istega pogovora z dodanimi novimi sporočili. Ujemani predpomag je predpomagan vhod; vse po tem je običajen vhod.
  • Granularnost — Predpomnilnik hrani prompt v blokih po 1,568 tokenov, zato se prompt, krajši od približno 1,500 tokenov, ne predpomni. Število predpomnjenih v odgovoru je vaše število vhodnih, pomnoženo z deležem predpomnjenega dela prompta, zaokroženo navzdol. Ni nujno večkratnik velikosti bloka.
  • Brez zadetka — Zahtevek, katerega začetka ni v predpomnilniku, se obračuna po običajni vhodni ceni. Za predpomnjene prompte ni objavljena življenjska doba in zadetek ni zagotovljen: preberite usage, da vidite, kaj je zahtevek vzel iz predpomnilnika.
  • Brez stikala — Zahtevek se ne prijavi posebej in nobeno polje ne izklopi predpomnjenja.
  • Kateri modeli — Vsak gostovani ID z odprtimi utežmi. GET /v1/models za njih riportira capabilities.prompt_caching: true in pricing.cached_input_per_million_usd. Shannon modeli obračunavajo eno fiksno tarifo.

Poglejte zadetek predpomnilnika v odgovoru

Pošljite dva zahtevka, ki se začneta z istim dolgim sistemskim promptom, in izpišite porabo vsakega. Prvo število je vhod zahtevka, drugo je del vhoda, prebran iz predpomnilnika.

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

Cenik

Tokeni predpomaganega vhoda se obračunavajo po 25 % vhodne tarife modela, zaokroženo na $0,001 na 1M. Zapisovanje v predpomago ne stane nič dodatnega, izhod pa se obračunava kot običajno. Predpomagana tarifa za vsak ID je v tabeli Modeli in cenovnik. Modeli in cene

Vhod klica se obračuna kot (vhod − predpomnjeno) × vhodna cena + predpomnjeno × cena predpomnjenega. Število predpomnjenih nikoli ni večje od števila vhodnih.

Model Vhod / 1M Predpomnjeni vhod / 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

Dnevnik porabe navaja predpomnjeni vhod vsakega klica. Obračunani tokeni in strošek že vključujejo ceno predpomnjenega. Ključi in poraba

Polja uporabe

Končni točka (Endpoint) Predpomagan vhod Razmisljevanje
/v1/chat/completions usage.prompt_tokens_details.cached_tokens — del prompt_tokens usage.completion_tokens_details.reasoning_tokens — del completion_tokens
/v1/responses usage.input_tokens_details.cached_tokens — del input_tokens usage.output_tokens_details.reasoning_tokens — del output_tokens
/v1/messages usage.cache_read_input_tokens — riportirano posebej: input_tokens je nedel predpomagan; cache_creation_input_tokens je vedno 0 razmisljevanje se šteje v output_tokens
{
  "usage": {
    "prompt_tokens": 20000,
    "completion_tokens": 812,
    "total_tokens": 20812,
    "prompt_tokens_details": {
      "cached_tokens": 18000
    },
    "completion_tokens_details": {
      "reasoning_tokens": 604
    }
  }
}

Pretočni odgovor v končni porabi nosi ista polja. Zanje vam ni treba zaprositi:

Končni točka (Endpoint) Kje prispe poraba
/v1/chat/completions usage na zadnjem kosu pred data: [DONE]. Pošlje se v vsakem toku.
/v1/responses response.usage dogodka response.completed.
/v1/messages usage dogodka message_delta. usage v message_start vsebuje ničle.

Kako doseči več zadetkov v predpomagi

  • Poskrbite, da so sistemski prompt in definicije orodij byte-za-byte stabilni med klici. Vrednosti, ki se spreminjajo pri vsakem klicu (npr. časovni žigi ali ID-ji zahtevkov), postavite na konec zadnjega sporočila, ne v sistemski prompt.
  • Z zgodovino samo dopolnjujte. Urejanje, krajšanje ali povzetje predhodnih obratov spremeni predpomag, vse po prvi spremembi pa se obračuna kot običajen vhod.
  • Med klici ne spreminjajte vrstnega reda orodij, sporočil ali blokov vsebine ter JSON (sheme orodij, argumenti in rezultati) vedno serializirajte na isti način.
  • Med pogovorom ostanite pri enem id-ju modela in nadaljnji klic pošljite kmalu po prejšnjem.

API ohranja začetek pogovora stabilen v teh primerih:

  • Sporočilo system ali developer, poslano pozneje v pogovoru, ostane na svojem mestu. Ne spremeni začetka prompta, zato predhodni obrati ostanejo predpomnjeni.
  • Argumenti klicev orodij v prejšnjih obratih pomočnika se primerjajo po vrednosti. Vrstni red ključev in presledki v tem JSON-u niso pomembni.
  • Vsi trije endpointi pogovor preberejo enako. Pogovor, nadaljevan na drugem endpointu, obdrži skupni začetek, če je vsebina enaka.

Polja za zahtev

Podprta sta prompt_cache_key (za Chat Completions in Responses) ter cache_control za vsebinski blok Messages, zato obstoječa koda naročnikov deluje brez sprememb. Nobeno od tega ni obvezno: pomilgevanje je avtomatizirano in deluje enakoleto tudi brez njih.

Polje Poslano na Kaj je
prompt_cache_key /v1/chat/completions, /v1/responses Ključ usmerjanja predpomnilnika API-ja OpenAI.
cache_control /v1/messages Prelomna točka predpomnilnika na bloku vsebine, bloku system ali sporočilu API-ja Anthropic.
stream_options /v1/chat/completions include_usage pri API-ju OpenAI zahteva porabo v toku. Tukaj se vsak tok konča s porabo.

Števanje tokenjev

Dva brezplačna endpointa, POST /v1/tokenize in POST /v1/messages/count_tokens, preštejeta tokene besedila ali celotnega zahtevka za gostovane modele z odprtimi utežmi, preden ga pošljete. Imata svojo stran: Štetje tokenov