Eszközök/LLMOps és értékelés
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.
- Típus
- Evaluation and red teaming
- Ár
- MIT · Enterprise paid
Balázs Csorba··10 perc olvasás
- LLM evaluation
- Red teaming
- Prompt testing
- CI/CD

A lényeg röviden
- 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.
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.
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.
Ami ez
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 promptfooconfig.yaml vezérli, mindkettő ugyanarról a parancssorról futtatható, és mindkettő beépíthető CI-be.
- MIT-licencű CLI és könyvtár: 0.124.0 npm-en, kb. 25,8k csillag és 2,4k fork a GitHubon
- Deklaratív konfiguráció: promptok, providerek, tesztek és assertok egy YAML-fájlban
- Több mint 60 provider, köztük OpenAI, Anthropic, Google, Azure, Bedrock, Ollama és egyedi HTTP-, Python- vagy JavaScript-végpontok
- Két parancs lefedi a munka nagy részét:
promptfoo evala minőséghez,promptfoo redteam runa biztonsághoz - A Community szint ingyenes, havi 10 000 red team probe-zal; az Enterprise és az On-Premise árazása egyedi
- 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
- 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
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.
Hogyan működik
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 llm-rubric, amelyek plusz modellhívást költenek a kimenet minősítésére.
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 promptfoo eval 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.
Első lépések
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:
# promptfooconfig.yaml: two models, one prompt, three checks
prompts:
- 'Translate this sentence into {{language}}: {{input}}'
providers:
- openai:gpt-6-sol
- openai:gpt-6-luna
tests:
- vars:
language: French
input: Hello world
assert:
- type: contains
value: 'Bonjour'
- type: llm-rubric
value: 'the translation is idiomatic and complete'
- type: cost
threshold: 0.01promptfoo eval lefuttatja a matrix minden celláját és kiírja az átadási arányt; a 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.
Red teaming
promptfoo redteam init ír egy red team konfigot, a redteam setup végigvezet a célon, a redteam run generálja és végrehajtja a támadásokat, a 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.
- 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
- A biztonsági pluginok az OWASP Top 10 for LLMshez, az OWASP API Security Top 10-hez és a MITRE ATLAS-hoz igazodnak
- A megfelelőségi pluginok a NIST AI RMFhez, az ISO/IEC 42001-hez, a GDPR 5. cikkéhez és az EU AI Act 5. cikkéhez igazodnak
- 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
Keretrendszerekhez igazítás
Akinek lefedettséget kell bemutatnia találatok hegye helyett, annak a keretrendszer-azonosítók a hasznosak: nist:ai:measure:1.1, owasp:llm:01, iso:42001:privacy, gdpr:art5, 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.
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.
Kinek a tulajdona most
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.
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.
Ahol gyengélkedik
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.
| Eszköz | Felület | Ingyenes szint | Költségmodell |
|---|---|---|---|
| promptfoo | YAML és CLI, lokálisan fut | Teljes evalok, havi 10k red team probe | MIT; az Enterprise egyedi áras |
| LangSmith | Hostolt platform plusz SDK | 1 ülés és havi 5k base trace | Plus 39 USD/ülés/hó-tól |
| Braintrust | Hostolt platform plusz SDK | Korlátlan felhasználó, 1 GB feldolgozott adat | Pro 249 USD/hó |
| DeepEval | Python, Pytest-stílus | A teljes keretrendszer | Apache 2.0; mögötte hostolt platform |
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.
Ítélet
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.
- 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.
- 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.
- Kihagyhatja, ha hostolt szolgáltatás kell: a dashboard, a megosztott előzmény, a keresés és az API csak Enterprise-ban van.
- 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.
- 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.
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.
Források
- Promptfoo dokumentáció: bevezető
- Promptfoo árak: szintek összehasonlítása
- Promptfoo dokumentáció: első lépések
- Promptfoo dokumentáció: parancssor (kilépési kódok)
- Promptfoo dokumentáció: red team pluginok
- Promptfoo dokumentáció: assertok és metrikák
- Promptfoo repository a GitHubon (MIT licenc)
- Promptfoo blog: Promptfoo is joining OpenAI (2026. március 9.)
Gyakori kérdések
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.
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.
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.
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.