[{"data":1,"prerenderedAt":872},["ShallowReactive",2],{"tool-dspy-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":35,"cover":111,"og":112,"expertise":113,"locales":114,"lang":117,"title":118,"description":119,"coverAlt":120,"url":25,"pricing":121,"kind":122,"metaTitle":123,"takeaways":124,"faq":130,"toc":143,"blocks":171,"others":552},"dspy","2026-10-06",8,"llmops",[9,10,11,12,13],"Prompt optimisation","LLM programs","MIPROv2","GEPA","Python",[4,15,16,17,18,19,20,21],"dspy tutorial","dspy optimizer","miprov2","gepa prompt optimization","dspy vs prompt engineering","automatic prompt optimization","dspy signatures",[23,26,29,32],{"name":24,"url":25},"DSPy","https:\u002F\u002Fdspy.ai",{"name":27,"url":28},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":30,"url":31},"Bayesian optimization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBayesian_optimization",{"name":33,"url":34},"Fine-tuning (deep learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFine-tuning_(deep_learning)",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108],{"title":37,"url":38},"DSPy home and cost example","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002F",{"title":40,"url":41},"DSPy installation","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Finstallation\u002F",{"title":43,"url":44},"DSPy: program, don't prompt","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fprogram-dont-prompt\u002F",{"title":46,"url":47},"DSPy signatures","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fdiving-deeper\u002Fsignatures-in-depth\u002F",{"title":49,"url":50},"DSPy metrics","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fmetrics\u002F",{"title":52,"url":53},"DSPy Example API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fprimitives\u002FExample\u002F",{"title":55,"url":56},"DSPy Predict API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FPredict\u002F",{"title":58,"url":59},"DSPy ChainOfThought API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FChainOfThought\u002F",{"title":61,"url":62},"DSPy ReAct API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodules\u002FReAct\u002F",{"title":64,"url":65},"DSPy optimizers index","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002F",{"title":67,"url":68},"DSPy MIPROv2 API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FMIPROv2\u002F",{"title":70,"url":71},"MIPROv2 source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fmipro_optimizer_v2.py",{"title":73,"url":74},"DSPy BootstrapFewShot API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFewShot\u002F",{"title":76,"url":77},"DSPy BootstrapFinetune API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Foptimizers\u002FBootstrapFinetune\u002F",{"title":79,"url":80},"DSPy GEPA guide","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fgetting-started\u002Fgepa-optimization\u002F",{"title":82,"url":83},"GEPA source code","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Fblob\u002Fmain\u002Fdspy\u002Fteleprompt\u002Fgepa\u002Fgepa.py",{"title":85,"url":86},"DSPy saving programs","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fsaving\u002F",{"title":88,"url":89},"DSPy caching","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ftutorials\u002Fcache\u002F",{"title":91,"url":92},"DSPy LM API","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Fapi\u002Fmodels\u002FLM\u002F",{"title":94,"url":95},"DSPy FAQ","https:\u002F\u002Fdspy.ai\u002Fcurrent\u002Ffaqs\u002F",{"title":97,"url":98},"DSPy GitHub repository","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy",{"title":100,"url":101},"DSPy 3.4.0 release","https:\u002F\u002Fgithub.com\u002Fstanfordnlp\u002Fdspy\u002Freleases\u002Ftag\u002F3.4.0",{"title":103,"url":104},"DSPy paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.03714",{"title":106,"url":107},"MIPRO paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.11695",{"title":109,"url":110},"GEPA paper, arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.19457","\u002Fimages\u002Fblog\u002Fdspy\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdspy\u002Fog.jpg","ai-engineer",[115,116,117],"en","de","hu","DSPy-kritika: promptok metrikához igazítva, nem kézzel","A DSPy aláírásokból, metrikából és példákból állítja elő a promptokat. Mennyibe kerül az optimalizálás modellhívásokban, és mikor éri meg a kézi prompt helyett.","Borítókép a DSPy-kritikához: egy aláírás és egy metrika egy optimalizálóba fut, amely mentett programot fordít.","MIT · free, you pay the model API","Prompt optimisation framework","DSPy-kritika: promptok metrikához igazítva · Balázs Csorba",[125,126,127,128,129],"A DSPy aláírásokkal, modulokkal és optimalizálókkal váltja ki a kézzel írt promptokat. Az optimalizálók a te metrikád alapján keresnek jobb promptokat.","Egy optimalizálási futás modellhívásokban fizet meg. A MIPROv2 light beállításán egy prediktoros program körülbelül 750 hívást indít a bootstrapping előtt.","Írd meg először a metrikát. Az optimalizáló csak azt tudja javítani, amit a metrika mér, és a munka java éppen ebben a függvényben van.","A lefordított program JSON-fájl az utasításokkal és demonstrációkkal, ezért verziókezelés kell hozzá, a demonstrációi pedig a tanítóadataid.","Egy prompthoz, stabil modellen, egy átnézett prompt és egy eval-csomag egyszerűbb. A DSPy a változó, többlépcsős pipeline-okban éri meg.",[131,134,137,140],{"q":132,"a":133},"Ingyenes a DSPy?","A könyvtár MIT-licencű és ingyenes. Minden modellhívást fizetsz, az optimalizáló keresés közbeni hívásait is. A dokumentáció példafutásai néhány dollárba kerültek.",{"q":135,"a":136},"Hány példa kell a DSPy-hoz?","A dokumentációban nem találtam rögzített minimumot. A FAQ néhány bemenetet kér, címkét csak akkor, ha a metrika igényli. A MIPROv2 light beállítása legfeljebb 100 példát használ validációra.",{"q":138,"a":139},"Helyi modellre irányíthatom a DSPy-t?","A dspy.LM LiteLLM-stílusú szolgáltató- és modellneveket fogad, így egy helyi végpont működhet, ha a LiteLLM el tudja érni. Ehhez a kritikához nem teszteltem egyet sem, ezért először a saját környezetedben ellenőrizd.",{"q":141,"a":142},"Újra kell optimalizálnom, ha modellt váltok?","Igen. A FAQ a célmodell cseréjét nevezi meg újrafordítási okként, mert a fordító új promptokra képezi le a programot. Tartsd meg a korábbi lefordított fájlt, hogy összehasonlíthass és visszaállhass.",[144,147,150,153,156,159,162,165,168],{"id":145,"title":146},"what-it-is","Mi ez",{"id":148,"title":149},"how-it-works","Hogyan működik",{"id":151,"title":152},"getting-started","Első lépések",{"id":154,"title":155},"signatures-and-modules","Aláírások és modulok",{"id":157,"title":158},"optimisers","Optimalizálók és mire van szükségük",{"id":160,"title":161},"cost-and-deployment","Költség, üzemeltetés és adatok",{"id":163,"title":164},"where-it-falls-short","Hol marad alul",{"id":166,"title":167},"verdict","Ítélet",{"id":169,"title":170},"sources","Források",[172,176,179,188,218,219,222,231,232,234,237,238,241,258,261,262,265,311,314,331,338,341,344,347,348,385,388,391,399,405,406,409,412,415,418,419,422,443,456,457],{"type":173,"content":174},"paragraph",[175],"A DSPy egy nyílt forráskódú Python-keretrendszer, amely az LLM-pipeline-t kódként kezeli. Deklarálod a bemeneteket és kimeneteket, választasz egy modult, és egy optimalizáló keresi meg azokat az utasításokat és példákat, amelyek a te metrikádon a legjobbak. Az ítélet előre: olyan többhívásos pipeline-hoz érdemes, amelyet mérni tudsz és várhatóan változni fog. Egy prompthoz, stabil modellen – egy átnézett prompt és egy eval-csomag egyszerűbb.",{"type":177,"level":178,"id":145,"text":146},"heading",2,{"type":173,"content":180},[181,182,187],"A DSPy a saját magát nyelvi modellek programozására szolgáló keretrendszerként írja le, nem a promptolásra. Az aláírások határozzák meg, mi megy be és mi jön ki. A modulok döntik el, hogyan kérdezzük a modellt, az egyszerű előrejelzéstől a lépésenkénti indoklásig vagy egy eszközhívási ciklusig. Az optimalizálók a metrikához igazítják a programot, az utasítások és a few-shot példák változtatásával. A promptolás és a finomhangolás között helyezkedik el: a prompt olyan műtárgy lesz, amelyet az optimalizáló ír meg. A szélesebb döntéshez olvasd el ",{"tag":183,"to":184,"children":185},"link","\u002Fblog\u002Ffine-tuning-vs-rag-vs-prompting",[186],"a promptolás, a keresés és a finomhangolás döntési útmutatóm",".",{"type":189,"ordered":190,"items":191},"list",false,[192,203,208,213],[193,197,198,202],{"tag":194,"children":195},"strong",[196],"MIT-licenc, ingyenesen használható. ","Telepítése: ",{"tag":199,"children":200},"code",[201],"pip install dspy",", Python 3.10 vagy újabb kell hozzá.",[204,207],{"tag":194,"children":205},[206],"A legutóbbi kiadás a 3.4.0, ","szeptember 25-én jelent meg. A tárolón a megnézéskor 38.6k csillag állt.",[209,212],{"tag":194,"children":210},[211],"14 optimalizáló az API-referenciában, ","a BootstrapFewShot-tól a MIPROv2-n, GEPA-n és BootstrapFinetune-on át.",[214,217],{"tag":194,"children":215},[216],"Nincs általam talált hosztolt szolgáltatás. ","A saját folyamatodban fut, és az általad beállított szolgáltatót hívja.",{"type":177,"level":178,"id":148,"text":149},{"type":173,"content":220},[221],"Egy modul egy aláírásból épül fel. Futáskor az adapter az aláírásból rendszerüzenetet készít, a modell válaszol, és a DSPy a válaszból kiolvassa a kimeneti mezőket. Optimalizáló nélkül a program csak annyira jó, mint a megfogalmazása. Az optimalizáló egy metrikát kap hozzá, vagyis egy Python-függvényt, amely egy előrejelzést pontoz, általában 0.0 és 1.0 közötti számmal, valamint bemeneti példákat. Lefuttatja a programot a példákon, új utasításokat és demonstrációkat javasol, megtartja a legjobb kombinációt, és egy lefordított programot ad vissza.",{"type":223,"attrs":224,"inner":228,"caption":229},"diagram",{"viewBox":225,"role":226,"aria-labelledby":227},"0 0 720 330","img","d1-dy-t d1-dy-d","\u003Ctitle id=\"d1-dy-t\">Program fordítása a DSPy-ban\u003C\u002Ftitle>\u003Cdesc id=\"d1-dy-d\">Egy aláírás és egy modul alkotja a programot. Egy metrika és példák halmaza táplálja az optimalizálót, amely utasításokat és demonstrációkat keres, és egy lefordított programot ad vissza. A lefordított program JSON-fájlként menthető, és az eredeti modul helyett hívható az alkalmazásban.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"d1-ah\" 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=\"28\" class=\"d-title\">Program fordítása\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">ugyanaz a program, jobb promptok\u003C\u002Ftext>\u003Crect x=\"380\" y=\"52\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"450\" y=\"80\" text-anchor=\"middle\" class=\"d-text\">Metrika\u003C\u002Ftext>\u003Ctext x=\"450\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">pontozza a választ\u003C\u002Ftext>\u003Crect x=\"20\" y=\"170\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"90\" y=\"198\" text-anchor=\"middle\" class=\"d-text\">Aláírás\u003C\u002Ftext>\u003Ctext x=\"90\" y=\"220\" text-anchor=\"middle\" class=\"d-small\">bemenet és kimenet\u003C\u002Ftext>\u003Crect x=\"200\" y=\"170\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"198\" text-anchor=\"middle\" class=\"d-text\">Modul\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"220\" text-anchor=\"middle\" class=\"d-small\">Predict, CoT, ReAct\u003C\u002Ftext>\u003Crect x=\"380\" y=\"170\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"450\" y=\"198\" text-anchor=\"middle\" class=\"d-text\">Optimalizáló\u003C\u002Ftext>\u003Ctext x=\"450\" y=\"220\" text-anchor=\"middle\" class=\"d-small\">MIPROv2, GEPA\u003C\u002Ftext>\u003Crect x=\"560\" y=\"170\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"630\" y=\"198\" text-anchor=\"middle\" class=\"d-text\">Kész program\u003C\u002Ftext>\u003Ctext x=\"630\" y=\"220\" text-anchor=\"middle\" class=\"d-small\">JSON-ként mentve\u003C\u002Ftext>\u003Crect x=\"380\" y=\"262\" width=\"140\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"450\" y=\"286\" text-anchor=\"middle\" class=\"d-text\">Példák\u003C\u002Ftext>\u003Ctext x=\"450\" y=\"306\" text-anchor=\"middle\" class=\"d-small\">tanító és validáló\u003C\u002Ftext>\u003Cpath d=\"M160 201 H198\" class=\"d-line\" marker-end=\"url(#d1-ah)\" \u002F>\u003Cpath d=\"M340 201 H378\" class=\"d-line\" marker-end=\"url(#d1-ah)\" \u002F>\u003Cpath d=\"M520 201 H558\" class=\"d-line\" marker-end=\"url(#d1-ah)\" \u002F>\u003Cpath d=\"M450 114 V168\" class=\"d-line\" marker-end=\"url(#d1-ah)\" \u002F>\u003Cpath d=\"M450 260 V234\" class=\"d-line\" marker-end=\"url(#d1-ah)\" \u002F>\u003Ctext x=\"20\" y=\"282\" class=\"d-small\">Az optimalizáló lefuttatja a programot a példákon,\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"300\" class=\"d-small\">pontozza a válaszokat, és megtartja a legjobbat.\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"318\" class=\"d-small\">Ezután a kész program váltja fel a modult.\u003C\u002Ftext>",[230],"A metrika és a példák az optimalizálóba futnak, amely az aláírást és a modult menthető programmá fordítja.",{"type":177,"level":178,"id":151,"text":152},{"type":199,"code":233},"import os\nimport dspy\n\nlm = dspy.LM(\"openai\u002Fgpt-5-nano\", api_key=os.environ[\"OPENAI_API_KEY\"])\ndspy.configure(lm=lm)\n\n\nclass ExtractIntent(dspy.Signature):\n    \"\"\"Classify the customer's intent in one short email.\"\"\"\n\n    email: str = dspy.InputField()\n    intent: str = dspy.OutputField(desc=\"one of: order, return, invoice, other\")\n\n\nextract = dspy.ChainOfThought(ExtractIntent)\n\n\ndef intent_metric(example, prediction, trace=None):\n    return float(prediction.intent.strip().lower() == example.intent.strip().lower())\n\n\ntrainset = [\n    dspy.Example(email=\"Where is my parcel 4411?\", intent=\"order\").with_inputs(\"email\"),\n    dspy.Example(email=\"I want my money back for the shoes.\", intent=\"return\").with_inputs(\"email\"),\n    # more labelled emails from your own inbox\n]\n\noptimizer = dspy.MIPROv2(metric=intent_metric, auto=\"light\")\ncompiled = optimizer.compile(extract, trainset=trainset)\ncompiled.save(\"intent_v1.json\")",{"type":173,"content":235},[236],"A metrika a megjósolt és a címkézett szándékot hasonlítja össze, ezért ehhez a példához címkék kellenek. A fordítás hívásánál keletkezik a költség: a light sok száz modellhívást indít, ezért először egy kis halmazon futtasd, nézd meg a mentett fájlt, és csak utána skálázz.",{"type":177,"level":178,"id":154,"text":155},{"type":173,"content":239},[240],"Az aláírás a szerződés. A string forma, például question -> answer, rövidítés. Az osztályforma egy docstringet ad hozzá, amely az utasítássá lesz, és típusos mezőket. A sorrend számít: a bemenetek vagy kimenetek átrendezése megváltoztatja a promptot. Minden aláírás-módosítást promptmódosításnak tekints, és teszteld.",{"type":189,"ordered":190,"items":242},[243,248,253],[244,247],{"tag":194,"children":245},[246],"dspy.Predict ","bemenetekből kimeneteket állít elő nyelvi modellel. A kulcsszavas argumentumai a modellhez mennek.",[249,252],{"tag":194,"children":250},[251],"dspy.ChainOfThought ","lépésenként indokol, mielőtt válaszol. Egy indoklási mezőt ad hozzá, amelyet testre szabhatsz.",[254,257],{"tag":194,"children":255},[256],"dspy.ReAct ","gondolkodás-cselekvés ciklust futtat eszközökkel. A max_iters alapértéke 20.",{"type":173,"content":259},[260],"A kezdőlap így foglalja össze: „ugyanaz az interfész, más stratégia“. A stratégia a számlát is meghatározza: az indoklási mezők minden hívásnál kimeneti tokeneket adnak hozzá, és a ReAct minden lépése újabb modellhívás.",{"type":177,"level":178,"id":157,"text":158},{"type":173,"content":263},[264],"A DSPy 14 optimalizálót kínál, a BootstrapFewShot-tól, amely demonstrációkat gyűjt, a GEPA-ig, amely a metrika visszajelzéséből írja át az utasításokat. Mindegyikhez kell metrika. A FAQ egy feladatot, egy metrikát és néhány bemeneti példát kér, címkét csak ott, ahol a metrika igényli. A táblázat a négy legalaposabban vizsgált optimalizálót hasonlítja össze.",{"type":266,"head":267,"rows":276},"table",[268,270,272,274],[269],"Optimalizáló",[271],"Mit változtat",[273],"Mire van szüksége",[275],"Fő költség",[277,286,294,302],[278,280,282,284],[279],"BootstrapFewShot",[281],"Few-shot demonstrációk",[283],"Metrika és tanítópéldák",[285],"Programfutások, egy próbálkozás példánként",[287,288,290,292],[11],[289],"Utasítások és demonstrációk",[291],"Metrika és tanítókészlet",[293],"35 példás próbák, plusz teljes validációs körök",[295,296,298,300],[12],[297],"Utasítások, egy reflexiós modell írja át",[299],"Visszajelzést adó metrika és reflexiós modell",[301],"Költségkeret a validációs méret és a prediktorok száma szerint",[303,305,307,309],[304],"BootstrapFinetune",[306],"Finomhangolt modell prediktoronként",[308],"Nyomvonalak és egy finomhangolható modell",[310],"Egy feladat modellenként, vagy prediktoronként",{"type":173,"content":312},[313],"A MIPROv2 a szokásos kiindulópont, ezért érdemes ismerni a számolását. Az auto beállítás rögzíti a keresés méretét. Egy prediktoros, few-shot programnál a light nagyjából tíz próbát futtat, és legfeljebb 100 példán validál. A medium 18 próbát 300 példán, a heavy 27 próbát 1000 példán. Minden próba egy 35 példás minibatch-et pontoz, a teljes validációs kör pedig minden hatodik próbánál fut, az utolsónál és a nem optimalizált programra is.",{"type":189,"ordered":190,"items":315},[316,321,326],[317,320],{"tag":194,"children":318},[319],"light: körülbelül 750 futás, ","350 a próbákra és 400 a teljes körökre.",[322,325],{"tag":194,"children":323},[324],"medium: körülbelül 2100 futás, ","630 a próbákra és 1500 a teljes körökre.",[327,330],{"tag":194,"children":328},[329],"heavy: körülbelül 7900 futás, ","945 a próbákra és 7000 a teljes körökre.",{"type":332,"variant":333,"title":334,"body":335},"callout","note","Hogyan olvasd a számokat",[336],[337],"A számok az optimalizáló kódjából származnak, egy prediktoros, few-shot demonstrációs programra. A bootstrapping és a javaslat-hívások ezek fölött jönnek, és minden újabb prediktor további próbákat és hívásokat ad. Nagyságrendnek tekintsd őket, és az első futásodban számold meg a hívásokat.",{"type":173,"content":339},[340],"A tokenek a hívásokat követik. A FAQ, amelyet a DSPy 2.5 és 2.6 verziójára írtak, és amelyről jelezték, hogy elavulhatott, körülbelül hat percet, 3200 hívást, 2,7 millió bemeneti és 156 000 kimeneti tokent említ, ami az akkori OpenAI-árakon nagyjából 3 dollár volt. Ez hívásonként körülbelül 850 bemeneti és 50 kimeneti token, így a light futás 750 hívása nagyjából 0,6 millió bemeneti és 40 000 kimeneti tokent jelent. A kezdőlap aktuális példája: GEPA auto=medium beállítással, 200 példán, gpt-5.4-mini modellel, 2,18 dollár.",{"type":173,"content":342},[343],"A GEPA másként bánik a költségvetéssel. A metrikája pontszámot és szöveges visszajelzést ad, és egy reflexiós modell olvassa a példákat és pontszámaikat, majd átírt utasításokat javasol. Az útmutató nagyobb reflexiós modellt ajánl, mint amelyet optimalizálsz, és a konstruktor egyet igényel, kivéve, ha saját javaslótervezőt adsz meg. A light körülbelül hat jelölt-promptot céloz, a kód pedig ebből metrikahívás-keretet számol, amelyben több teljes validációs kör is benne van.",{"type":173,"content":345},[346],"A közlemények adják az erősebb érvet, és mindegyik a szerzők saját feladatain mér. A DSPy-cikk szerint a pipeline-ok általában több mint 25%-kal, illetve 65%-kal verik a sima few-shot promptot, a GPT-3.5, illetve a llama2-13b-chat esetében. A MIPROv2-cikk hét többlépcsős programból ötön ért el javulást, akár 13%-os pontossággal. A GEPA-cikk átlagosan 6%-os előnyt állít a GRPO nevű megerősítéses tanulási alapvonal fölött, legfeljebb 35-ször kevesebb rolloutttal.",{"type":177,"level":178,"id":160,"text":161},{"type":266,"head":349,"rows":356},[350,352,354],[351],"Tétel",[353],"Ár",[355],"Mit fed le",[357,364,371,378],[358,360,362],[359],"DSPy-könyvtár",[361],"MIT · ingyenes",[363],"pip-pel telepítve, a saját folyamatodban fut",[365,367,369],[366],"Modellhívások futásidőben",[368],"A szolgáltatód díja",[370],"A program minden hívása, tokenenként számlázva",[372,374,376],[373],"Optimalizálási futás, a gyártó példája",[375],"2,18 $",[377],"GEPA, auto medium, 200 példa, gpt-5.4-mini",[379,381,383],[380],"Régebbi FAQ-futás",[382],"körülbelül 3 $",[384],"3200 hívás, 2,7 millió bemeneti és 156 000 kimeneti token",{"type":173,"content":386},[387],"A lefordított programot build-artefaktumként kezeld. Mentsd JSON-ként, amit a dokumentáció biztonságosabbnak és olvashatóbbnak nevez, az aláírások mellé ugyanabba a tárolóba, verziószámmal a fájlnévben és rögzített DSPy-verzióval. A fájl tartalmazza az aláírást, a demonstrációkat és prediktoronként a modellt. Betöltéshez előbb ugyanazt a programot kell felépíteni a kódban.",{"type":173,"content":389},[390],"A modellváltás újrafordítást von maga után, mert a fordító a programot az új modell új promptjaira képezi le. Tartsd meg a régi fájlt, futtasd mindkettőn a metrikát, és csak akkor éleszd az újat, ha nyer. A verziót is rögzítsd: a LM-oldal leír egy auto motort, amely az újabb backendet részesíti előnyben, így egy frissítés megváltoztathatja a viselkedést.",{"type":173,"content":392},[393,394,398],"Az adatút az, amelyet te állítasz be, ezért a feldolgozó és a régió kérdései ugyanazok, mint bármely modell-API esetén. Három dolog is tart meg az adataidból másolatot. Az LM-gyorsítótár alapértelmezetten be van kapcsolva, memóriában és lemezen egyaránt. A mentett program a tanítóadataidból származó demonstrációkat hordoz, így a JSON-fájl személyes adatot is tartalmazhat. A GEPA reflexiós modellje a példáidat és pontszámaikat olvassa, így az második feldolgozó. Az EU-s lehetőségekről ",{"tag":183,"to":395,"children":396},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[397],"a GDPR-cikkemben az EU-s adatrezidenciáról"," olvashatsz.",{"type":332,"variant":400,"title":401,"body":402},"warn","Soha ne tölts be olyan pickle-t, amelyet nem te írtál",[403],[404],"A dokumentáció szerint a pickle tetszőleges kódot futtathat, a save_program=True pedig cloudpickle-t használ ugyanazzal a kockázattal. Csak a JSON-állapotot töltsd be, a saját tárolódból.",{"type":177,"level":178,"id":163,"text":164},{"type":173,"content":407},[408],"A legtöbb feladathoz nem kell optimalizáló. A FAQ elismeri, hogy rendkívül egyszerű esetekben egy sima prompt is elég lehet, és a tool-okat, újrapróbálásokat és feldolgozást továbbra is te írod meg. Ha nem tudsz olyan metrikát írni, amely megfelel annak, amit a felhasználó helyesnek hívna, az optimalizáló azt javítja, amit mértél, és ez nem ugyanaz.",{"type":173,"content":410},[411],"A kézzel írt promptok felett leginkább akkor nyer, ha több hívás függ egymástól, a modell gyakran változik, és a kimenet pontozható. A finomhangolással szemben a legtöbb csapatnak olcsóbb és könnyebben visszacsinálható opció. A BootstrapFinetune a programot finomhangolási feladatokká fordítja, de ekkor finomhangolt modelleket kell kiszolgálnod és verziókezelned, modellenként vagy prediktoronként egyet.",{"type":173,"content":413},[414],"A számla és a metrika a másik gyenge pont. Egy light futás száz hívást indít, a heavy futások ezreket, és a validációs halmaz viszi a költség nagy részét. A gyártói állítás, hogy egy kicsi, olcsó modell gyakran képes felérni vagy túlszárnyalni egy kézzel promptolt csúcsmodellt, a te adataidon ellenőrzendő hipotézis.",{"type":173,"content":416},[417],"Az API még mozog. A 3.4.0 kiadási jegyzetei törést okozó változást jeleznek a rlm(...) hívásnál, és eltávolítják a régi dspy.LMRequest és dspy.LMResponse exportokat, ezért minden frissítés előtt olvasd el őket.",{"type":177,"level":178,"id":166,"text":167},{"type":173,"content":420},[421],"Vezesd be a DSPy-t, ha a pipeline többlépcsős, mérhető és változó. Egy promptnál, amelyet nem változtatott modellen, egy átnézett prompt és egy regressziós csomag elég. Ha nem tudod megírni a metrikát, ne fordíts még semmit.",{"type":189,"ordered":423,"items":424},true,[425,430,434,439],[426,429],{"tag":194,"children":427},[428],"Vezesd be, ha ","több modellhívásnak egyeznie kell, és a kimenetük automatikusan pontozható.",[431,433],{"tag":194,"children":432},[428],"a modell vagy az adat gyakran változik, mert az újrafordítás olcsóbb, mint a promptok újraírása.",[435,438],{"tag":194,"children":436},[437],"Ne vezesd be, ha ","a feladat egy prompt stabil modellen.",[440,442],{"tag":194,"children":441},[437],"senki nem írja meg és nem tartja karban a metrikát.",{"type":173,"content":444},[445,446,450,451,455],"Három alternatíva fedi le a maradékot. Ha a promptokat a kódban akarod tartani, és a változtatásokat eval-ok kapuzzák, a ",{"tag":183,"to":447,"children":448},"\u002Ftools\u002Fpromptfoo",[449],"Promptfoo"," a közelebbi választás. Ha explicit állapotról és vezérlési folyamatról van szó, nézd meg a ",{"tag":183,"to":452,"children":453},"\u002Ftools\u002Flanggraph",[454],"LangGraph","-ot, és ha mindkettő kell, kombináld. Ha a modellnek formátumot vagy stílust kell megtanulnia, a finomhangolás a megoldás, ahogy a döntési útmutató is leírja.",{"type":177,"level":178,"id":169,"text":170},{"type":189,"ordered":190,"items":458},[459,464,468,472,476,480,483,486,489,492,496,499,503,506,509,513,517,521,525,528,532,536,540,544,548],[460],{"tag":461,"href":38,"children":462},"a",[463],"DSPy-kezdőlap és költségpélda",[465],{"tag":461,"href":41,"children":466},[467],"DSPy-telepítés",[469],{"tag":461,"href":44,"children":470},[471],"DSPy: program, ne prompt",[473],{"tag":461,"href":47,"children":474},[475],"DSPy-aláírások",[477],{"tag":461,"href":50,"children":478},[479],"DSPy-metrikák",[481],{"tag":461,"href":53,"children":482},[52],[484],{"tag":461,"href":56,"children":485},[55],[487],{"tag":461,"href":59,"children":488},[58],[490],{"tag":461,"href":62,"children":491},[61],[493],{"tag":461,"href":65,"children":494},[495],"DSPy-optimalizálók",[497],{"tag":461,"href":68,"children":498},[67],[500],{"tag":461,"href":71,"children":501},[502],"MIPROv2 forráskód",[504],{"tag":461,"href":74,"children":505},[73],[507],{"tag":461,"href":77,"children":508},[76],[510],{"tag":461,"href":80,"children":511},[512],"DSPy GEPA-útmutató",[514],{"tag":461,"href":83,"children":515},[516],"GEPA forráskód",[518],{"tag":461,"href":86,"children":519},[520],"DSPy-programok mentése",[522],{"tag":461,"href":89,"children":523},[524],"DSPy-gyorsítótár",[526],{"tag":461,"href":92,"children":527},[91],[529],{"tag":461,"href":95,"children":530},[531],"DSPy GYIK",[533],{"tag":461,"href":98,"children":534},[535],"DSPy GitHub-tároló",[537],{"tag":461,"href":101,"children":538},[539],"DSPy 3.4.0 kiadás",[541],{"tag":461,"href":104,"children":542},[543],"DSPy-cikk, arXiv",[545],{"tag":461,"href":107,"children":546},[547],"MIPRO-cikk, arXiv",[549],{"tag":461,"href":110,"children":550},[551],"GEPA-cikk, arXiv",[553,645,722,828],{"slug":554,"published":5,"minutes":6,"category":7,"tags":555,"keywords":561,"about":569,"sources":582,"cover":637,"og":638,"expertise":113,"locales":639,"lang":117,"title":640,"description":641,"coverAlt":642,"url":572,"pricing":643,"kind":644},"deepeval",[556,557,558,559,560],"LLM evaluation","pytest","LLM-as-a-judge","Red teaming","Open source",[554,562,563,564,565,566,567,568],"deepeval vs ragas","llm evaluation framework","pytest for llm outputs","g-eval metric","llm judge cost","deepeval pricing","llm red teaming open source",[570,573,576,579],{"name":571,"url":572},"DeepEval","https:\u002F\u002Fdeepeval.com",{"name":574,"url":575},"Confident AI","https:\u002F\u002Fwww.confident-ai.com",{"name":577,"url":578},"Pytest","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPytest",{"name":580,"url":581},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[583,586,589,592,595,598,601,604,607,610,613,616,619,622,625,628,631,634],{"title":584,"url":585},"DeepEval documentation: getting started","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fgetting-started",{"title":587,"url":588},"GitHub: confident-ai\u002Fdeepeval, the README and licence","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval",{"title":590,"url":591},"PyPI: deepeval, the latest release and Python requirement","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdeepeval\u002F",{"title":593,"url":594},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":596,"url":597},"DeepEval documentation: G-Eval","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-llm-evals",{"title":599,"url":600},"DeepEval documentation: Faithfulness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-faithfulness",{"title":602,"url":603},"DeepEval documentation: Tool Correctness","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-tool-correctness",{"title":605,"url":606},"DeepEval documentation: generate goldens from documents","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fsynthesizer-generate-from-docs",{"title":608,"url":609},"DeepEval documentation: unit testing in CI\u002FCD","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fevaluation-unit-testing-in-ci-cd",{"title":611,"url":612},"DeepEval FAQ","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Ffaq",{"title":614,"url":615},"DeepEval documentation: data privacy","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fdata-privacy",{"title":617,"url":618},"GitHub: confident-ai\u002Fdeepteam, the red-teaming framework","https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepteam",{"title":620,"url":621},"Confident AI pricing","https:\u002F\u002Fwww.confident-ai.com\u002Fpricing",{"title":623,"url":624},"Confident AI documentation: data residency","https:\u002F\u002Fwww.confident-ai.com\u002Fdocs\u002Fsettings\u002Fdata-residency",{"title":626,"url":627},"Confident AI subprocessor list","https:\u002F\u002Fwww.confident-ai.com\u002Fsubprocessors-list",{"title":629,"url":630},"GitHub: explodinggradients\u002Fragas, the README","https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas",{"title":632,"url":633},"GitHub: promptfoo\u002Fpromptfoo, the README","https:\u002F\u002Fgithub.com\u002Fpromptfoo\u002Fpromptfoo",{"title":635,"url":636},"Braintrust pricing","https:\u002F\u002Fwww.braintrust.dev\u002Fpricing","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepeval\u002Fog.jpg",[115,116,117],"DeepEval bemutató: pytest az LLM-kimenetekhez, és a bíró számlája","A DeepEval LLM-ellenőrzéseket futtat pytest-szerű tesztként, beépített bírómetrikákkal. Ingyenes könyvtár; a bíróhívások és az adatáramlás a valódi költség.","Borítókép a DeepEval bemutatóhoz: egy tesztesetet bírómetrika visz át egy átmenő vagy elbukó kapuig","Apache-2.0 · free; Confident AI from $0, Starter $200 a month","Evaluation framework",{"slug":646,"published":647,"minutes":6,"category":7,"tags":648,"keywords":654,"about":662,"sources":672,"cover":714,"og":715,"expertise":113,"locales":716,"lang":117,"title":717,"description":718,"coverAlt":719,"url":664,"pricing":720,"kind":721},"llama-cpp","2026-10-05",[649,650,651,652,653],"llama.cpp","GGUF","Quantisation","Local inference","llama-server",[649,655,656,657,658,659,660,661],"llama.cpp review","GGUF quantisation levels","llama-server OpenAI compatible","llama.cpp vs Ollama","run LLM locally GDPR","llama.cpp CUDA Metal Vulkan","Q4_K_M vs Q8_0",[663,665,666,669],{"name":649,"url":664},"https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp",{"name":580,"url":581},{"name":667,"url":668},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":670,"url":671},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[673,675,678,681,684,687,690,693,696,699,702,705,708,711],{"title":674,"url":664},"llama.cpp repository: goals, backends, licence",{"title":676,"url":677},"llama.cpp releases: builds b11538 to b11541","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Freleases",{"title":679,"url":680},"llama.cpp build documentation: CMake flags","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Fdocs\u002Fbuild.md",{"title":682,"url":683},"llama.cpp server README: endpoints, slots and grammars","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fserver\u002FREADME.md",{"title":685,"url":686},"llama.cpp quantisation README: bits, size and speed","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fquantize\u002FREADME.md",{"title":688,"url":689},"GGUF specification in the ggml repository","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md",{"title":691,"url":692},"Performance of llama.cpp on Apple Silicon M-series","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F4167",{"title":694,"url":695},"Performance of llama.cpp on Nvidia CUDA","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fdiscussions\u002F15013",{"title":697,"url":698},"Ollama README: supported backends and REST API","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":700,"url":701},"LM Studio documentation: app overview","https:\u002F\u002Flmstudio.ai\u002Fdocs\u002Fapp",{"title":703,"url":704},"vLLM README: features, hardware and licence","https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm",{"title":706,"url":707},"vLLM documentation: GGUF support","https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Ffeatures\u002Fquantization\u002Fgguf.html",{"title":709,"url":710},"GDPR Article 28: processor","https:\u002F\u002Fgdpr-info.eu\u002Fart-28-gdpr\u002F",{"title":712,"url":713},"GDPR Article 32: security of processing","https:\u002F\u002Fgdpr-info.eu\u002Fart-32-gdpr\u002F","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllama-cpp\u002Fog.jpg",[115,116,117],"llama.cpp-teszt: a helyi motor az Ollama és az LM Studio alatt","A llama.cpp tiszta C\u002FC++ motor nyílt modellekhez, Metal, CUDA, Vulkan vagy CPU alatt. A GGUF-kvantálásokról, a llama-serverről és a korlátokról írok.","Borítókép a llama.cpp-teszthez: egy GGUF-fájl több háttérmotorra ágazik, majd egy OpenAI-stílusú API mögött áll.","MIT · free","Local inference runtime",{"slug":723,"published":647,"minutes":724,"category":7,"tags":725,"keywords":731,"about":739,"sources":751,"cover":821,"og":822,"expertise":113,"locales":823,"lang":117,"title":824,"description":825,"coverAlt":826,"url":763,"pricing":827,"kind":726},"opik",7,[726,727,728,729,730],"LLM observability","Tracing","Evaluation","OpenTelemetry","Self-hosting",[723,732,733,734,735,736,737,738],"opik review","opik vs langfuse","opik pricing","self-hosted llm tracing","opik opentelemetry","llm as a judge metrics","opik guardrails",[740,743,745,748],{"name":741,"url":742},"Comet ML","https:\u002F\u002Fwww.comet.com",{"name":729,"url":744},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":746,"url":747},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",{"name":749,"url":750},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[752,755,758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803,806,809,812,815,818],{"title":753,"url":754},"Opik repository README on GitHub","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik",{"title":756,"url":757},"Opik LICENSE file: Apache License 2.0","https:\u002F\u002Fgithub.com\u002Fcomet-ml\u002Fopik\u002Fblob\u002Fmain\u002FLICENSE",{"title":759,"url":760},"Opik on PyPI: package metadata","https:\u002F\u002Fpypi.org\u002Fpypi\u002Fopik\u002Fjson",{"title":762,"url":763},"Opik product page","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fproducts\u002Fopik\u002F",{"title":765,"url":766},"Opik pricing","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fpricing\u002F",{"title":768,"url":769},"Opik docs: run locally with Docker Compose","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Flocal_deployment",{"title":771,"url":772},"Opik docs: Kubernetes deployment with Helm","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Fkubernetes",{"title":774,"url":775},"Opik docs: platform architecture","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fself-host\u002Farchitecture",{"title":777,"url":778},"Opik docs: tracing getting started","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Ftracing\u002Fgetting-started",{"title":780,"url":781},"Opik docs: OpenTelemetry integration","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fintegrations\u002Fopentelemetry",{"title":783,"url":784},"Opik docs: evaluation metrics overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fevaluation\u002Fmetrics\u002Foverview",{"title":786,"url":787},"Opik docs: online evaluation rules","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fonline-evaluation\u002Frules",{"title":789,"url":790},"Opik docs: Prompt Library overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Fprompt-library\u002Foverview",{"title":792,"url":793},"Opik docs: optimisation algorithms","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fdevelopment\u002Foptimization-runs\u002Falgorithms\u002Foverview",{"title":795,"url":796},"Opik docs: guardrails overview","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Foverview",{"title":798,"url":799},"Opik docs: guardrails server","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fguardrails\u002Fserver",{"title":801,"url":802},"Opik docs: SDK anonymizers","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fproduction\u002Fgateway-guardrails\u002Fanonymizers",{"title":804,"url":805},"Opik docs: data anonymization","https:\u002F\u002Fwww.comet.com\u002Fdocs\u002Fopik\u002Fadministration\u002Fdata_anonymization",{"title":807,"url":808},"Comet ML privacy policy","https:\u002F\u002Fwww.comet.com\u002Fsite\u002Fprivacy-policy\u002F",{"title":810,"url":811},"Comet Trust Center","https:\u002F\u002Ftrust.comet.com\u002F",{"title":813,"url":814},"Langfuse repository README (licence)","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse",{"title":816,"url":817},"Arize Phoenix repository README (licence)","https:\u002F\u002Fgithub.com\u002FArize-ai\u002Fphoenix",{"title":819,"url":820},"LangChain pricing (LangSmith plans)","https:\u002F\u002Fwww.langchain.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fopik\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopik\u002Fog.jpg",[115,116,117],"Opik teszt: nyílt forrású nyomkövetés és értékelés, amerikai felhővel","Nyomok, judge-metrikák, promptverziók és optimalizáló egy Apache 2.0 platformon. Saját szerveren ingyen, a Pro felhő havi 19 dollár, az USA-ban hosztolt.","Borítókép az Opik-teszthez: egy nyom az alkalmazásból a backendbe jut, onnan egy judge-hoz és egy pontszám-kapuhoz.","Apache 2.0 · free to self-host · Pro cloud from $19 a month",{"slug":829,"published":830,"minutes":831,"category":7,"tags":832,"keywords":835,"about":842,"sources":846,"cover":864,"og":865,"expertise":113,"locales":866,"lang":117,"title":867,"description":868,"coverAlt":869,"url":870,"pricing":871,"kind":721},"ollama","2026-09-29",11,[652,833,649,650,834],"Open models","Model serving",[829,836,837,838,839,840,841],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[843],{"name":844,"url":845},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[847,850,852,855,858,861],{"title":848,"url":849},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":851,"url":698},"Ollama on GitHub, with the MIT LICENSE file",{"title":853,"url":854},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":856,"url":857},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":859,"url":860},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":862,"url":863},"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",[115,116,117],"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.","Borítókép az Ollama teszthez: egy kérés a 11434-es porton átmegy az ütemezőn és a motoron, és streamelt tokeneket ad vissza; alatta a modell betöltése és az üresjáratban történő kirakása.","https:\u002F\u002Follama.com","MIT · free for personal use",1791636875774]