[{"data":1,"prerenderedAt":615},["ShallowReactive",2],{"tool-promptfoo-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":21,"sources":25,"cover":50,"og":51,"expertise":52,"locales":53,"lang":56,"title":57,"description":58,"coverAlt":59,"url":24,"pricing":60,"kind":61,"metaTitle":62,"takeaways":63,"faq":69,"toc":82,"blocks":106,"others":378},"promptfoo","2026-07-07",10,"llmops",[9,10,11,12],"LLM evaluation","Red teaming","Prompt testing","CI\u002FCD",[4,14,15,16,17,18,19,20],"promptfoo vs langsmith","LLM evaluation framework","promptfoo red teaming","promptfooconfig.yaml example","LLM evals in CI","promptfoo pricing","open source LLM testing",[22],{"name":23,"url":24},"Promptfoo","https:\u002F\u002Fwww.promptfoo.dev",[26,29,32,35,38,41,44,47],{"title":27,"url":28},"Promptfoo documentation: intro","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintro\u002F",{"title":30,"url":31},"Promptfoo pricing: plan comparison","https:\u002F\u002Fwww.promptfoo.dev\u002Fpricing",{"title":33,"url":34},"Promptfoo documentation: getting started","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fgetting-started\u002F",{"title":36,"url":37},"Promptfoo documentation: command line usage (exit codes)","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fusage\u002Fcommand-line\u002F",{"title":39,"url":40},"Promptfoo documentation: red team plugins","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fplugins\u002F",{"title":42,"url":43},"Promptfoo documentation: assertions and metrics","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fconfiguration\u002Fexpected-outputs\u002F",{"title":45,"url":46},"Promptfoo repository on GitHub (MIT licence)","https:\u002F\u002Fgithub.com\u002Fpromptfoo\u002Fpromptfoo",{"title":48,"url":49},"Promptfoo blog: Promptfoo is joining OpenAI (9 March 2026)","https:\u002F\u002Fwww.promptfoo.dev\u002Fblog\u002Fpromptfoo-joining-openai\u002F","\u002Fimages\u002Fblog\u002Fpromptfoo\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpromptfoo\u002Fog.jpg","ai-engineer",[54,55,56],"en","de","hu","Promptfoo: LLM-evalok és red teaming egyetlen YAML-fájlból","Promptfoo 2026: MIT-licencű evalok és red teaming, a projekt 2026 márciusa óta az OpenAI-hoz tartozik. Mi működik jól, hol törik meg a YAML, és mennyibe kerül.","Diagram: egy promptfooconfig.yaml látja el a runnert, amely minden providert hív, az assertok értékelik a kimeneteket, az eredmények pedig mátrixba kerülnek a nézegetőhöz és a CI-kapuhoz.","MIT · Enterprise paid","Evaluation and red teaming","Promptfoo teszt: evalok és red teaming · Balázs Csorba",[64,65,66,67,68],"A Promptfoo MIT-licencű CLI, amely minőségi evalokat és red teaminget futtat egy YAML-fájlból, a repository pedig a 2026 márciusi felvásárlási bejelentéssel az OpenAI része lett.","A Community szint ingyenes, havi 10 000 red team probe-zal; a dashboard, az egyedi pluginok, az SSO és az API csak Enterprise-ban, egyedi áron van.","A deklaratív tesztesetek az igazi erősség, mert a review olvashatja az eval-változtatást diffként, Python tesztfuttatás nélkül.","A modellértékelésű assertok, mint az llm-rubric, nem determinisztikusak és cellánként bírói hívásba kerülnek, ezért az átadási arány a bírót ugyanúgy méri, mint a promptot.","Tartsa hordozhatóan a konfigot és a tesztadatokat: a MIT forkbahrá teszi a kódot, de egy, az egyik jelölt tulajdonában lévő modellösszehasonlító semlegességi probléma, amelyet a licenc nem old meg.",[70,73,76,79],{"q":71,"a":72},"Ingyenesen használható a promptfoo?","Igen. A Community verzió MIT-licencű, lokálisan fut, és minden eval funkciót tartalmaz legfeljebb havi 10 000 red team probe-tal. Az Enterprise egyedi probe-limiteket, csapatmegosztást, folyamatos monitorozást, SSO-t és API-hozzáférést ad; az Enterprise és az On-Premise ára egyedi kérésre.",{"q":74,"a":75},"Mi a különbség a promptfoo eval és a red teaming között?","Az eval promptokat futtat tesztesetekre, és assertokkal értékeli a kimeneteket, például részstring-ellenőrzéssel, költségküszöbbel vagy llm-rubriccel. A red teaming generált payloadokkal támad egy konfigurált célt: a promptfoo redteam run lefuttatja a probe-okat, a promptfoo redteam report pedig sebezhetőségi jelentést készít a találatokból.",{"q":77,"a":78},"Milyen modell-providereket támogat a promptfoo?","A dokumentáció több mint 60 providert sorol fel, köztük az OpenAI-t, az Anthropicot, a Google-t, az Azure-t, a Bedrockot és helyi modelleket Ollama segítségével. Bármilyen más végpont elérhető egyedi HTTP-, Python- vagy JavaScript-provideren keresztül, így nem kell módosítani a konfigot, ha egy végpont mögötti modell cserélődik.",{"q":80,"a":81},"Mi történt a promptfooval az OpenAI felvásárlás után?","A Promptfoo 2026. március 9-én jelentette be, hogy megállapodott az OpenAI felvásárlásáról, és azt is közölte, hogy a termék nyílt forráskódú és MIT-licencű marad, a csapat pedig tovább szolgálja az ügyfeleket. A repository már a promptfoo az OpenAI részeként írja le a projektet, a dokumentációt pedig frissítik.",[83,86,89,92,94,97,100,103],{"id":84,"title":85},"what-it-is","Ami ez",{"id":87,"title":88},"how-it-works","Hogyan működik",{"id":90,"title":91},"getting-started","Első lépések",{"id":93,"title":10},"red-teaming",{"id":95,"title":96},"ownership","Kinek a tulajdona most",{"id":98,"title":99},"where-it-shingles","Ahol gyengélkedik",{"id":101,"title":102},"verdict","Ítélet",{"id":104,"title":105},"sources","Források",[107,111,114,117,125,151,154,155,162,171,177,178,181,183,192,199,200,218,228,232,252,255,256,259,262,263,266,312,315,321,322,325,338,342,343],{"type":108,"content":109},"paragraph",[110],"A Promptfoo egy nyílt forráskódú CLI és könyvtár, amely LLM-evalokat és adversariális red teaminget futtat egyetlen YAML-fájlból. Az álláspont előre: ez a legpraktikusabb módja annak, hogy egy promptváltást vagy modellcserét olyan szöveges diffé alakítsunk, amelyen a CI megakadhat, és 2026 márciusa óta az eszköz az OpenAI-hoz tartozik.",{"type":108,"content":112},[113],"Egy Pytest-scriptekből álló mappa és egy hostolt eval-platform között helyezkedik el. A LangSmith-hez és a Braintrusthoz képest az ingyenes szinten lemond a dashboardokról, a megosztott előzményekről és a csapatfelületről, cserébe a saját gépen fut, közvetlenül több mint 60 providert hív, és nem kell hozzá fiók. A DeepEvalhez képest a Python kifejezőerejéről mond le egy olyan konfiguráció javára, amely programozói tudás nélkül is olvasható a review közben.",{"type":115,"level":116,"id":84,"text":85},"heading",2,{"type":108,"content":118},[119,120,124],"Két termék oszt meg egy repót és egy konfigurációs formátumot. Az eval oldal promptokat futtat tesztesetekre és értékeli a kimeneteket; a red team oldal generált payloadokkal támad egy konfigurált célt, és a találatokat sebezhetőségi jelentésként rögzíti. Mindkettőt a ",{"tag":121,"children":122},"code",[123],"promptfooconfig.yaml"," vezérli, mindkettő ugyanarról a parancssorról futtatható, és mindkettő beépíthető CI-be.",{"type":126,"ordered":127,"items":128},"list",false,[129,131,133,135,145,147,149],[130],"MIT-licencű CLI és könyvtár: 0.124.0 npm-en, kb. 25,8k csillag és 2,4k fork a GitHubon",[132],"Deklaratív konfiguráció: promptok, providerek, tesztek és assertok egy YAML-fájlban",[134],"Több mint 60 provider, köztük OpenAI, Anthropic, Google, Azure, Bedrock, Ollama és egyedi HTTP-, Python- vagy JavaScript-végpontok",[136,137,140,141,144],"Két parancs lefedi a munka nagy részét: ",{"tag":121,"children":138},[139],"promptfoo eval"," a minőséghez, ",{"tag":121,"children":142},[143],"promptfoo redteam run"," a biztonsághoz",[146],"A Community szint ingyenes, havi 10 000 red team probe-zal; az Enterprise és az On-Premise árazása egyedi",[148],"A gyártó 350 000 fejlesztőt, 130 000 havi aktív felhasználót és a Fortune 500 több mint 25%-át jelzi",[150],"Az oldal lábléce SOC 2 és ISO 27001 tanúsítványokat mutat, a dokumentáció pedig GitHub Actiont szállít CI-hoz",{"type":108,"content":152},[153],"Amit az ingyenes szint szándékosan visszatart, az a hostolt rész. A Communityben nincs csapatdashboard, nincs kereshető scan-előzmény, nincs folyamatos monitorozás és nincs API; ezek az Enterprise sorai a funkcióösszehasonlításban. Maga az eszköz lokális folyamat marad, amely hívja a providereket és az eredményeket a lemezre írja.",{"type":115,"level":116,"id":87,"text":88},{"type":108,"content":156},[157,158,161],"Az eval egy matrix. A konfiguráció promptokat, providereket és teszteseteket deklarál, a runner a szorzatot képezi, minden cellát elküld minden modellnek, és a választ a cellához rendelt assertok alapján pontozza. Az assertok tipizáltak: részstring- és JSON-séma-ellenőrzés, hasonlóság, költség- és késésértékek, valamint modellértékelésű ellenőrzések, mint az ",{"tag":121,"children":159},[160],"llm-rubric",", amelyek plusz modellhívást költenek a kimenet minősítésére.",{"type":163,"attrs":164,"inner":168,"caption":169},"diagram",{"viewBox":165,"role":166,"aria-labelledby":167},"0 0 730 300","img","t-promptfoo d-promptfoo","\u003Ctitle id=\"t-promptfoo\">Hogyan fut egy promptfoo eval\u003C\u002Ftitle>\u003Cdesc id=\"d-promptfoo\">Négy lépésből álló pipeline: a konfigurációs fájl látja el a runnert, amely minden providert párhuzamosan, cache-sel hív, az assertok értékelik az egyes kimeneteket, az eredmények pedig webnézegetőhöz és CI kilépési kóddoz kerülnek. Alul promptokból és providerekből álló matrix átment és bukott cellákkal.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"26\" class=\"d-title\">Egy konfig, egy futás\u003C\u002Ftext>\u003Ctext x=\"710\" y=\"26\" text-anchor=\"end\" class=\"d-label\">promptfoo eval\u003C\u002Ftext>\u003Crect x=\"20\" y=\"52\" width=\"150\" height=\"56\" rx=\"8\" class=\"d-accent\"\u002F>\u003Ctext x=\"34\" y=\"76\" class=\"d-text\">konfig\u003C\u002Ftext>\u003Ctext x=\"34\" y=\"96\" class=\"d-small\">promptok, tesztek\u003C\u002Ftext>\u003Cpath d=\"M170 80 H196\" class=\"d-line\"\u002F>\u003Cpath d=\"M190 74 L198 80 L190 86\" class=\"d-line\"\u002F>\u003Crect x=\"200\" y=\"52\" width=\"150\" height=\"56\" rx=\"8\" class=\"d-box\"\u002F>\u003Ctext x=\"214\" y=\"76\" class=\"d-text\">runner\u003C\u002Ftext>\u003Ctext x=\"214\" y=\"96\" class=\"d-small\">párhuzamos, cached\u003C\u002Ftext>\u003Cpath d=\"M350 80 H376\" class=\"d-line\"\u002F>\u003Cpath d=\"M370 74 L378 80 L370 86\" class=\"d-line\"\u002F>\u003Crect x=\"380\" y=\"52\" width=\"150\" height=\"56\" rx=\"8\" class=\"d-mint\"\u002F>\u003Ctext x=\"394\" y=\"76\" class=\"d-text\">assertok\u003C\u002Ftext>\u003Ctext x=\"394\" y=\"96\" class=\"d-small\">kimenet értékelése\u003C\u002Ftext>\u003Cpath d=\"M530 80 H556\" class=\"d-line\"\u002F>\u003Cpath d=\"M550 74 L558 80 L550 86\" class=\"d-line\"\u002F>\u003Crect x=\"560\" y=\"52\" width=\"150\" height=\"56\" rx=\"8\" class=\"d-sky\"\u002F>\u003Ctext x=\"574\" y=\"76\" class=\"d-text\">viewer, CI\u003C\u002Ftext>\u003Ctext x=\"574\" y=\"96\" class=\"d-small\">mátrix, kilépési kód\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"152\" class=\"d-label\">EREDMÉNY-MÁTRIX\u003C\u002Ftext>\u003Crect x=\"20\" y=\"164\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"90\" y=\"164\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"160\" y=\"164\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-gold\"\u002F>\u003Crect x=\"230\" y=\"164\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"300\" y=\"164\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-box\"\u002F>\u003Crect x=\"20\" y=\"196\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"90\" y=\"196\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-gold\"\u002F>\u003Crect x=\"160\" y=\"196\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"230\" y=\"196\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"300\" y=\"196\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-box\"\u002F>\u003Crect x=\"20\" y=\"228\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"90\" y=\"228\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"160\" y=\"228\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-mint\"\u002F>\u003Crect x=\"230\" y=\"228\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-gold\"\u002F>\u003Crect x=\"300\" y=\"228\" width=\"62\" height=\"24\" rx=\"6\" class=\"d-box\"\u002F>\u003Ctext x=\"394\" y=\"176\" class=\"d-small\">minden cella egy prompt x teszt x provider\u003C\u002Ftext>\u003Ctext x=\"394\" y=\"196\" class=\"d-small\">zöld átmegy, arany elbukik, szürke cached\u003C\u002Ftext>\u003Crect x=\"394\" y=\"212\" width=\"316\" height=\"44\" rx=\"8\" class=\"d-box\"\u002F>\u003Ctext x=\"408\" y=\"234\" class=\"d-text\">a kilépési kód vezérli a pull requestet\u003C\u002Ftext>\u003Ctext x=\"408\" y=\"250\" class=\"d-small\">100 bukott tesztnél, 1 minden más hibánál\u003C\u002Ftext>",[170],"A promptfoo eval mátrix: minden prompt minden providert lefut, az assertok minden cellát értékelnek, és a kilépési kód az, amire a CI reagál.",{"type":108,"content":172},[173,174,176],"A runner párhuzamosan dolgozik és cache-eli a befejezett hívásokat, így egy kis módosítás utáni újrafutás nagyrészt a cache-t olvassa. Az eredmények helyi webnézegetőben, egymás melletti mátrixként nyílnak meg, a CLI pedig JSON, YAML, CSV vagy HTML kimenetet ír. A kilépési kódok a integrációs pont: a ",{"tag":121,"children":175},[139]," 100-as kódot ad, ha legalább egy teszt elbukik vagy az átadási arány a PROMPTFOO_PASS_RATE_THRESHOLD alá esik, és 1-et minden más hibánál.",{"type":115,"level":116,"id":90,"text":91},{"type":108,"content":179},[180],"Telepítés npm, brew vagy pip segítségével, vagy telepítés nélkül a npx promptfoo@latest paranccsal. Egy minimális konfiguráció, amely két modellt hasonlít össze egy lefordított mondaton:",{"type":121,"code":182},"# promptfooconfig.yaml: two models, one prompt, three checks\nprompts:\n  - 'Translate this sentence into {{language}}: {{input}}'\n\nproviders:\n  - openai:gpt-6-sol\n  - openai:gpt-6-luna\n\ntests:\n  - vars:\n      language: French\n      input: Hello world\n    assert:\n      - type: contains\n        value: 'Bonjour'\n      - type: llm-rubric\n        value: 'the translation is idiomatic and complete'\n      - type: cost\n        threshold: 0.01",{"type":108,"content":184},[185,187,188,191],{"tag":121,"children":186},[139]," lefuttatja a matrix minden celláját és kiírja az átadási arányt; a ",{"tag":121,"children":189},[190],"promptfoo view"," a böngészőben nyitja meg az egymás melletti összehasonlítást. A -r kapcsoló parancssorról cserél providert a fájl módosítása nélkül, így ellenőrizhető egy jelölt modell az alapvonalhoz képest, ahogy a dokumentáció ajánlja.",{"type":193,"variant":194,"title":195,"body":196},"callout","tip","Előbb cache, aztán iterálás",[197],[198],"A runner a konfigurációt, a változókat és a providerparamétereket hasheli, így a nem változott cella nem kerül újra az API elé. A modellértékelésű assertok kivételek: futáskor értékelődnek, ezért cellánként mindegyikbe kell egy bírói hívás.",{"type":115,"level":116,"id":93,"text":10},{"type":108,"content":201},[202,205,206,209,210,213,214,217],{"tag":121,"children":203},[204],"promptfoo redteam init"," ír egy red team konfigot, a ",{"tag":121,"children":207},[208],"redteam setup"," végigvezet a célon, a ",{"tag":121,"children":211},[212],"redteam run"," generálja és végrehajtja a támadásokat, a ",{"tag":121,"children":215},[216],"redteam report"," pedig megjeleníti a találatokat. A dokumentáció minden plugint betanított modellként ír le, amely egy adott sebezhetőségre payloadot állít elő, nem rögzített szólistaként.",{"type":126,"ordered":127,"items":219},[220,222,224,226],[221],"157 plugin hat kategóriában: márka, megfelelőség és jog, adathalmaz, biztonság és hozzáférés-ellenőrzés, trust and safety, valamint egyedi",[223],"A biztonsági pluginok az OWASP Top 10 for LLMshez, az OWASP API Security Top 10-hez és a MITRE ATLAS-hoz igazodnak",[225],"A megfelelőségi pluginok a NIST AI RMFhez, az ISO\u002FIEC 42001-hez, a GDPR 5. cikkéhez és az EU AI Act 5. cikkéhez igazodnak",[227],"A pluginokat konfigurációban célonként választjuk ki, így a scan szűkíthető azokra a kategóriákra, amelyeket egy alkalmazás valóban felfed",{"type":115,"level":229,"id":230,"text":231},3,"framework-mappings","Keretrendszerekhez igazítás",{"type":108,"content":233},[234,235,238,239,238,242,238,245,238,248,251],"Akinek lefedettséget kell bemutatnia találatok hegye helyett, annak a keretrendszer-azonosítók a hasznosak: ",{"tag":121,"children":236},[237],"nist:ai:measure:1.1",", ",{"tag":121,"children":240},[241],"owasp:llm:01",{"tag":121,"children":243},[244],"iso:42001:privacy",{"tag":121,"children":246},[247],"gdpr:art5",{"tag":121,"children":249},[250],"eu:ai-act:art5",". Az ezek szerint csoportosított jelentés olyan lefedettségi érv, amelyet egy ellenőr követni tud. Ez megfelelési mechanika, nem megfelelési ígéret: az eszköz megmutatja, mely probe-ok futottak, nem azt, hogy a termék teljesíti-e a szabályozást.",{"type":108,"content":253},[254],"Az ingyenes határ havi 10 000 probe, és a payloadok generálásához és értékeléséhez inference-t igénylő pluginok fogyasztják el. Efölé a díjszabási oldal az egyedi limitekért az Enterprise-ra mutat.",{"type":115,"level":116,"id":95,"text":96},{"type":108,"content":257},[258],"2026. március 9-én a Promptfoo bejelentette, hogy megállapodott az OpenAI felvásárlásáról. A bejegyzés megígérte, hogy a termék nyílt forráskódú és MIT-licencű marad, a csapat pedig kiszolgálja az ügyfeleket, és megjegyezte, hogy a zárás szokásos feltételekhez kötött. A repository már azt a sort hordozza, hogy a Promptfoo az OpenAI része, a dokumentációt pedig 2026. október 7-én frissítették utoljára.",{"type":108,"content":260},[261],"A licenc forkbahrá teszi a kódot; a roadmapet nem tartja semlegesnek. A mérnöki aggodalom szűk és konkrét: egy olyan eszköz, amelynek az a feladata, hogy megválaszolja, melyik modellt adjuk ki, most az egyik jelölt tulajdona, és a red team, guardrail és model security termékei az OpenAI ügynökplatformja mellett állnak. A MIT licenc nem akadályoz meg egy forkot, és nem kötelezi a céget a többmodell-összehasonlítás előtérbe helyezésére sem.",{"type":115,"level":116,"id":98,"text":99},{"type":108,"content":264},[265],"Az első gyengeség maga a konfiguráció. Egy tucat promptot és negyven tesztesetet tartalmazó fájl olvasható; egy négyszáz tétes nem, és minden, ami ciklust, produkciós adatokkal való join-t vagy egyedi parsert igényel, JavaScript assert callbackekbe visz, vagyis a kikerült nyelv visszatér. A második az értékelési drift: a modellértékelésű assertok a bírói verziók közt mozognak, így egy zöld suite borostyánsárga lehet, mert a bíró változott. A harmadik a hatókör, mert egy audit trailt igénylő security csapat Enterprise-t vásárol, bármilyen jók az evalok.",{"type":267,"head":268,"rows":277},"table",[269,271,273,275],[270],"Eszköz",[272],"Felület",[274],"Ingyenes szint",[276],"Költségmodell",[278,286,295,303],[279,280,282,284],[4],[281],"YAML és CLI, lokálisan fut",[283],"Teljes evalok, havi 10k red team probe",[285],"MIT; az Enterprise egyedi áras",[287,289,291,293],[288],"LangSmith",[290],"Hostolt platform plusz SDK",[292],"1 ülés és havi 5k base trace",[294],"Plus 39 USD\u002Fülés\u002Fhó-tól",[296,298,299,301],[297],"Braintrust",[290],[300],"Korlátlan felhasználó, 1 GB feldolgozott adat",[302],"Pro 249 USD\u002Fhó",[304,306,308,310],[305],"DeepEval",[307],"Python, Pytest-stílus",[309],"A teljes keretrendszer",[311],"Apache 2.0; mögötte hostolt platform",{"type":108,"content":313},[314],"Az üzleti modell egy ingyenes harness egy fizetős vezérlősíkkal. A folyamatos monitorozás, a központi dashboard, az egyedi pluginok, a szervezeti szintű támadási profilok, az SSO, a mentett célok, a kereshető előzmények és az API az Enterprise sorai, az on-premise telepítés pedig egy második árajánlatot ad hozzá. Egy magányos fejlesztő sosem kéri ezeket; egy csapat, amelynek be kell bizonyítania, mit tesztelt múlt negyedévben, igen.",{"type":193,"variant":316,"title":317,"body":318},"warn","A bíró megbízhatósága",[319],[320],"A modellértékelésű assertok pontszámot adnak, nem mérést. Rögzítse a bírói modellt, tartson egy kis emberi címkézett mintát a suite-ben, és fussassa újra minden bíróváltáskor; különben az átadási arány a bírót ugyanúgy méri, mint a promptot.",{"type":115,"level":116,"id":101,"text":102},{"type":108,"content":323},[324],"A Promptfoo jó helyi harness, amelyhez komoly biztonsági rész nőtt. Gyors, áttekinthető és őszinte abban, amit mér, a red team lefedettsége pedig már elég konkrét ahhoz, hogy lehessen vele vitatkozni. A nyitott kérdés nem a licenc, amely MIT marad, hanem hogy ki dönti el, mely modellekre hangolja az eszköz.",{"type":126,"ordered":326,"items":327},true,[328,330,332,334,336],[329],"Válassza, ha a prompt- és modellváltásokat CI-ben szeretné szöveges diffként gate-elni, olyan kilépési kóddal, amely buktatja a feladatot.",[331],"Válassza, ha release előtt szüksége van adversariális tesztelésre, és ugyanabban a pull requestben akarja reviewztatni a minőségi evalokkal.",[333],"Kihagyhatja, ha hostolt szolgáltatás kell: a dashboard, a megosztott előzmény, a keresés és az API csak Enterprise-ban van.",[335],"Kihagyhatja, ha az eval logikájához valódi kód kell, mert egy Python-keretrendszer kevesebb erőfeszítés, mint egy YAML-fájlt ciklusba kényszeríteni.",[337],"Tartsa hordozhatóan a tesztadatokat: a konfiguráció MIT és forkbahr, de egy, az egyik jelölt tulajdonában lévő modellösszehasonlító eszköz semlegességi probléma, amelyet a licenc nem old meg.",{"type":339,"content":340},"quote",[341],"A pull requestben elolvasott suite jobb, mint egy dashboard, amelyen át kell kattintani, és a promptfoo erre az előfeltétele épül. Az új tulajdonos az oka annak, hogy a kilépési kódot és a tesztadatokat hordozhatóan tartsuk.",{"type":115,"level":116,"id":104,"text":105},{"type":126,"ordered":326,"items":344},[345,350,354,358,362,366,370,374],[346],{"tag":347,"href":28,"children":348},"a",[349],"Promptfoo dokumentáció: bevezető",[351],{"tag":347,"href":31,"children":352},[353],"Promptfoo árak: szintek összehasonlítása",[355],{"tag":347,"href":34,"children":356},[357],"Promptfoo dokumentáció: első lépések",[359],{"tag":347,"href":37,"children":360},[361],"Promptfoo dokumentáció: parancssor (kilépési kódok)",[363],{"tag":347,"href":40,"children":364},[365],"Promptfoo dokumentáció: red team pluginok",[367],{"tag":347,"href":43,"children":368},[369],"Promptfoo dokumentáció: assertok és metrikák",[371],{"tag":347,"href":46,"children":372},[373],"Promptfoo repository a GitHubon (MIT licenc)",[375],{"tag":347,"href":49,"children":376},[377],"Promptfoo blog: Promptfoo is joining OpenAI (2026. március 9.)",[379,428,511,572],{"slug":380,"published":381,"minutes":382,"category":7,"tags":383,"keywords":389,"about":396,"sources":400,"cover":419,"og":420,"expertise":52,"locales":421,"lang":56,"title":422,"description":423,"coverAlt":424,"url":425,"pricing":426,"kind":427},"ollama","2026-09-29",11,[384,385,386,387,388],"Local inference","Open models","llama.cpp","GGUF","Model serving",[380,390,391,392,393,394,395],"ollama vs lm studio","ollama vs vllm","local llm runtime","gguf model server","ollama self hosting","ollama api",[397],{"name":398,"url":399},"Ollama (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOllama",[401,404,407,410,413,416],{"title":402,"url":403},"Ollama API documentation","https:\u002F\u002Fdocs.ollama.com\u002Fapi",{"title":405,"url":406},"Ollama on GitHub, with the MIT LICENSE file","https:\u002F\u002Fgithub.com\u002Follama\u002Follama",{"title":408,"url":409},"Ollama terms of service, last updated May 2026","https:\u002F\u002Follama.com\u002Fterms",{"title":411,"url":412},"Ollama pricing, cloud plans and per-token model rates","https:\u002F\u002Follama.com\u002Fpricing",{"title":414,"url":415},"Hardware support: Nvidia, AMD, Metal and Vulkan","https:\u002F\u002Fdocs.ollama.com\u002Fgpu",{"title":417,"url":418},"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",[54,55,56],"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":429,"published":430,"minutes":382,"category":7,"tags":431,"keywords":437,"about":445,"sources":452,"cover":504,"og":505,"expertise":52,"locales":506,"lang":56,"title":507,"description":508,"coverAlt":509,"url":448,"pricing":510,"kind":432},"portkey","2026-09-28",[432,433,434,435,436],"LLM gateway","Guardrails","Routing","Observability","Cost control",[438,439,440,441,442,443,444],"portkey ai gateway","portkey vs litellm","llm gateway comparison","llm gateway latency overhead","llm guardrails gateway","self-hosted llm gateway","portkey pricing",[446,449],{"name":447,"url":448},"Portkey","https:\u002F\u002Fportkey.ai",{"name":450,"url":451},"API gateway","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAPI_gateway",[453,456,459,462,465,468,471,474,477,480,483,486,489,492,495,498,501],{"title":454,"url":455},"Portkey docs: AI Gateway","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway",{"title":457,"url":458},"Portkey docs: Getting started with the AI Gateway","https:\u002F\u002Fdocs.portkey.ai\u002Fdocs\u002Fguides\u002Fgetting-started\u002Fgetting-started-with-ai-gateway",{"title":460,"url":461},"Portkey docs: Gateway config object","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fapi-reference\u002Fconfig-object",{"title":463,"url":464},"Portkey docs: Guardrails","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails",{"title":466,"url":467},"Portkey docs: Guardrail endpoints and capabilities","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fguardrails\u002Fcapabilities",{"title":469,"url":470},"Portkey docs: Cache, simple and semantic","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fcache-simple-and-semantic",{"title":472,"url":473},"Portkey docs: Load balancing","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fproduct\u002Fai-gateway\u002Fload-balancing",{"title":475,"url":476},"Portkey docs: Enterprise hybrid deployment architecture","https:\u002F\u002Fportkey.ai\u002Fdocs\u002Fself-hosting\u002Fhybrid-deployments\u002Farchitecture",{"title":478,"url":479},"Portkey pricing","https:\u002F\u002Fportkey.ai\u002Fpricing",{"title":481,"url":482},"Portkey gateway on GitHub, MIT licensed","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fgateway",{"title":484,"url":485},"Portkey's own benchmark: gateway versus direct Bedrock","https:\u002F\u002Fgithub.com\u002FPortkey-AI\u002Fbenchmark-test",{"title":487,"url":488},"Portkey status page","https:\u002F\u002Fstatus.portkey.ai\u002F",{"title":490,"url":491},"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":493,"url":494},"Palo Alto Networks: Prisma AIRS AI Gateway","https:\u002F\u002Fwww.paloaltonetworks.com\u002Fai-security\u002Fai-gateway",{"title":496,"url":497},"Cloudflare AI Gateway pricing","https:\u002F\u002Fdevelopers.cloudflare.com\u002Fai-gateway\u002Freference\u002Fpricing\u002F",{"title":499,"url":500},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing",{"title":502,"url":503},"OpenRouter pricing","https:\u002F\u002Fopenrouter.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Fportkey\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fportkey\u002Fog.jpg",[54,55,56],"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":512,"published":513,"minutes":6,"category":7,"tags":514,"keywords":520,"about":528,"sources":540,"cover":565,"og":566,"expertise":52,"locales":567,"lang":56,"title":568,"description":569,"coverAlt":570,"url":531,"pricing":571,"kind":515},"langfuse","2026-08-13",[515,516,517,518,519],"LLM observability","Tracing","OpenTelemetry","Self-hosting","Evaluation",[512,521,522,523,524,525,526,527],"langfuse vs langsmith","llm tracing tool","self-hosted llm observability","langfuse pricing","opentelemetry llm traces","llm cost tracking","prompt versioning",[529,532,534,537],{"name":530,"url":531},"Langfuse","https:\u002F\u002Flangfuse.com",{"name":517,"url":533},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":535,"url":536},"ClickHouse","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClickHouse",{"name":538,"url":539},"Observability (software)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FObservability_(software)",[541,544,547,550,553,556,559,562],{"title":542,"url":543},"Langfuse documentation: observability and application tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Foverview",{"title":545,"url":546},"Langfuse documentation: get started with tracing","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Fget-started",{"title":548,"url":549},"Langfuse pricing: cloud plans, billable units and worked examples","https:\u002F\u002Flangfuse.com\u002Fpricing",{"title":551,"url":552},"Langfuse pricing: self-hosted plans and the feature comparison","https:\u002F\u002Flangfuse.com\u002Fpricing-self-host",{"title":554,"url":555},"Self-host Langfuse: deployment options, containers and storage services","https:\u002F\u002Flangfuse.com\u002Fself-hosting",{"title":557,"url":558},"Langfuse changelog: v4 is live (17 August 2026)","https:\u002F\u002Flangfuse.com\u002Fchangelog\u002F2026-08-17-langfuse-v4",{"title":560,"url":561},"Langfuse blog: Langfuse joins ClickHouse (16 January 2026)","https:\u002F\u002Flangfuse.com\u002Fblog\u002Fjoining-clickhouse",{"title":563,"url":564},"GitHub: langfuse\u002Flangfuse, the platform repository","https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse","\u002Fimages\u002Fblog\u002Flangfuse\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flangfuse\u002Fog.jpg",[54,55,56],"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":573,"published":574,"minutes":6,"category":7,"tags":575,"keywords":580,"about":587,"sources":591,"cover":607,"og":608,"expertise":52,"locales":609,"lang":56,"title":610,"description":611,"coverAlt":612,"url":613,"pricing":614,"kind":432},"openrouter","2026-07-23",[432,576,577,578,579],"Model routing","Fallbacks","OpenAI-compatible","Pay per token",[573,581,440,582,583,584,585,586],"openrouter vs litellm","openrouter pricing","openai compatible api gateway","llm fallback routing","multi model api gateway","byok llm routing",[588],{"name":589,"url":590},"OpenRouter","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenRouter",[592,595,596,599,602,605],{"title":593,"url":594},"OpenRouter documentation: quickstart","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fquickstart",{"title":502,"url":503},{"title":597,"url":598},"OpenRouter documentation: model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":600,"url":601},"OpenRouter documentation: provider routing","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fprovider-selection",{"title":603,"url":604},"OpenRouter documentation index","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fllms.txt",{"title":606,"url":590},"Wikipedia: OpenRouter","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenrouter\u002Fog.jpg",[54,55,56],"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",1791383550229]