[{"data":1,"prerenderedAt":762},["ShallowReactive",2],{"blog-vllm-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":21,"sources":25,"cover":53,"og":54,"expertise":55,"locales":56,"lang":59,"title":60,"description":61,"coverAlt":62,"metaTitle":63,"takeaways":64,"faq":70,"toc":86,"blocks":111,"others":519},"vllm","2026-06-30",11,"llmops",[9,10,11,12,13],"Self-hosted inference","OpenAI API","PagedAttention","GPU serving","LLM runtime",[4,15,16,17,18,19,20],"vllm vs sglang","vllm vs tensorrt-llm","self-hosted llm server","openai compatible api server","llm inference throughput","pagedattention",[22],{"name":23,"url":24},"vLLM","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FvLLM",[26,29,32,35,38,41,44,47,50],{"title":27,"url":28},"vLLM documentation","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002F",{"title":30,"url":31},"Optimization and tuning for the V1 engine","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fconfiguration\u002Foptimization.html",{"title":33,"url":34},"Architecture overview and the V1 process layout","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fdesign\u002Farch_overview.html",{"title":36,"url":37},"Metrics design","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fdesign\u002Fmetrics.html",{"title":39,"url":40},"Automatic prefix caching and its documented limits","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Ffeatures\u002Fautomatic_prefix_caching.html",{"title":42,"url":43},"Online serving and the HTTP API surface","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Fstable\u002Fserving\u002Fonline_serving.html",{"title":45,"url":46},"Inside vLLM: anatomy of a high-throughput inference system","https:\u002F\u002Fvllm.ai\u002Fblog\u002F2025-09-05-anatomy-of-vllm",{"title":48,"url":49},"vLLM: easy, fast and cheap LLM serving with PagedAttention","https:\u002F\u002Fblog.vllm.ai\u002F2023\u002F06\u002F20\u002Fvllm.html",{"title":51,"url":52},"Release history","https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\u002Freleases","\u002Fimages\u002Fblog\u002Fvllm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fvllm\u002Fog.jpg","ai-engineer",[57,58,59],"en","de","hu","vLLM áttekintve: inferencia saját hardveren","A vLLM egy Hugging Face checkpointból OpenAI-kompatibilis szervert épít: mit ad a PagedAttention és a folyamatos batching, és mit kerül az üzemeltetés.","Osztott tálca laza lapokkal egy keskeny növekvő oszlopot táplál, nyíl távozik.","vLLM áttekintve: inferencia saját hardveren · Balázs Csorba",[65,66,67,68,69],"A vLLM az alapértelmezett, saját hardveren futó kiszolgálóengine a nyílt súlyú modellekhez NVIDIA- és AMD-hardveren, nem a sebessége miatt, hanem a modellek, kvantálások és API-lefedettség szélessége miatt.","A PagedAttention és a folyamatos batching a létoka; a megbízható állítás az, hogy a lapozott allokáció a KV-cache 60–80 százalékos pazarlását 4 százalék alá szorította, nem az 2023-as 24-szeres átvitel.","A prefix caching alapértelmezetten be van kapcsolva, és csak a prefillet rövidíti, ezért a hosszú, ismétlődő promptokat használó terhelések profitálnak belőle a legtöbbet, a hosszú, közös prefix nélküli generálások semmit.","A produkciós hibaforma a KV-cache túlméretezése miatti, újraszámítással végrehajtott preemption; a KV-cache kihasználtságát és az összesített preemption-számot kell figyelni, nem az összesített átvitelt.","A négy GPU-s telepítés hat processzben fut, és legalább hat fizikai CPU-magot igényel, ami a leggyakoribb oka a vártnál gyengébb átvitelnek.",[71,74,77,80,83],{"q":72,"a":73},"Gyorsabb a vLLM az SGLangnél vagy a TensorRT-LLM-nél?","Nem általánosan, és a legtöbb közzétett összehasonlítás nem összevethető. A vLLM 2023-as bemutatkozó bejegyzése legfeljebb 24-szeres átvitelt jelentett a Hugging Face Transformershez és 2,2–3,5-szöröst a TGI-hez képest, LLaMA-7B és LLaMA-13B mellett, ShareGPT-ből származó kéréshosszakkal. Ez még a versenytársak lapozott cache-einek átvétele előtti idő, ezért a saját kéréshossz-eloszlást érdemes mérni.",{"q":75,"a":76},"Kell GPU a vLLM futtatásához?","A dokumentált cél Linux CUDA-val vagy ROCm-mel, Python 3.10-től 3.13-ig. Az Intel XPU és a Google TPU külön támogatott, az Apple Silicont pedig egy másik, MLX-alapú projekt fedi le, nem maga a vLLM. A tisztán CPU-s inferencia a llama.cpp területe.",{"q":78,"a":79},"Mennyi VRAM kell a vLLM-nek?","A vLLM a VRAM egy beállítható hányadát foglalja le a súlyoknak és a KV-cache-nek, majd induláskor egy profiling forward passzal méri a maradékot, és jelenti, hány blokk fér bele. Gyakorlatban a szűk keresztmetszet a modell súlya a választott kvantálás mellett; a többi a KV-cache, és annak mérete szabja meg a párhuzamosságot.",{"q":81,"a":82},"Egy vLLM szerver több modellt is kiszolgálhat?","Natívan nem. Egy szerverprocessz egyszerre egy modellt tart, ezért a többmodelles telepítések modellenként egy processzt futtatnak egy router mögött, vagy adat párhuzamossággal replikálják ugyanazt a modellt több GPU-ra. Kivétel a LoRA adapterek: ezek futásidőben betölthetők és leválaszthatók, a dokumentáció azonban ezt helyi fejlesztésre korlátozza.",{"q":84,"a":85},"Hogyan marad reprodukálható a vLLM kimenete frissítések után?","Rögzítsd az engine verzióját, mert a minor kiadásokként körülbelül két hetente érkeznek, és adj --generation-config vllm opciót, hogy a szerver ne alkalmazza a Hugging Face repóban lévő generation_config.json fájlt, és ezzel ne írja felül csendben a sampling alapértékeket. Determinisztikus futásokhoz állítsd a hőmérsékletet nullára, és rögzítsd a modell revízióját is.",[87,90,93,96,99,102,105,108],{"id":88,"title":89},"what-it-is","Mi ez valójában",{"id":91,"title":92},"how-it-works","Hogyan működik",{"id":94,"title":95},"getting-started","Kiszolgáló felállítása",{"id":97,"title":98},"performance","Mit ér az átviteli állítás",{"id":100,"title":101},"running-in-production","Üzemeltetés produkcióban",{"id":103,"title":104},"where-it-stings","Hol fájik",{"id":106,"title":107},"verdict","Ítélet",{"id":109,"title":110},"sources","Források",[112,116,119,122,125,147,148,151,157,160,161,164,167,194,196,211,212,215,281,284,302,303,307,318,350,353,356,362,365,376,396,397,408,454,457,458,461,475,480,481],{"type":113,"content":114},"paragraph",[115],"A vLLM egy nyílt forráskódú inféziós engine, amely Hugging Face checkpointból OpenAI API-t beszélő HTTP-szervert épít. Ez a réteg a modell és minden hívó között van, és az egyetlen feladata, hogy a GPU-t folyamatosan dolgoztassa. Az ítélet előre: NVIDIA- vagy AMD-hardveren, nyílt súlyú modellekkel ez az alapértelmezett választás, mert másik projekt sem fed le ennyi felület ennyi ragasztó kóddal. Laptopon, tisztán CPU-s gépen, vagy egy modellel és egy felhasználóval messzire túl nagy gépezet.",{"type":113,"content":117},[118],"A kiszolgálási rétegben verseng, nem a modellrétegben. A versenytársak a SGLang, amely a design nagy részét osztja; az NVIDIA TensorRT-LLM, amely a szélességet cseréli a csúcseredményekért az NVIDIA alkatrészeken; a llama.cpp, amely ott kezdődik, ahol a vLLM feladja; és a Hugging Face TGI, amelynek utolsó kiadása a v3.3.7 volt 2025 decemberében. A szokásos helyettesítője a hosztolt API-nak is, mert ugyanaz az OpenAI klienskód, amely szolgáltatót hív, egy helyi processzhez is irányítható.",{"type":120,"level":121,"id":88,"text":89},"heading",2,{"type":113,"content":123},[124],"A kiszolgáló engine kiválasztásánál számító tények, mind a projekt saját dokumentációjából, nem szolgáltatói oldalról:",{"type":126,"ordered":127,"items":128},"list",false,[129,135,137,139,141,143,145],[130,134],{"tag":131,"children":132},"strong",[133],"Apache-2.0",", fizetős szint és a szolgáltató által hosztolt vezérlőréteg nélkül.",[136],"A UC Berkeley Sky Computing Lab laboratóriumában indult; a dokumentáció több mint 2000 közreműködőt említ, és az egyik legaktívabb nyílt forráskódú AI-projektnek nevezi.",[138],"Több mint 200 modellarchitektúra a Hugging Face-en, köztük decoder-only, mixture-of-experts, hibrid attention, multimodális, embedding-, rerank- és reward-modellek.",[140],"OpenAI-kompatibilis szerver, plusz Anthropic Messages és Cohere embed, illetve rerank végpontok, továbbá beszéd és strukturált kimenet. Egy processz egy modellt szolgál ki.",[142],"A CUDA és a ROCm első osztályú cél, az Intel XPU és a Google TPU támogatott, hardverpluginekkel az Ascend NPU-hoz, Gaudihoz, Spyre-hez, Apple Siliconhoz, MetaX-hez és továbbiakhoz.",[144],"Kvantálás FP8, NVFP4, MXFP4, INT8 és INT4 szinten, továbbá GPTQ-, AWQ-, GGUF- és compressed-tensors checkpointok.",[146],"Körülbelül kéthetente egy minor kiadás: a v0.24.0 2026. június 29-én jelent meg, hat héttel a v0.20.2 május 10-i kiadása után.",{"type":120,"level":121,"id":91,"text":92},{"type":113,"content":149},[150],"Két gondolat hordozza az átvitel nagy részét. A PagedAttention fix méretű blokkokban tárolja a key-value cache-t, és egy blokktáblán keresztül nem összefüggő GPU-memóriára képezi le, ugyanúgy, ahogy egy operációs rendszer a lapokat; a 2023-as tanulmány a korábbi rendszerekben 60–80 százalékos KV-cache pazarlást mért töredezettség és túlreszerválás miatt, a lapozott allokációval szemben 4 százalék alatt. A folyamatos batching ezután minden dekódolási lépésnél befogad új kéréseket ahelyett, hogy megvárná a batch feltöltését, és innen származik a késleltetésjavulás nagy része.",{"type":152,"src":153,"alt":154,"wide":155,"caption":156},"image","\u002Fimages\u002Fblog\u002Fvllm\u002Fdiagram-7.webp","Egy kérés a vLLM V1 engine-en keresztül A kliensek egy API-kiszolgáló processzt hívnak, amely tokenizálja a promptot, és socketen át továbbítja egy engine core processznek. Az engine core tartja az ütemezőt és a KV-cache menedzsert, amely blokkokat ad át egy worker processznek GPU-nként. Tokenenként a workerek a lapozott KV-cache blokkokba írnak, a streamelt kimenet ugyanazon az úton visszafelé halad.",true,"A vLLM V1 processzekre bontja a munkát: HTTP és tokenizálás az API-kiszolgálóban, ütemezés és cache-kezelés az engine core-ban, GPU-nként egy worker.",{"type":113,"content":158},[159],"A V1 engine, amely 2025-ben váltotta fel a V0-át, egy lépésben keveri a prefillet és a dekódolást, és a dekódolásnak ad prioritást, így egy hosszú prompt már nem fékezi le a streamelt forgalmat. A chunked prefill alapértelmezetten be van kapcsolva. A prefix caching is alapértelmezett, és tokenblokkokat hashel, így az ismétlődő rendszerprompt csak egyszer prefilletődik fel; a projekt dokumentációja külön kiemeli, hogy ez csak a prefillet rövidíti, a dekódolásra nem hat, tehát közös prefix nélküli hosszú generálásnál alig hoz valamit. A spekulatív dekódolás n-gram, EAGLE és DFlash javaslatkiválasztókkal érhető el, nem külön kis draft modellel.",{"type":120,"level":121,"id":94,"text":95},{"type":113,"content":162},[163],"A telepítés egy parancs, a dokumentált platform Linux Python 3.10-től 3.13-ig. Egy modell kiszolgálása így néz ki:",{"type":165,"code":166},"code","uv venv --python 3.12 --seed\nsource .venv\u002Fbin\u002Factivate\nuv pip install vllm --torch-backend=auto\n\n# Prefix caching and chunked prefill are on by default in V1.\nvllm serve Qwen\u002FQwen3-8B \\\n  --served-model-name qwen3-8b \\\n  --max-model-len 32768 \\\n  --gpu-memory-utilization 0.9 \\\n  --tensor-parallel-size 2 \\\n  --api-key \"$VLLM_TOKEN\"",{"type":113,"content":168},[169,170,173,174,177,178,181,182,185,186,189,190,193],"A flagek lényegében kapacitási döntések. A ",{"tag":165,"children":171},[172],"--max-model-len"," korlátozza a kontextust, és ezzel az egy kérés által tartható KV-cache méretét, ezért a termék által valóban igényelt leghosszabb promptra állítsd, nem a modell maximumára. A ",{"tag":165,"children":175},[176],"--gpu-memory-utilization"," a VRAM azon hányada, amelyet előre a súlyoknak és a cache-nek foglal le; ami a súlyok után marad, azt méri az indulási profiling futás, és ebből lesznek blokkok. A ",{"tag":165,"children":179},[180],"-O0"," és ",{"tag":165,"children":183},[184],"-O3"," szabályozza, mennyire erősen fordít és rögzít CUDA grafikonokat, ",{"tag":165,"children":187},[188],"-O2"," az alapértelmezett; a ",{"tag":165,"children":191},[192],"--enforce-eager"," mindkettőt kihagyja. A megszólításhoz nem kell új kliens:",{"type":165,"code":195},"from openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"EMPTY\",\n    base_url=\"http:\u002F\u002Flocalhost:8000\u002Fv1\",\n)\n\nstream = client.chat.completions.create(\n    model=\"qwen3-8b\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"Answer in one sentence.\"},\n        {\"role\": \"user\", \"content\": \"Why beat a contiguous KV cache?\"},\n    ],\n    max_tokens=200,\n    temperature=0,\n    stream=True,\n)\n\nfor chunk in stream:\n    print(chunk.choices[0].delta.content or \"\", end=\"\", flush=True)",{"type":197,"variant":198,"title":199,"body":200},"callout","note","A sampling alapértékek a modelltől jönnek, nem tőled",[201],[202,203,206,207,210],"Alapértelmezés szerint a szerver alkalmazza a Hugging Face repóban lévő ",{"tag":165,"children":204},[205],"generation_config.json"," fájlt, így a modellkészítő által javasolt sampling értékek csendben felülírják, amit a kérés kér. A ",{"tag":165,"children":208},[209],"--generation-config vllm"," opcióval az engine saját alapértékeit kapod, és ha a kimenetnek frissítéseken át stabilnak kell maradnia, rögzítsd a samplinget a kliensben.",{"type":120,"level":121,"id":97,"text":98},{"type":113,"content":213},[214],"A híres számok a 2023-as bemutatkozó bejegyzésből származnak, nem friss benchmarkokból: LLaMA-7B egy A10G-n és LLaMA-13B egy 40 GB-os A100-on, ShareGPT-ből származó kéréshosszakkal, legfeljebb 24-szeres átvitelt adtak a Hugging Face Transformershez képest és 2,2–3,5-szöröst a TGI-hez képest. Ezek az értékek már történelem, nem specifikáció, és a történet tartós része a memóriapazarlás, nem a szorzók. Azóta változott a szint: a komoly versenytársak mind átvették a lapozott cache-t és a repülés közbeni batchinget, így a hasznos kérdés már nem az, ki batchel jobban, hanem az, ki hangol és patchel gyorsabban.",{"type":216,"head":217,"rows":224},"table",[218,220,222],[219],"Kapcsoló",[221],"Mit változtat",[223],"Mikor érdemes állítani",[225,233,241,250,259,273],[226,229,231],[227],{"tag":165,"children":228},[172],[230],"Korlátozza a kontextust, és vele egy kérés által tartható KV-cache méretét",[232],"A leghosszabb valós prompt messze a modell maximuma alatt van",[234,237,239],[235],{"tag":165,"children":236},[176],[238],"A VRAM azon hányada, amely előre a súlyoknak és a KV-cache-nek foglal le",[240],"Az indulási log kevés blokkot jelez, vagy a kérések kiszorulnak",[242,246,248],[243],{"tag":165,"children":244},[245],"max_num_batched_tokens",[247],"Prefill tokenek lépésenként: kisebb érték a tokenközi késleltetést, nagyobb az első token idejét javítja",[249],"Interaktív chat kontra offline batch munka",[251,255,257],[252],{"tag":165,"children":253},[254],"--tensor-parallel-size",[256],"Szétosztja a súlyokat több GPU-ra, így kártyánként több KV-cache hely felszabadul",[258],"A modell nem fér be, vagy a KV-cache a szűk keresztmetszet",[260,266,271],[261,263,264],{"tag":165,"children":262},[180],"-tól ",{"tag":165,"children":265},[184],[267,268,270],"Fordítás és CUDA grafik rögzítése; ",{"tag":165,"children":269},[188]," az alapértelmezett",[272],"Az indulási idő fontosabb, mint a dekódolás állandósult állapotban",[274,277,279],[275],{"tag":165,"children":276},[192],[278],"Teljesen kihagyja a fordítást és a grafikrögzítést",[280],"Fejlesztési ciklusok, vagy annak mérése, hogy egy indítás mennyi része a rögzítés",{"type":113,"content":282},[283],"Az a hibaforma, amely valóban előfordul produkcióban, a preemption. Ha a KV-cache nem fér el minden futó szekvenciához, a vLLM kiszorítja a kéréseket, és újraszámolja őket a promptból, amikor lesz hely; az összesített átvitelben ez alig látszik, a faroklatenciában viszont dominál. A V1 alapértelmezés szerint újraszámításra vált a swappelés helyett, mert a swapelés többet fizetett, tehát a gyógyulat kapacitás, nem egy flag.",{"type":197,"variant":285,"title":286,"body":287},"warn","Ismerd fel a logban",[288],[289,290,293,294,297,298,301],"Az ütemező így figyelmeztet: ",{"tag":165,"children":291},[292],"Sequence group 0 is preempted by PreemptionMode.RECOMPUTE mode because there is not enough KV cache space",". Állítsd be a ",{"tag":165,"children":295},[296],"disable_log_stats=False"," opciót az összesített preemption-szám naplózásához, vagy riasztás a ",{"tag":165,"children":299},[300],"vllm:kv_cache_usage_perc"," közel 1,0 értékére. A kihasználtság vagy a tenzoros párhuzamosság növelése segít; a túlzottan magas kihasználtság az, ahogy egy közös gép másik bérlője out-of-memory killt okoz.",{"type":120,"level":121,"id":100,"text":101},{"type":120,"level":304,"id":305,"text":306},3,"observability","Először a megfigyelhetőség",{"type":113,"content":308},[309,310,313,314,317],"Az engine a ",{"tag":165,"children":311},[312],"\u002Fmetrics"," útvonalon Prometheus végpontot ad a ",{"tag":165,"children":315},[316],"vllm:"," előtaggal. A metrics design dokumentum szokatlanul egyértelmű a szándékról: a szerver szintű gauge-ok a kérés szintű hisztogramok magyarázatára valók, és a kérés szintű hisztogramok azok a sorok, amelyekre egy üzemeltetőnek riasztania kell.",{"type":126,"ordered":127,"items":319},[320,325,330,335,342],[321,324],{"tag":165,"children":322},[323],"vllm:time_to_first_token_seconds"," — a prefill költsége, amit a felhasználó hideg promptnál érzett",[326,329],{"tag":165,"children":327},[328],"vllm:inter_token_latency_seconds"," — a dekódolás sebessége, amit a felhasználó a generálás megkezdése után érzett",[331,334],{"tag":165,"children":332},[333],"vllm:e2e_request_latency_seconds"," az a sor, amelyre az időtúllapadási szabályt írni kell",[336,181,338,341],{"tag":165,"children":337},[300],{"tag":165,"children":339},[340],"vllm:num_requests_running"," — kapacitás; ha mindkettő egyszerre a határán áll, a sor nő",[343,181,346,349],{"tag":165,"children":344},[345],"vllm:prefix_cache_queries",{"tag":165,"children":347},[348],"vllm:prefix_cache_hits"," arányához — ez mondja meg, valóban újrahasznosítják-e a közös promptokat, és tehát hogy illik-e a terhelés az engine-hez",{"type":120,"level":304,"id":351,"text":352},"process-and-cpu","Processzszám és CPU",{"type":113,"content":354},[355],"A négy GPU-s telepítés nem egy processz. A V1 egy API-kiszolgáló processzt, egy engine core processzt és GPU-nként egy worker processzt futtat, tehát egyetlen csomóponton tenzoros párhuzamosság 4 mellett összesen hat processzt, és az adat párhuzamosság egy koordinátort tesz hozzá. A hangolási útmutató N GPU-hoz 2 plusz N fizikai magot ír elő, mert az engine core szoros ciklust futtat, és a CPU-éheztől láthatóan szenved.",{"type":197,"variant":357,"title":358,"body":359},"tip","A kiéheztetett CPU lassú GPU-nak látszik",[360],[361],"Az útmutató a tokenizálást, az ütemezési késleltetést és a streamelt detokenizálást nevezi meg elsőként szenvedőnek, a vártnál alacsonyabb GPU-kihasználtság a tünet. Ha a hyperthreading be van kapcsolva, a (2 + N) érték kétszeresét tervezd meg vCPU-ban.",{"type":120,"level":304,"id":363,"text":364},"security","Biztonsági helyzet",{"type":113,"content":366},[367,368,371,372,375],"A hitelesítés egyetlen megosztott titok. A ",{"tag":165,"children":369},[370],"--api-key"," flag vagy a ",{"tag":165,"children":373},[374],"VLLM_API_KEY"," környezeti változó bekapcsol egy fejléc-ellenőrzést, és egyszerre több kulcsot is elfogad, hogy rotálhatók legyenek. Nincs felhasználómodell, nincs bérlőnkénti kvóta és nincs jogosultsági réteg, így ami eléri a portot, használhatja az egész GPU-t.",{"type":197,"variant":285,"title":377,"body":378},"A fejlesztői végpontok produkciós incidensre várnak",[379],[380,381,384,385,388,389,181,392,395],"A ",{"tag":165,"children":382},[383],"VLLM_SERVER_DEV_MODE=1"," beállítás a ",{"tag":165,"children":386},[387],"\u002Fpause",", ",{"tag":165,"children":390},[391],"\u002Freset_prefix_cache",{"tag":165,"children":393},[394],"\u002Fcollective_rpc"," végpontokat is regisztrálja, és a dokumentáció maga hordoz biztonsági figyelmeztetést. Tartsd a portot megbízható hálózaton belül, és tegyél elé hitelesítést, kvótát és sebességkorlátozást.",{"type":120,"level":121,"id":103,"text":104},{"type":113,"content":398},[399,400,403,404,407],"Először három dolog. Ez GPU-szerver, nem univerzális runtime: a dokumentált cél Linux CUDA-val vagy ROCm-mel, így a tisztán CPU-s gép vagy az Apple Silicon gép másik projektet és másik modellformátumot jelent. Az indulási idő valós, mert az alapértelmezett optimalizálási szint lefordítja a modellt és CUDA grafikonokat rögzít, és egy hideg konténer perceket tölthet a fordítóban, mielőtt az első token megjelenik. Az API pedig OpenAI-alakú, nem OpenAI-teljes: a ",{"tag":165,"children":401},[402],"suffix"," paraméter nem támogatott, a ",{"tag":165,"children":405},[406],"user"," paramétert figyelmen kívül hagyják, a párhuzamos tool hívások pedig modellfüggők és a legjobb esetben is csak részben adottak.",{"type":216,"head":409,"rows":418},[410,412,414,416],[411],"Engine",[413],"Licenc",[415],"Miben nyer",[417],"Mit fizet érte",[419,428,436,445],[420,423,424,426],[421],{"tag":131,"children":422},[23],[133],[425],"Szélesség: a legtöbb architektúra, a legszélesebb kvantálási és hardvercél halmaz, egy API a szövegre, embeddingre, rerankra, beszédre és strukturált kimenetre",[427],"Fordítás és grafikrögzítés minden indításkor, egy modell szerverenként, és egy szoros ciklus, amihez CPU kell mögötte",[429,431,432,434],[430],"SGLang",[133],[433],"Rádix-szerű prefix megosztás és többkörös állapot újrahasznosítás, ami az ugyanazt a hosszú kontextust újra és újra elérő agent- és retrieval-forgalmat kedvezményez",[435],"Kisebb modellzoo és vékonyabb kiszolgálási felület a chat kiegészítéseken túl",[437,439,441,443],[438],"TensorRT-LLM",[440],"Apache-2.0, csak NVIDIA stack",[442],"Csúcseredmények a legújabb NVIDIA alkatrészeken, FP4 és FP8 kernelek, első osztályú integráció a Dynamo és a Triton rendszerrel",[444],"Csak NVIDIA, és újraépítés, valahányszor a modell, a kvantálás vagy a GPU-generáció változik",[446,448,450,452],[447],"llama.cpp",[449],"MIT",[451],"CPU, Apple Silicon és edge hardver, GGUF kvantálás, egyetlen bináris fájl Python runtime nélkül",[453],"Más modellformátum, gyengébb batchelt kiszolgálási történet, nincs összemérhető felület embeddinghez vagy rerankhoz",{"type":113,"content":455},[456],"A legtöbb csapat számára az igazi összehasonlítás az első és a második sor. A vLLM és az SGLang ugyanazt a problémát ugyanazokkal az elemekkel oldja meg, mindkettő Apache-2.0, mindkettő OpenAI-kompatibilis, és mindkettő jól szolgál ki egy szokásos chat terhelést. Az SGLang prefix-fája jobban illik oda, ahol ugyanaz a hosszú kontextus jön vissza újra és újra; a vLLM modelllefedettsége és kvantálási mátrixa jobban illik oda, ahol az új checkpointok gyorsabban érkeznek, mint a terhelések ismétlődnek.",{"type":120,"level":121,"id":106,"text":107},{"type":113,"content":459},[460],"A vLLM az alapértelmezett eszköz, és ennek oka nem a nyers sebesség, hanem a felület: a legtöbb modell, a legtöbb kvantálási forma, a legtöbb hardvercél, és egy API, amely lefedi a kiegészítéseket, a chatet, az embeddinget, a rerankot, a beszédet és a strukturált kimenetet. A költségek valósak és többnyire unalmasan javíthatók. Az indulási idő állítható, a preemption kapacitáskérdés, a kiéheztetett CPU telepítési hiba. Egyik sem ok arra, hogy mást válassz.",{"type":126,"ordered":155,"items":462},[463,465,467,469,471,473],[464],"Válaszd, ha nyílt súlyú modelleket szolgálsz ki NVIDIA- vagy AMD GPU-ken, és a terhelés batchelt: sok egyidejű kérés, nem egyenként.",[466],"Válaszd, ha gyors a modellváltás, mert egy új checkpoint rendszerint már akkor fut, amikor a versenytársak még nem támogatják.",[468],"Válaszd, ha a körülvevő stack már OpenAI API-t beszél, mert a migráció egy base URL.",[470],"Ne válaszd laptophoz, edge dobozhoz vagy egy felhasználós eszközhöz; a llama.cpp vagy egy MLX runtime a töredékéért elvégzi.",[472],"Ne válaszd, ha egy modell egy NVIDIA generációhoz van kötve, és a csúcs token másodpercenként az egyetlen cél, mert a TensorRT-LLM megnyeri ezt a cserét a bezáródás árán.",[474],"Mérd be az SGLang-et, mielőtt elköteleződsz, ha a forgalom agentikus vagy retrieval-nehezes, és erősen újrahasznosítja a kontextust; a kettő olyan közel van egymáshoz, hogy általában az dönt, melyiket lehet reggel háromkor hibakeresni.",{"type":197,"variant":198,"title":476,"body":477},"A véleményes rész",[478],[479],"A vLLM melletti érv csendben a sebesség helyett a szélesség melletti érv lett, és azok a projektek, amelyek megelőzik, nem a batchingben nyernek. Egyetlen terhelésben lesznek jobbak. A csapatokat általában jobban szolgálja egy általános engine és egy specialista, mint terhelésenként egy engine, és éppen ez az érv a vLLM-re való egységesítés mellett, akkor is, ha egy rivális egyetlen forgalmi alakzatra mérhetően gyorsabb.",{"type":120,"level":121,"id":109,"text":110},{"type":126,"ordered":155,"items":482},[483,488,492,496,499,503,507,511,515],[484],{"tag":485,"href":28,"children":486},"a",[487],"vLLM dokumentáció",[489],{"tag":485,"href":31,"children":490},[491],"Optimalizálás és hangolás a V1 engine-ben",[493],{"tag":485,"href":34,"children":494},[495],"Architektúraáttekintés és a V1 processz-elrendezés",[497],{"tag":485,"href":37,"children":498},[36],[500],{"tag":485,"href":40,"children":501},[502],"Automatikus prefix caching és a dokumentált korlátai",[504],{"tag":485,"href":43,"children":505},[506],"Online kiszolgálás és a HTTP API felület",[508],{"tag":485,"href":46,"children":509},[510],"Inside vLLM: egy nagy átvitelű inféziós rendszer anatómiája",[512],{"tag":485,"href":49,"children":513},[514],"vLLM: egyszerű, gyors és olcsó LLM kiszolgálás PagedAttentionnel",[516],{"tag":485,"href":52,"children":517},[518],"Kiadástörténet",[520,577,645,706],{"slug":521,"published":522,"minutes":523,"category":7,"tags":524,"keywords":530,"about":544,"sources":552,"cover":571,"og":572,"expertise":55,"locales":573,"lang":59,"title":574,"description":575,"coverAlt":576},"deepseek-v4-1-flash-1017","2026-10-17",15,[525,526,527,528,529],"DeepSeek","Open-weight models","KV cache","Mixture of experts","LLM cost",[531,532,533,534,535,536,537,538,539,540,541,542,543],"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",[545,547,549],{"name":525,"url":546},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDeepSeek",{"name":528,"url":548},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMixture_of_experts",{"name":550,"url":551},"Transformer (deep learning architecture)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransformer_(deep_learning_architecture)",[553,556,559,562,565,568],{"title":554,"url":555},"DeepSeek-AI: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression (arXiv:2609.19969)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.19969",{"title":557,"url":558},"Hugging Face: deepseek-ai\u002FDeepSeek-V4.1-Flash-1017 model card","https:\u002F\u002Fhuggingface.co\u002Fdeepseek-ai\u002FDeepSeek-V4.1-Flash-1017",{"title":560,"url":561},"OpenRouter: DeepSeek V4.1 Flash 1017, pricing and providers","https:\u002F\u002Fopenrouter.ai\u002Fdeepseek\u002Fdeepseek-v4.1-flash-1017",{"title":563,"url":564},"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":566,"url":567},"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":569,"url":570},"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",[57,58,59],"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":578,"published":522,"minutes":579,"category":7,"tags":580,"keywords":586,"about":598,"sources":608,"cover":639,"og":640,"expertise":55,"locales":641,"lang":59,"title":642,"description":643,"coverAlt":644},"llm-rate-limits-retries-provider-fallback",10,[581,582,583,584,585],"Rate limits","Retries","Fallback","Reliability","LLM gateway",[587,588,589,590,591,592,593,594,595,596,597],"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",[599,602,605],{"name":600,"url":601},"Token bucket","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FToken_bucket",{"name":603,"url":604},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",{"name":606,"url":607},"Circuit breaker design pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCircuit_breaker_design_pattern",[609,612,615,618,621,624,627,630,633,636],{"title":610,"url":611},"Claude Platform Docs: Rate limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":613,"url":614},"Claude Platform Docs: API errors","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Ferrors",{"title":616,"url":617},"OpenAI API Docs: Rate limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Frate-limits",{"title":619,"url":620},"AWS Builders Library: Timeouts, retries and backoff with jitter","https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3EumjoZascWd1oZiEgL8ORlv3qE\u002Ftimeouts-retries-and-backoff-with-jitter",{"title":622,"url":623},"MDN: Retry-After header","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FRetry-After",{"title":625,"url":626},"Martin Fowler: Circuit Breaker (2014)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FCircuitBreaker.html",{"title":628,"url":629},"LiteLLM Docs: Router, retries and cooldowns","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":631,"url":632},"LiteLLM Docs: Proxy fallbacks and reliability","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Freliability",{"title":634,"url":635},"OpenRouter Docs: Model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":637,"url":638},"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",[57,58,59],"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":646,"published":522,"minutes":647,"category":7,"tags":648,"keywords":654,"about":665,"sources":675,"cover":700,"og":701,"expertise":55,"locales":702,"lang":59,"title":703,"description":704,"coverAlt":705},"prompt-versioning-management",8,[649,650,651,652,653],"Prompt management","Versioning","LLMOps","Evals","Langfuse",[655,656,657,658,659,660,661,662,663,664],"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",[666,669,672],{"name":667,"url":668},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":670,"url":671},"Version control","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVersion_control",{"name":673,"url":674},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[676,679,682,685,688,691,694,697],{"title":677,"url":678},"OpenAI API Docs: Migrate from prompt objects","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompting\u002Fmigrate-from-prompt-object",{"title":680,"url":681},"OpenAI API Docs: Prompt engineering (reusable prompts deprecation note)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-engineering",{"title":683,"url":684},"Langfuse Docs: Prompt version control","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fprompt-version-control",{"title":686,"url":687},"Langfuse Docs: Prompt caching in the SDKs","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fcaching",{"title":689,"url":690},"Langfuse Docs: Link prompts to traces","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Flink-to-traces",{"title":692,"url":693},"MLflow Docs: Prompt Registry","https:\u002F\u002Fmlflow.org\u002Fdocs\u002Flatest\u002Fgenai\u002Fprompt-registry\u002F",{"title":695,"url":696},"Promptfoo Docs: GitHub Action","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintegrations\u002Fgithub-action\u002F",{"title":698,"url":699},"Claude Platform Docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fog.jpg",[57,58,59],"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":707,"published":522,"minutes":708,"category":7,"tags":709,"keywords":714,"about":725,"sources":735,"cover":756,"og":757,"expertise":55,"locales":758,"lang":59,"title":759,"description":760,"coverAlt":761},"llm-batch-api-offline-workloads",9,[710,711,651,712,713],"Batch API","Cost","Prompt caching","Data pipelines",[715,716,717,718,719,720,721,722,723,724],"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",[726,729,732],{"name":727,"url":728},"Batch processing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBatch_processing",{"name":730,"url":731},"JSON Lines","https:\u002F\u002Fjsonlines.org\u002F",{"name":733,"url":734},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[736,739,741,742,745,748,750,753],{"title":737,"url":738},"Claude Platform Docs: Batch processing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fbatch-processing",{"title":740,"url":611},"Claude Platform Docs: Rate limits (Message Batches API)",{"title":698,"url":699},{"title":743,"url":744},"OpenAI API Docs: Batch API","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fbatch",{"title":746,"url":747},"OpenAI API Docs: Flex processing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fflex-processing",{"title":749,"url":617},"OpenAI API Docs: Rate limits (batch queue limits)",{"title":751,"url":752},"Google AI for Developers: Gemini Batch API","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fbatch-api",{"title":754,"url":755},"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",[57,58,59],"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.",1792261159721]