[{"data":1,"prerenderedAt":580},["ShallowReactive",2],{"blog-semantic-caching-llm-responses-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":48,"og":49,"expertise":50,"locales":51,"lang":54,"title":55,"description":56,"coverAlt":57,"metaTitle":58,"takeaways":59,"faq":65,"toc":81,"blocks":106,"others":342},"semantic-caching-llm-responses","2026-10-16",6,"llmops",[9,10,11,12,13],"Semantic cache","LLM cost","Latency","Embeddings","Redis",[15,16,17,18,19,20,21,22,23,24],"semantic caching llm","semantic cache","llm response cache","gptcache","semantic cache similarity threshold","prompt caching vs semantic caching","reduce llm api cost","cache llm answers redis","semantic cache false positive","llm cache invalidation",[26,29,32],{"name":27,"url":28},"Cache (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCache_(computing)",{"name":30,"url":31},"Sentence embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSentence_embedding",{"name":33,"url":34},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[36,39,42,45],{"title":37,"url":38},"Regmi and Pun: GPT Semantic Cache: Reducing LLM Costs and Latency via Semantic Embedding Caching (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.05276",{"title":40,"url":41},"Zilliz: GPTCache README (modules, similarity evaluation, eviction)","https:\u002F\u002Fgithub.com\u002Fzilliztech\u002FGPTCache",{"title":43,"url":44},"Claude Platform Docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching",{"title":46,"url":47},"pgvector README: vector types and indexes","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector","\u002Fimages\u002Fblog\u002Fsemantic-caching-llm-responses\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemantic-caching-llm-responses\u002Fog.jpg","ai-engineer",[52,53,54],"en","de","hu","Szemantikus gyorsítótár LLM-alkalmazásokhoz: mikor biztonságos újrahasznosítani a válaszokat, és mikor nem","Hogyan használják újra a szemantikus cache-ek az LLM-válaszokat hasonló kérdésekre, miben mások, mint a prompt caching, és hogyan kerüld el a téves találatokat.","Négy csaknem azonos, átfedő kártya széles körben, rövid nyíl mutat egy körön kívüli kártyára.","Szemantikus cache LLM-alkalmazásokhoz · Balázs Csorba",[60,61,62,63,64],"A prompt caching a szolgáltatónál egy azonos előtagot használ újra, és sosem változtatja meg a választ; a szemantikus cache egy hasonló kérdésre tárolt választ ad vissza.","Egy közzétett, ügyfélszolgálati jellegű teszten a szemantikus cache akár 68,8%-kal csökkentette az API-hívásokat, 97% feletti helyes találati aránnyal.","A hasonlósági küszöb termékdöntés: olyan címkézett kérdéspárokból állítsd be, amelyeknek ugyanazt a választ kell kapniuk, illetve nem kaphatják.","A cache-kulcsokat bérlő, felhasználó, nyelv és adatverzió szerint válaszd szét, különben egy ügyfél egy másik ügyfél válaszát kaphatja.","Csak olyan válaszokat cache-elj, amelyek nem függnek friss adattól vagy személyes kontextustól, és minden bejegyzésnek legyen TTL-je és érvénytelenítési útja.",[66,69,72,75,78],{"q":67,"a":68},"Mi a különbség a prompt caching és a szemantikus cache között?","A prompt caching szolgáltatói funkció, amely a prompt feldolgozott előtagját használja újra, ha az pontosan azonos; a modell ettől még új választ generál. A szemantikus cache saját réteg, amely egy korábban generált választ ad vissza, ha az új kérdés elég hasonló egy tárolthoz, és így teljesen megspórolja a modellhívást.",{"q":70,"a":71},"Mennyit spórolhat egy szemantikus cache?","Attól függ, mennyire ismétlődő a forgalom. A GPT Semantic Cache tanulmány ismétlődő, ügyfélszolgálati jellegű kérdéseknél akár 68,8%-kal kevesebb API-hívásról, 61,6–68,8%-os találati arányról és 97% feletti helyes találatról számol be. A nyílt végű chat sokkal kevesebb találatot hoz.",{"q":73,"a":74},"Milyen hasonlósági küszöböt használjak?","Nincs univerzális szám; az embedding-modelltől és a szakterülettől függ. Gyűjts valódi kérdéspárokat, címkézd őket azonos vagy eltérő válaszként, és azt a küszöböt válaszd, amelynél ezen a készleten a téves találatok közel nullák maradnak.",{"q":76,"a":77},"Biztonságos a szemantikus cache személyes adatokkal?","Csak ha a bejegyzések ahhoz a felhasználóhoz vagy bérlőhöz vannak kötve, akié, és a személyes adatot tartalmazó válaszokat kizárod vagy felhasználónként cache-eled. Egy elválasztás nélküli közös cache kiszivárogtathatja az egyik felhasználó válaszát a másiknak.",{"q":79,"a":80},"Mikor ne használjak szemantikus cache-t?","Ha a válasz élő adattól függ, például készlettől, áraktól vagy rendelési állapottól, az eddigi beszélgetéstől vagy a felhasználó jogosultságaitól. Ilyenkor a drága részeket cache-eld, például a visszakeresési eredményeket vagy az eszközkimeneteket, ne a végső választ.",[82,85,88,91,94,97,100,103],{"id":83,"title":84},"prompt-vs-semantic-caching","Miben különbözik a szemantikus cache a prompt cachingtől?",{"id":86,"title":87},"how-it-works","Hogyan működik a szemantikus cache?",{"id":89,"title":90},"how-much-it-saves","Mennyit spórol a szemantikus cache?",{"id":92,"title":93},"choosing-the-threshold","Hogyan válaszd ki a hasonlósági küszöböt?",{"id":95,"title":96},"scope-and-privacy","Hogyan akadályozd meg, hogy a szemantikus cache adatot szivárogtasson?",{"id":98,"title":99},"invalidation","Hogyan járjanak le és érvénytelenedjenek a tárolt válaszok?",{"id":101,"title":102},"measure-it","Mit kell monitorozni?",{"id":104,"title":105},"sources","Források",[107,111,114,117,155,169,170,176,188,191,192,199,202,203,222,233,236,237,244,267,275,282,283,291,292,319,327,328],{"type":108,"content":109},"paragraph",[110],"Az ügyfélszolgálati asszisztensek és a GYIK-botok újra és újra ugyanazokra a kérdésekre válaszolnak: hogyan állítom vissza a jelszavam, hol a számlám, mennyi a szállítási idő. Mindegyik kérdés egy modellhívásba kerül. A szemantikus cache az első alkalommal eltárolja a választ, és visszaadja, ha egy későbbi kérdés ugyanazt jelenti, még ha másképp is fogalmazták. Jól megcsinálva a hívások nagy része elmarad, és a válasz ezredmásodpercek alatt megérkezik. Hanyagul megcsinálva magabiztos válaszokat ad olyan kérdésekre, amelyeket senki sem tett fel.",{"type":108,"content":112},[113],"A cikk szétválasztja a szemantikus cache-t a szolgáltatói prompt cachingtől, bemutatja az architektúrát, és idejének nagy részét azokra a részekre szánja, amelyeken a biztonság múlik: a küszöbre, a cache hatókörére, arra, mit ne cache-elj, és az érvénytelenítésre.",{"type":115,"level":116,"id":83,"text":84},"heading",2,{"type":118,"head":119,"rows":126},"table",[120,122,124],[121],"Szempont",[123],"Prompt caching (szolgáltató)",[125],"Szemantikus cache (saját)",[127,134,141,148],[128,130,132],[129],"Egyezés",[131],"Pontosan azonos előtag",[133],"Hasonló jelentés egy küszöb felett",[135,137,139],[136],"Mit használ újra",[138],"Feldolgozott bemeneti tokenek",[140],"A teljes tárolt válasz",[142,144,146],[143],"Fut-e a modell",[145],"Igen, a válasz újonnan generálódik",[147],"Találatnál nem",[149,151,153],[150],"Rossz válasz kockázata",[152],"A cache miatt nincs",[154],"Igen, téves találatnál",{"type":108,"content":156},[157,158,162,163,168],"A Claude ",{"tag":159,"href":44,"children":160},"a",[161],"prompt caching"," dokumentációja egyértelmű: a találathoz 100%-ban azonos promptszakaszok kellenek, és a cache nincs hatással a kimenet generálására. Ez eleve biztonságos, és ezt érdemes először bekapcsolni; erről a ",{"tag":164,"to":165,"children":166},"link","\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing",[167],"prompt caching és modellirányítás"," cikkben írtam. A szemantikus cache a modell előtt ül, és más jellegű döntés, mert azt változtatja meg, mit kap a felhasználó.",{"type":115,"level":116,"id":86,"text":87},{"type":171,"src":172,"alt":173,"wide":174,"caption":175},"image","\u002Fimages\u002Fblog\u002Fsemantic-caching-llm-responses\u002Fdiagram-6.webp","Szemantikus cache keresés A kérdést normalizáljuk és embeddeljük, egy vektorkeresés megkeresi a legközelebbi tárolt kérdést ugyanazon a hatókörön belül, és ha a hasonlóság eléri a küszöböt, visszaadjuk a tárolt választ; különben meghívjuk a modellt, és az új választ TTL-lel eltároljuk.",true,"Találat hiányában a modell válaszol, az eredmény visszaíródik, így a cache valós forgalomból töltődik fel.",{"type":108,"content":177},[178,179,182,183,187],"Az olyan könyvtárak, mint a ",{"tag":159,"href":41,"children":180},[181],"GPTCache",", ezt embedding-generátorra, a válaszok tárolójára, a kérdések vektortárára és egy hasonlóság-értékelőre bontják, amely eldönti, hogy egy jelölt egyezik-e. Könyvtár nem feltétlenül kell hozzá: egy embedding-tábla vektorindexszel Postgresben, például ",{"tag":164,"to":184,"children":185},"\u002Fblog\u002Fpgvector",[186],"pgvector",", és húsz sor kód elég.",{"type":189,"code":190},"code","# Illustrative semantic cache on Postgres + pgvector\ndef cached_answer(question: str, scope: dict) -> str:\n    q = normalize(question)\n    vec = embed(q)                                       # same model for writes and reads\n    row = db.fetchone(\"\"\"\n        SELECT answer, 1 - (embedding \u003C=> %(v)s) AS sim\n        FROM answer_cache\n        WHERE tenant = %(tenant)s AND lang = %(lang)s AND data_version = %(ver)s\n          AND expires_at > now()\n        ORDER BY embedding \u003C=> %(v)s LIMIT 1\"\"\", {\"v\": vec, **scope})\n    if row and row.sim >= THRESHOLD:\n        metrics.hit(row.sim)\n        return row.answer\n    answer = call_model(question, scope)\n    if cacheable(question, answer):\n        db.execute(\"INSERT INTO answer_cache (...) VALUES (...)\")   # with expires_at = now() + ttl\n    return answer\n",{"type":115,"level":116,"id":89,"text":90},{"type":108,"content":193},[194,195,198],"A ",{"tag":159,"href":38,"children":196},[197],"GPT Semantic Cache tanulmány"," Redisben tárolta a lekérdezések embeddingjeit, és ismétlődő, ügyfélszolgálati jellegű kérdéseken tesztelt. Akár 68,8%-kal kevesebb API-hívásról, kategóriától függően 61,6% és 68,8% közötti találati arányról és 97% feletti helyes találatról – azaz helyes választ adó találatról – számol be. Ezek a számok szándékosan ismétlődő forgalomból származnak. Egy termék-GYIK ilyen; egy nyílt végű asszisztens vagy egy kódolóeszköz nem, és a találatok töredékét fogja látni.",{"type":108,"content":200},[201],"Mielőtt bármit építenél, mérd meg: naplózz egy hétnyi kérdést, embeddeld őket, és számold meg, hánynak van olyan közeli szomszédja, amelyet egy ember ugyanannak a kérdésnek fogadna el. Ez a szám a plafon.",{"type":115,"level":116,"id":92,"text":93},{"type":108,"content":204},[205,206,210,211,214,215,210,218,221],"Az embedding-hasonlóság a témát méri, nem a szándékot. A ",{"tag":207,"children":208},"em",[209],"Hogyan mondhatom le a rendelésemet?"," és a ",{"tag":207,"children":212},[213],"Hogyan mondhatom le az előfizetésemet?"," a vektortérben nagyon közel van, mégis más választ igényel. A ",{"tag":207,"children":216},[217],"Visszaküldhetem a kibontott terméket?",{"tag":207,"children":219},[220],"Visszaküldhetem a bontatlan terméket?"," egyetlen szóelemben tér el, és ellentétes a válaszuk. Egy átlagos hasonlóságra hangolt küszöb boldogan kiszolgálja az egyiket a másik helyett.",{"type":223,"ordered":174,"items":224},"list",[225,227,229,231],[226],"Gyűjts néhány száz valódi kérdéspárt, és mindegyiket címkézd: azonos vagy eltérő válasz. A trükkös negatív példákat szándékosan vedd fel.",[228],"Számold ki minden pár hasonlóságát azzal az embedding-modellel, amelyet élesben használsz.",[230],"Válaszd azt a legalacsonyabb küszöböt, amelynél a téves találatok nullán vagy a közelében maradnak, és fogadd el az ebből adódó találati arányt.",[232],"Ismételd meg az ellenőrzést, valahányszor embedding-modellt váltasz, mert a hasonlósági skálák modellenként eltérnek.",{"type":108,"content":234},[235],"A határsávban egy második ellenőrzés segít: a küszöb felett éppen csak átjutó találatoknál kérdezz meg egy kis, olcsó modellt, hogy a két kérdésre ugyanaz-e a válasz. Ez sokkal olcsóbb, mint a válasz generálása, és kiszűri a közeli tévedések többségét.",{"type":115,"level":116,"id":95,"text":96},{"type":108,"content":238},[239,240,243],"A cache a felhasználók közös memóriája. Ha a ",{"tag":207,"children":241},[242],"Mekkora a jelenlegi kedvezményem?"," kérdésre adott választ az ügyfélazonosító nélkül cache-eled, a következő kérdező ügyfél az első kedvezményét kapja. Minden keresést válassz szét mindazok szerint, amitől a válasz függ:",{"type":223,"items":245},[246,252,257,262],[247,251],{"tag":248,"children":249},"strong",[250],"Bérlő, személyes válaszoknál a felhasználó is."," Vagy zárd ki teljesen a személyes válaszokat a cache-ből.",[253,256],{"tag":248,"children":254},[255],"Nyelv",", hogy egy német kérdés ne kapjon tárolt angol választ.",[258,261],{"tag":248,"children":259},[260],"Szerepkör vagy jogosultsági szint",", ha a belső munkatársak többet látnak, mint az ügyfelek.",[263,266],{"tag":248,"children":264},[265],"Adat- és promptverzió:"," egy új árlista, szabályzatszöveg vagy rendszerprompt új cache-névteret indítson.",{"type":108,"content":268},[269,270,274],"A személyes adatot tartalmazó tárolt válaszok tárolt személyes adatok, a megfelelő megőrzési kötelezettségekkel; lásd a ",{"tag":164,"to":271,"children":272},"\u002Fblog\u002Fpii-redaction-llm-pipelines",[273],"PII-kitakarás LLM-pipeline-okban"," cikket. A cache ráadásul írási útvonal is: ha a felhasználók tetszőleges modellkimenetet eltárolhatnak, amelyet aztán másoknak szolgálunk ki, egy prompt injectionnel manipulált válasz elterjedhet. Csak megbízható folyamatokból származó válaszokat tárolj, a guardrailek által megjelölt munkamenetekből soha.",{"type":276,"variant":277,"title":278,"body":279},"callout","warn","Soha ne cache-elj élő adattól függő választ",[280],[281],"A készletszint, az árak, a rendelési állapot és minden, ami eszközhívás mögött van, gyorsabban változik bármilyen ésszerű TTL-nél. A stabil részeket cache-eld, például a visszakeresett szabályzat-részleteket vagy a saját lejárattal rendelkező eszközeredményeket, a végső választ pedig a modell állítsa össze.",{"type":115,"level":116,"id":98,"text":99},{"type":108,"content":284},[285,286,290],"Három mechanizmust használj együtt. Minden bejegyzésnek legyen TTL-je, inkább órákban vagy napokban, mint hónapokban mérve. A cache-kulcsban legyen verzió arra az adatra és promptra, amelyből a válasz született, így egy tartalomfrissítés új névtérre vált, ahelyett hogy egyenként törölnéd a sorokat. Végül kézi törlés dokumentumonként: ha valaki módosítja a visszaküldési szabályzatot, törölj minden bejegyzést, amelynek válasza ezt a dokumentumot idézte. Ehhez minden tárolt válasz mellé el kell menteni a forrásazonosítókat, ami a hivatkozások miatt amúgy is megéri, ahogy a ",{"tag":164,"to":287,"children":288},"\u002Fblog\u002Fllm-hallucination-grounding-citations",[289],"grounding és hivatkozások"," cikkben.",{"type":115,"level":116,"id":101,"text":102},{"type":118,"head":293,"rows":298},[294,296],[295],"Metrika",[297],"Miért",[299,304,309,314],[300,302],[301],"Találati arány hatókörönként",[303],"Megmutatja, hol térül meg a cache",[305,307],[306],"A találatok hasonlóság-eloszlása",[308],"A küszöb közeli sok találat kockázatot jelez",[310,312],[311],"Negatív visszajelzés aránya tárolt és friss válaszokra",[313],"A téves találatok közvetlen jele",[315,317],[316],"Találatok mintavételes emberi átnézése",[318],"Elkapja a felhasználók által nem jelzett téves találatokat",{"type":108,"content":320},[321,322,326],"A cache-találatokat ugyanúgy trace-eld, mint bármely más lépést, a hasonlósági értékkel és a tárolt bejegyzés azonosítójával, hogy egy rossz válasz visszakövethető legyen ahhoz a kérdéshez, amelyre eredetileg generálták; lásd az ",{"tag":164,"to":323,"children":324},"\u002Fblog\u002Fagent-observability-opentelemetry",[325],"LLM-ágensek megfigyelhetősége"," cikket.",{"type":115,"level":116,"id":104,"text":105},{"type":223,"ordered":174,"items":329},[330,333,336,339],[331],{"tag":159,"href":38,"children":332},[37],[334],{"tag":159,"href":41,"children":335},[40],[337],{"tag":159,"href":44,"children":338},[43],[340],{"tag":159,"href":47,"children":341},[46],[343,399,467,526],{"slug":344,"published":345,"minutes":346,"category":7,"tags":347,"keywords":352,"about":366,"sources":374,"cover":393,"og":394,"expertise":50,"locales":395,"lang":54,"title":396,"description":397,"coverAlt":398},"deepseek-v4-1-flash-1017","2026-10-17",15,[348,349,350,351,10],"DeepSeek","Open-weight models","KV cache","Mixture of experts",[353,354,355,356,357,358,359,360,361,362,363,364,365],"DeepSeek V4.1 Flash 1017","DeepSeek V4.1 Flash","Causal Encoder-Decoder","Compressed Sparse Attention 2","CSA2","FP4 KV cache","KV cache compression","SWA Bounded Replay","Engram conditional memory","DSpark speculative decoding","DeepSeek pricing","DeepSWE benchmark","open-weight coding model",[367,369,371],{"name":348,"url":368},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDeepSeek",{"name":351,"url":370},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMixture_of_experts",{"name":372,"url":373},"Transformer (deep learning architecture)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransformer_(deep_learning_architecture)",[375,378,381,384,387,390],{"title":376,"url":377},"DeepSeek-AI: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression (arXiv:2609.19969)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.19969",{"title":379,"url":380},"Hugging Face: deepseek-ai\u002FDeepSeek-V4.1-Flash-1017 model card","https:\u002F\u002Fhuggingface.co\u002Fdeepseek-ai\u002FDeepSeek-V4.1-Flash-1017",{"title":382,"url":383},"OpenRouter: DeepSeek V4.1 Flash 1017, pricing and providers","https:\u002F\u002Fopenrouter.ai\u002Fdeepseek\u002Fdeepseek-v4.1-flash-1017",{"title":385,"url":386},"The Decoder: Deepseek V4.1 Flash 1017 beats larger rivals in agentic tasks while once again massively cutting per-task costs","https:\u002F\u002Fthe-decoder.com\u002Fdeepseek-v4-1-flash-1017-beats-larger-rivals-in-agentic-tasks-while-once-again-massively-cutting-per-task-costs\u002F",{"title":388,"url":389},"AI Weekly: DeepSeek opens V4.1-Flash-1017 weights and $0.75 Search API","https:\u002F\u002Faiweekly.co\u002Falerts\u002Fdeepseek-opens-v41-flash-1017-weights-and-075-search-api",{"title":391,"url":392},"DeepSeek on X: DeepSeek-V4.1-Flash-1017 announcement","https:\u002F\u002Fx.com\u002Fdeepseek_ai\u002Fstatus\u002F2111375640717033777","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fog.jpg",[52,53,54],"DeepSeek V4.1 Flash 1017: 890 bájt KV-cache tokenenként, és mit nyer ezzel egy ágens","Technikai mélyfúrás a DeepSeek V4.1 Flash 1017-ről: encoder-decoder felosztás, CSA2 cache-megosztás, FP4 KV-cache, benchmarkok és a valós költség ágensfeladatonként.","Balra egy magas, vékony kártyákból álló köteg, egy nyíl, jobbra ugyanezek a kártyák a magasság negyedére préselve.",{"slug":400,"published":345,"minutes":401,"category":7,"tags":402,"keywords":408,"about":420,"sources":430,"cover":461,"og":462,"expertise":50,"locales":463,"lang":54,"title":464,"description":465,"coverAlt":466},"llm-rate-limits-retries-provider-fallback",10,[403,404,405,406,407],"Rate limits","Retries","Fallback","Reliability","LLM gateway",[409,410,411,412,413,414,415,416,417,418,419],"llm rate limit handling","429 too many requests llm api","exponential backoff with jitter","anthropic 529 overloaded error","openai rate limit retry","llm provider fallback","litellm fallbacks","retry-after header","llm circuit breaker","multi provider llm failover","claude api rate limits",[421,424,427],{"name":422,"url":423},"Token bucket","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FToken_bucket",{"name":425,"url":426},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",{"name":428,"url":429},"Circuit breaker design pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCircuit_breaker_design_pattern",[431,434,437,440,443,446,449,452,455,458],{"title":432,"url":433},"Claude Platform Docs: Rate limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":435,"url":436},"Claude Platform Docs: API errors","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Ferrors",{"title":438,"url":439},"OpenAI API Docs: Rate limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Frate-limits",{"title":441,"url":442},"AWS Builders Library: Timeouts, retries and backoff with jitter","https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3EumjoZascWd1oZiEgL8ORlv3qE\u002Ftimeouts-retries-and-backoff-with-jitter",{"title":444,"url":445},"MDN: Retry-After header","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FRetry-After",{"title":447,"url":448},"Martin Fowler: Circuit Breaker (2014)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FCircuitBreaker.html",{"title":450,"url":451},"LiteLLM Docs: Router, retries and cooldowns","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":453,"url":454},"LiteLLM Docs: Proxy fallbacks and reliability","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Freliability",{"title":456,"url":457},"OpenRouter Docs: Model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":459,"url":460},"AI SDK Docs: Settings (maxRetries, timeout)","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fsettings","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fog.jpg",[52,53,54],"LLM rate limitek élesben: újrapróbálás, backoff és szolgáltatóváltás","Hogyan működnek az LLM rate limitek, mit érdemes újrapróbálni, backoff jitterrel, retry egy rétegben, és fallback-láncok, amelyek nem rontják el a kimenetet.","Kis négyzetek kapaszkodnak három fokon egy széles téglalaphoz, mögötte még kettő sorban.",{"slug":468,"published":345,"minutes":469,"category":7,"tags":470,"keywords":476,"about":487,"sources":497,"cover":520,"og":521,"expertise":50,"locales":522,"lang":54,"title":523,"description":524,"coverAlt":525},"prompt-versioning-management",8,[471,472,473,474,475],"Prompt management","Versioning","LLMOps","Evals","Langfuse",[477,478,479,480,481,482,483,484,485,486],"prompt versioning","prompt management","prompt registry","version control for prompts","langfuse prompt management","mlflow prompt registry","prompts in git","openai prompt object deprecation","prompt rollback production","prompt ci evaluation",[488,491,494],{"name":489,"url":490},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":492,"url":493},"Version control","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVersion_control",{"name":495,"url":496},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[498,501,504,507,510,513,516,519],{"title":499,"url":500},"OpenAI API Docs: Migrate from prompt objects","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompting\u002Fmigrate-from-prompt-object",{"title":502,"url":503},"OpenAI API Docs: Prompt engineering (reusable prompts deprecation note)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-engineering",{"title":505,"url":506},"Langfuse Docs: Prompt version control","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fprompt-version-control",{"title":508,"url":509},"Langfuse Docs: Prompt caching in the SDKs","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fcaching",{"title":511,"url":512},"Langfuse Docs: Link prompts to traces","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Flink-to-traces",{"title":514,"url":515},"MLflow Docs: Prompt Registry","https:\u002F\u002Fmlflow.org\u002Fdocs\u002Flatest\u002Fgenai\u002Fprompt-registry\u002F",{"title":517,"url":518},"Promptfoo Docs: GitHub Action","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintegrations\u002Fgithub-action\u002F",{"title":43,"url":44},"\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fog.jpg",[52,53,54],"Promptverziózás élesben: git, registry, címkék és visszaállítás","Promptok verziózása élesben: mi tartozik egy verzióhoz, git vagy prompt registry, címkék és visszaállítás, eval-kapu a CI-ban és a cache-re gyakorolt hatás.","Öt álló kártya sorban, a harmadik íves nyíllal visszafordul, a kapu az utolsó előtt áll.",{"slug":527,"published":345,"minutes":528,"category":7,"tags":529,"keywords":534,"about":545,"sources":553,"cover":574,"og":575,"expertise":50,"locales":576,"lang":54,"title":577,"description":578,"coverAlt":579},"llm-batch-api-offline-workloads",9,[530,531,473,532,533],"Batch API","Cost","Prompt caching","Data pipelines",[535,536,537,538,539,540,541,542,543,544],"llm batch api","anthropic message batches api","openai batch api","gemini batch mode","batch inference llm cost","batch api 50 percent discount","openai flex processing","bedrock batch inference","llm offline processing","batch api prompt caching",[546,549,552],{"name":547,"url":548},"Batch processing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBatch_processing",{"name":550,"url":551},"JSON Lines","https:\u002F\u002Fjsonlines.org\u002F",{"name":33,"url":34},[554,557,559,560,563,566,568,571],{"title":555,"url":556},"Claude Platform Docs: Batch processing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fbatch-processing",{"title":558,"url":433},"Claude Platform Docs: Rate limits (Message Batches API)",{"title":43,"url":44},{"title":561,"url":562},"OpenAI API Docs: Batch API","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fbatch",{"title":564,"url":565},"OpenAI API Docs: Flex processing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fflex-processing",{"title":567,"url":439},"OpenAI API Docs: Rate limits (batch queue limits)",{"title":569,"url":570},"Google AI for Developers: Gemini Batch API","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fbatch-api",{"title":572,"url":573},"Amazon Bedrock User Guide: Batch inference","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbatch-inference.html","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fog.jpg",[52,53,54],"LLM batch API-k: félárú inferencia olyan munkára, amely várhat","Mikor érdemes az Anthropic, OpenAI és Gemini batch API-ját használni, hogyan működnek a limitek, a párosítás és a hibák, és hogyan adódnak össze a kedvezmények.","Széles doboz nyolc kis négyzettel, balról érkeznek, egy hosszú nyíl visszatér.",1792261158750]