[{"data":1,"prerenderedAt":761},["ShallowReactive",2],{"tool-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,"url":63,"pricing":64,"kind":65,"metaTitle":66,"takeaways":67,"faq":73,"toc":89,"blocks":114,"others":525},"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.","A vLLM kiszolgálórétegének sematikus rajza, a klienskérésektől az ütemezőn át a lapozott KV-cache blokkokig","https:\u002F\u002Fdocs.vllm.ai","Apache-2.0","Inference server","vLLM áttekintve: inferencia saját hardveren · Balázs Csorba",[68,69,70,71,72],"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.",[74,77,80,83,86],{"q":75,"a":76},"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":78,"a":79},"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":81,"a":82},"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":84,"a":85},"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":87,"a":88},"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.",[90,93,96,99,102,105,108,111],{"id":91,"title":92},"what-it-is","Mi ez valójában",{"id":94,"title":95},"how-it-works","Hogyan működik",{"id":97,"title":98},"getting-started","Kiszolgáló felállítása",{"id":100,"title":101},"performance","Mit ér az átviteli állítás",{"id":103,"title":104},"running-in-production","Üzemeltetés produkcióban",{"id":106,"title":107},"where-it-stings","Hol fájik",{"id":109,"title":110},"verdict","Ítélet",{"id":112,"title":113},"sources","Források",[115,119,122,125,128,149,150,153,162,165,166,169,172,199,201,216,217,220,286,289,307,308,312,323,355,358,361,367,370,381,401,402,413,459,462,463,466,481,486,487],{"type":116,"content":117},"paragraph",[118],"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":116,"content":120},[121],"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":123,"level":124,"id":91,"text":92},"heading",2,{"type":116,"content":126},[127],"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":129,"ordered":130,"items":131},"list",false,[132,137,139,141,143,145,147],[133,136],{"tag":134,"children":135},"strong",[64],", fizetős szint és a szolgáltató által hosztolt vezérlőréteg nélkül.",[138],"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.",[140],"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.",[142],"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.",[144],"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.",[146],"Kvantálás FP8, NVFP4, MXFP4, INT8 és INT4 szinten, továbbá GPTQ-, AWQ-, GGUF- és compressed-tensors checkpointok.",[148],"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":123,"level":124,"id":94,"text":95},{"type":116,"content":151},[152],"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":154,"attrs":155,"inner":159,"caption":160},"diagram",{"viewBox":156,"role":157,"aria-labelledby":158},"0 0 720 300","img","vllm-flow-t vllm-flow-d","\u003Ctitle id=\"vllm-flow-t\">Egy kérés a vLLM V1 engine-en keresztül\u003C\u002Ftitle>\u003Cdesc id=\"vllm-flow-d\">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.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-vllm\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"30\" class=\"d-title\">V1 REQUEST PATH\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"30\" text-anchor=\"end\" class=\"d-label\">egy modell, sok bérlő, GPU-nként egy processz\u003C\u002Ftext>\u003Crect x=\"20\" y=\"72\" width=\"120\" height=\"72\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"104\" text-anchor=\"middle\" class=\"d-text\">kliensek\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"126\" text-anchor=\"middle\" class=\"d-small\">OpenAI API\u003C\u002Ftext>\u003Cpath d=\"M142 108H166\" class=\"d-line\" marker-end=\"url(#ah-vllm)\" \u002F>\u003Crect x=\"170\" y=\"72\" width=\"140\" height=\"72\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"240\" y=\"100\" text-anchor=\"middle\" class=\"d-text\">API-kiszolgáló\u003C\u002Ftext>\u003Ctext x=\"240\" y=\"122\" text-anchor=\"middle\" class=\"d-small\">tokenizál, streamel\u003C\u002Ftext>\u003Cpath d=\"M312 108H346\" class=\"d-line\" marker-end=\"url(#ah-vllm)\" \u002F>\u003Ctext x=\"329\" y=\"98\" text-anchor=\"middle\" class=\"d-label\">ZMQ\u003C\u002Ftext>\u003Crect x=\"350\" y=\"72\" width=\"150\" height=\"72\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"425\" y=\"100\" text-anchor=\"middle\" class=\"d-text\">engine core\u003C\u002Ftext>\u003Ctext x=\"425\" y=\"122\" text-anchor=\"middle\" class=\"d-small\">ütemező, KV-menedzser\u003C\u002Ftext>\u003Cpath d=\"M502 108H536\" class=\"d-line\" marker-end=\"url(#ah-vllm)\" \u002F>\u003Crect x=\"540\" y=\"72\" width=\"160\" height=\"72\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"620\" y=\"100\" text-anchor=\"middle\" class=\"d-text\">GPU-workerek\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"122\" text-anchor=\"middle\" class=\"d-small\">GPU-nként egy processz\u003C\u002Ftext>\u003Cpath d=\"M620 148V168H80V150\" class=\"d-line d-dash\" marker-end=\"url(#ah-vllm)\" \u002F>\u003Ctext x=\"350\" y=\"190\" text-anchor=\"middle\" class=\"d-small\">tokenenként mintavételezve, ugyanezen az úton visszastreamelve\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"222\" class=\"d-label\">lapozott KV-cache blokkok, blokktáblán keresztül címzve\u003C\u002Ftext>\u003Crect x=\"20\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"40\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">0\u003C\u002Ftext>\u003Crect x=\"70\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"90\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">1\u003C\u002Ftext>\u003Crect x=\"120\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"140\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">2\u003C\u002Ftext>\u003Crect x=\"170\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"190\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">3\u003C\u002Ftext>\u003Crect x=\"220\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-box\" \u002F>\u003Ctext x=\"240\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">4\u003C\u002Ftext>\u003Crect x=\"270\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-accent\" \u002F>\u003Ctext x=\"290\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">5\u003C\u002Ftext>\u003Crect x=\"320\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-accent\" \u002F>\u003Ctext x=\"340\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">6\u003C\u002Ftext>\u003Crect x=\"370\" y=\"234\" width=\"40\" height=\"34\" rx=\"6\" class=\"d-accent\" \u002F>\u003Ctext x=\"390\" y=\"256\" text-anchor=\"middle\" class=\"d-small\">7\u003C\u002Ftext>\u003Ctext x=\"430\" y=\"250\" class=\"d-small\">A közös prefix sok kérést\u003C\u002Ftext>\u003Ctext x=\"430\" y=\"266\" class=\"d-small\">ugyanazokra a blokkokra képezi le\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"292\" class=\"d-small\">a számításigényes prefill és a memóriakorlátos dekódolás ugyanabba a batchbe kerül\u003C\u002Ftext>",[161],"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":116,"content":163},[164],"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":123,"level":124,"id":97,"text":98},{"type":116,"content":167},[168],"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":170,"code":171},"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":116,"content":173},[174,175,178,179,182,183,186,187,190,191,194,195,198],"A flagek lényegében kapacitási döntések. A ",{"tag":170,"children":176},[177],"--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":170,"children":180},[181],"--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":170,"children":184},[185],"-O0"," és ",{"tag":170,"children":188},[189],"-O3"," szabályozza, mennyire erősen fordít és rögzít CUDA grafikonokat, ",{"tag":170,"children":192},[193],"-O2"," az alapértelmezett; a ",{"tag":170,"children":196},[197],"--enforce-eager"," mindkettőt kihagyja. A megszólításhoz nem kell új kliens:",{"type":170,"code":200},"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":202,"variant":203,"title":204,"body":205},"callout","note","A sampling alapértékek a modelltől jönnek, nem tőled",[206],[207,208,211,212,215],"Alapértelmezés szerint a szerver alkalmazza a Hugging Face repóban lévő ",{"tag":170,"children":209},[210],"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":170,"children":213},[214],"--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":123,"level":124,"id":100,"text":101},{"type":116,"content":218},[219],"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":221,"head":222,"rows":229},"table",[223,225,227],[224],"Kapcsoló",[226],"Mit változtat",[228],"Mikor érdemes állítani",[230,238,246,255,264,278],[231,234,236],[232],{"tag":170,"children":233},[177],[235],"Korlátozza a kontextust, és vele egy kérés által tartható KV-cache méretét",[237],"A leghosszabb valós prompt messze a modell maximuma alatt van",[239,242,244],[240],{"tag":170,"children":241},[181],[243],"A VRAM azon hányada, amely előre a súlyoknak és a KV-cache-nek foglal le",[245],"Az indulási log kevés blokkot jelez, vagy a kérések kiszorulnak",[247,251,253],[248],{"tag":170,"children":249},[250],"max_num_batched_tokens",[252],"Prefill tokenek lépésenként: kisebb érték a tokenközi késleltetést, nagyobb az első token idejét javítja",[254],"Interaktív chat kontra offline batch munka",[256,260,262],[257],{"tag":170,"children":258},[259],"--tensor-parallel-size",[261],"Szétosztja a súlyokat több GPU-ra, így kártyánként több KV-cache hely felszabadul",[263],"A modell nem fér be, vagy a KV-cache a szűk keresztmetszet",[265,271,276],[266,268,269],{"tag":170,"children":267},[185],"-tól ",{"tag":170,"children":270},[189],[272,273,275],"Fordítás és CUDA grafik rögzítése; ",{"tag":170,"children":274},[193]," az alapértelmezett",[277],"Az indulási idő fontosabb, mint a dekódolás állandósult állapotban",[279,282,284],[280],{"tag":170,"children":281},[197],[283],"Teljesen kihagyja a fordítást és a grafikrögzítést",[285],"Fejlesztési ciklusok, vagy annak mérése, hogy egy indítás mennyi része a rögzítés",{"type":116,"content":287},[288],"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":202,"variant":290,"title":291,"body":292},"warn","Ismerd fel a logban",[293],[294,295,298,299,302,303,306],"Az ütemező így figyelmeztet: ",{"tag":170,"children":296},[297],"Sequence group 0 is preempted by PreemptionMode.RECOMPUTE mode because there is not enough KV cache space",". Állítsd be a ",{"tag":170,"children":300},[301],"disable_log_stats=False"," opciót az összesített preemption-szám naplózásához, vagy riasztás a ",{"tag":170,"children":304},[305],"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":123,"level":124,"id":103,"text":104},{"type":123,"level":309,"id":310,"text":311},3,"observability","Először a megfigyelhetőség",{"type":116,"content":313},[314,315,318,319,322],"Az engine a ",{"tag":170,"children":316},[317],"\u002Fmetrics"," útvonalon Prometheus végpontot ad a ",{"tag":170,"children":320},[321],"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":129,"ordered":130,"items":324},[325,330,335,340,347],[326,329],{"tag":170,"children":327},[328],"vllm:time_to_first_token_seconds"," — a prefill költsége, amit a felhasználó hideg promptnál érzett",[331,334],{"tag":170,"children":332},[333],"vllm:inter_token_latency_seconds"," — a dekódolás sebessége, amit a felhasználó a generálás megkezdése után érzett",[336,339],{"tag":170,"children":337},[338],"vllm:e2e_request_latency_seconds"," az a sor, amelyre az időtúllapadási szabályt írni kell",[341,186,343,346],{"tag":170,"children":342},[305],{"tag":170,"children":344},[345],"vllm:num_requests_running"," — kapacitás; ha mindkettő egyszerre a határán áll, a sor nő",[348,186,351,354],{"tag":170,"children":349},[350],"vllm:prefix_cache_queries",{"tag":170,"children":352},[353],"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":123,"level":309,"id":356,"text":357},"process-and-cpu","Processzszám és CPU",{"type":116,"content":359},[360],"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":202,"variant":362,"title":363,"body":364},"tip","A kiéheztetett CPU lassú GPU-nak látszik",[365],[366],"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":123,"level":309,"id":368,"text":369},"security","Biztonsági helyzet",{"type":116,"content":371},[372,373,376,377,380],"A hitelesítés egyetlen megosztott titok. A ",{"tag":170,"children":374},[375],"--api-key"," flag vagy a ",{"tag":170,"children":378},[379],"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":202,"variant":290,"title":382,"body":383},"A fejlesztői végpontok produkciós incidensre várnak",[384],[385,386,389,390,393,394,186,397,400],"A ",{"tag":170,"children":387},[388],"VLLM_SERVER_DEV_MODE=1"," beállítás a ",{"tag":170,"children":391},[392],"\u002Fpause",", ",{"tag":170,"children":395},[396],"\u002Freset_prefix_cache",{"tag":170,"children":398},[399],"\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":123,"level":124,"id":106,"text":107},{"type":116,"content":403},[404,405,408,409,412],"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":170,"children":406},[407],"suffix"," paraméter nem támogatott, a ",{"tag":170,"children":410},[411],"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":221,"head":414,"rows":423},[415,417,419,421],[416],"Engine",[418],"Licenc",[420],"Miben nyer",[422],"Mit fizet érte",[424,433,441,450],[425,428,429,431],[426],{"tag":134,"children":427},[23],[64],[430],"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",[432],"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",[434,436,437,439],[435],"SGLang",[64],[438],"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",[440],"Kisebb modellzoo és vékonyabb kiszolgálási felület a chat kiegészítéseken túl",[442,444,446,448],[443],"TensorRT-LLM",[445],"Apache-2.0, csak NVIDIA stack",[447],"Csúcseredmények a legújabb NVIDIA alkatrészeken, FP4 és FP8 kernelek, első osztályú integráció a Dynamo és a Triton rendszerrel",[449],"Csak NVIDIA, és újraépítés, valahányszor a modell, a kvantálás vagy a GPU-generáció változik",[451,453,455,457],[452],"llama.cpp",[454],"MIT",[456],"CPU, Apple Silicon és edge hardver, GGUF kvantálás, egyetlen bináris fájl Python runtime nélkül",[458],"Más modellformátum, gyengébb batchelt kiszolgálási történet, nincs összemérhető felület embeddinghez vagy rerankhoz",{"type":116,"content":460},[461],"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":123,"level":124,"id":109,"text":110},{"type":116,"content":464},[465],"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":129,"ordered":467,"items":468},true,[469,471,473,475,477,479],[470],"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.",[472],"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.",[474],"Válaszd, ha a körülvevő stack már OpenAI API-t beszél, mert a migráció egy base URL.",[476],"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.",[478],"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.",[480],"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":202,"variant":203,"title":482,"body":483},"A véleményes rész",[484],[485],"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":123,"level":124,"id":112,"text":113},{"type":129,"ordered":467,"items":488},[489,494,498,502,505,509,513,517,521],[490],{"tag":491,"href":28,"children":492},"a",[493],"vLLM dokumentáció",[495],{"tag":491,"href":31,"children":496},[497],"Optimalizálás és hangolás a V1 engine-ben",[499],{"tag":491,"href":34,"children":500},[501],"Architektúraáttekintés és a V1 processz-elrendezés",[503],{"tag":491,"href":37,"children":504},[36],[506],{"tag":491,"href":40,"children":507},[508],"Automatikus prefix caching és a dokumentált korlátai",[510],{"tag":491,"href":43,"children":511},[512],"Online kiszolgálás és a HTTP API felület",[514],{"tag":491,"href":46,"children":515},[516],"Inside vLLM: egy nagy átvitelű inféziós rendszer anatómiája",[518],{"tag":491,"href":49,"children":519},[520],"vLLM: egyszerű, gyors és olcsó LLM kiszolgálás PagedAttentionnel",[522],{"tag":491,"href":52,"children":523},[524],"Kiadástörténet",[526,573,656,718],{"slug":527,"published":528,"minutes":6,"category":7,"tags":529,"keywords":534,"about":541,"sources":545,"cover":564,"og":565,"expertise":55,"locales":566,"lang":59,"title":567,"description":568,"coverAlt":569,"url":570,"pricing":571,"kind":572},"ollama","2026-09-29",[530,531,452,532,533],"Local inference","Open models","GGUF","Model serving",[527,535,536,537,538,539,540],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[542],{"name":543,"url":544},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[546,549,552,555,558,561],{"title":547,"url":548},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":550,"url":551},"Ollama on GitHub, with the MIT LICENSE file","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":553,"url":554},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":556,"url":557},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":559,"url":560},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":562,"url":563},"OpenAI compatibility, including what is not supported","https:\u002F\u002Fdocs.ollama.com\u002Fapi\u002Fopenai-compatibility","\u002Fimages\u002Fblog\u002Follama\u002Fcover.webp","\u002Fimages\u002Fblog\u002Follama\u002Fog.jpg",[57,58,59],"Ollama teszt: a barátságos út a nyílt modellekhez","Az Ollama egyetlen HTTP API-n szolgál ki nyílt modelleket saját hardveren. Ami jól megy, hol elmarad az átvitel, és mit nem fed le az MIT-licenc.","Absztrakt borítókép az Ollama teszthez","https:\u002F\u002Follama.com","MIT · free for personal use","Local inference runtime",{"slug":574,"published":575,"minutes":6,"category":7,"tags":576,"keywords":582,"about":590,"sources":597,"cover":649,"og":650,"expertise":55,"locales":651,"lang":59,"title":652,"description":653,"coverAlt":654,"url":593,"pricing":655,"kind":577},"portkey","2026-09-28",[577,578,579,580,581],"LLM gateway","Guardrails","Routing","Observability","Cost control",[583,584,585,586,587,588,589],"portkey ai gateway","portkey vs litellm","llm gateway comparison","llm gateway latency overhead","llm guardrails gateway","self-hosted llm gateway","portkey pricing",[591,594],{"name":592,"url":593},"Portkey","https:\u002F\u002Fportkey.ai",{"name":595,"url":596},"API gateway","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAPI_gateway",[598,601,604,607,610,613,616,619,622,625,628,631,634,637,640,643,646],{"title":599,"url":600},"Portkey docs: AI Gateway","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway",{"title":602,"url":603},"Portkey docs: Getting started with the AI Gateway","https:\u002F\u002Fdocs.portkey.ai\u002Fdocs\u002Fguides\u002Fgetting-started\u002Fgetting-started-with-ai-gateway",{"title":605,"url":606},"Portkey docs: Gateway config object","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fapi-reference\u002Fconfig-object",{"title":608,"url":609},"Portkey docs: Guardrails","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails",{"title":611,"url":612},"Portkey docs: Guardrail endpoints and capabilities","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails\u002Fcapabilities",{"title":614,"url":615},"Portkey docs: Cache, simple and semantic","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fcache-simple-and-semantic",{"title":617,"url":618},"Portkey docs: Load balancing","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fload-balancing",{"title":620,"url":621},"Portkey docs: Enterprise hybrid deployment architecture","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fself-hosting\u002Fhybrid-deployments\u002Farchitecture",{"title":623,"url":624},"Portkey pricing","https:\u002F\u002Fportkey.ai\u002Fpricing",{"title":626,"url":627},"Portkey gateway on GitHub, MIT licensed","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway",{"title":629,"url":630},"Portkey's own benchmark: gateway versus direct Bedrock","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fbenchmark-test",{"title":632,"url":633},"Portkey status page","https:\u002F\u002Fstatus.portkey.ai\u002F",{"title":635,"url":636},"Palo Alto Networks completes acquisition of Portkey, May 2026","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fcompany\u002Fpress\u002F2026\u002Fpalo-alto-networks-completes-acquisition-of-portkey-to-secure-ai-agents",{"title":638,"url":639},"Palo Alto Networks: Prisma AIRS AI Gateway","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fai-security\u002Fai-gateway",{"title":641,"url":642},"Cloudflare AI Gateway pricing","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fai-gateway\u002Freference\u002Fpricing\u002F",{"title":644,"url":645},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing",{"title":647,"url":648},"OpenRouter pricing","https:\u002F\u002Fopenrouter.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fportkey\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fportkey\u002Fog.jpg",[57,58,59],"Portkey: éles LLM-átjáró, routing, guardrailok és költség szerint","A Portkey egy OpenAI-kompatibilis végpont mögé szorítja a retry-t, a fallbacket, a cache-t, a guardrailokat és a költségkövetést. Ami jól működik, és mi az ára késleltetésben.","A kérés útja az alkalmazástól a Portkey-átjárón át három modellszolgáltatóig, alatta a guardrail-ítélet és a naplóbejegyzés.","Free · from $49 per month",{"slug":657,"published":658,"minutes":659,"category":7,"tags":660,"keywords":666,"about":674,"sources":686,"cover":711,"og":712,"expertise":55,"locales":713,"lang":59,"title":714,"description":715,"coverAlt":716,"url":677,"pricing":717,"kind":661},"langfuse","2026-08-13",10,[661,662,663,664,665],"LLM observability","Tracing","OpenTelemetry","Self-hosting","Evaluation",[657,667,668,669,670,671,672,673],"langfuse vs langsmith","llm tracing tool","self-hosted llm observability","langfuse pricing","opentelemetry llm traces","llm cost tracking","prompt versioning",[675,678,680,683],{"name":676,"url":677},"Langfuse","https:\u002F\u002Flangfuse.com",{"name":663,"url":679},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":681,"url":682},"ClickHouse","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClickHouse",{"name":684,"url":685},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",[687,690,693,696,699,702,705,708],{"title":688,"url":689},"Langfuse documentation: observability and application tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Foverview",{"title":691,"url":692},"Langfuse documentation: get started with tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Fget-started",{"title":694,"url":695},"Langfuse pricing: cloud plans, billable units and worked examples","https:\u002F\u002Flangfuse.com\u002Fpricing",{"title":697,"url":698},"Langfuse pricing: self-hosted plans and the feature comparison","https:\u002F\u002Flangfuse.com\u002Fpricing-self-host",{"title":700,"url":701},"Self-host Langfuse: deployment options, containers and storage services","https:\u002F\u002Flangfuse.com\u002Fself-hosting",{"title":703,"url":704},"Langfuse changelog: v4 is live (17 August 2026)","https:\u002F\u002Flangfuse.com\u002Fchangelog\u002F2026-08-17-langfuse-v4",{"title":706,"url":707},"Langfuse blog: Langfuse joins ClickHouse (16 January 2026)","https:\u002F\u002Flangfuse.com\u002Fblog\u002Fjoining-clickhouse",{"title":709,"url":710},"GitHub: langfuse\u002Flangfuse, the platform repository","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse","\u002Fimages\u002Fblog\u002Flangfuse\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flangfuse\u002Fog.jpg",[57,58,59],"Langfuse bemutatás: nyomkövetés, promptok és értékelések saját szerveren","A Langfuse egy MIT-licencelt platformra teszi az LLM-nyomokat, a promptverziókat és a kísérleteket. Mibe kerül a saját telepítés, hogy számol a Usage-alapú ár, és hol veszít.","Egy pipeline a kötegelt alkalmazás-eseménytől a Langfuse web konténeren és az objektumtáron át a ClickHouseig, mellette a Redis és a PostgreSQL.","MIT · paid from $59 per month",{"slug":719,"published":720,"minutes":659,"category":7,"tags":721,"keywords":726,"about":733,"sources":737,"cover":753,"og":754,"expertise":55,"locales":755,"lang":59,"title":756,"description":757,"coverAlt":758,"url":759,"pricing":760,"kind":577},"openrouter","2026-07-23",[577,722,723,724,725],"Model routing","Fallbacks","OpenAI-compatible","Pay per token",[719,727,585,728,729,730,731,732],"openrouter vs litellm","openrouter pricing","openai compatible api gateway","llm fallback routing","multi model api gateway","byok llm routing",[734],{"name":735,"url":736},"OpenRouter","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenRouter",[738,741,742,745,748,751],{"title":739,"url":740},"OpenRouter documentation: quickstart","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fquickstart",{"title":647,"url":648},{"title":743,"url":744},"OpenRouter documentation: model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":746,"url":747},"OpenRouter documentation: provider routing","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fprovider-selection",{"title":749,"url":750},"OpenRouter documentation index","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fllms.txt",{"title":752,"url":736},"Wikipedia: OpenRouter","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fog.jpg",[57,58,59],"OpenRouter: egy API-kulcs a katalógus minden modellje előtt","OpenRouter egyetlen OpenAI-kompatibilis végpont mögé tereli a 80+ szolgáltató 500+ modelljét, fallbackkel és listaáron. Mennyibe kerül, és hol törik el.","Kérési útvonal az OpenRouteren át: kliens, router, lehetséges szolgáltatók, fallback lista és a végül válaszoló modell.","https:\u002F\u002Fopenrouter.ai","Pay per token, no subscription",1791383550264]