Blog/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.

··10 perc olvasás

  • LLM evaluation
  • Red teaming
  • Prompt testing
  • CI/CD
Magas lap szélesebb keretben, öt nyíl öt négyzethez, kettő pajzs alatt.

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.

Cikk meghallgatása

0:000:00

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 eval a minőséghez, promptfoo redteam run a 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.

Hogyan fut egy promptfoo eval 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.
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.

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.01

promptfoo 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özFelületIngyenes szintKöltségmodell
promptfooYAML és CLI, lokálisan futTeljes evalok, havi 10k red team probeMIT; az Enterprise egyedi áras
LangSmithHostolt platform plusz SDK1 ülés és havi 5k base tracePlus 39 USD/ülés/hó-tól
BraintrustHostolt platform plusz SDKKorlátlan felhasználó, 1 GB feldolgozott adatPro 249 USD/hó
DeepEvalPython, Pytest-stílusA teljes keretrendszerApache 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.

  1. 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.
  2. 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.
  3. Kihagyhatja, ha hostolt szolgáltatás kell: a dashboard, a megosztott előzmény, a keresés és az API csak Enterprise-ban van.
  4. 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.
  5. 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

  1. Promptfoo dokumentáció: bevezető
  2. Promptfoo árak: szintek összehasonlítása
  3. Promptfoo dokumentáció: első lépések
  4. Promptfoo dokumentáció: parancssor (kilépési kódok)
  5. Promptfoo dokumentáció: red team pluginok
  6. Promptfoo dokumentáció: assertok és metrikák
  7. Promptfoo repository a GitHubon (MIT licenc)
  8. 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.

Pont erre van szükséged?

Írj a projektedről vagy a pozícióról – szívesen hallok felőled.