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

··10 perc olvasás

  • LLM evaluation
  • Red teaming
  • Prompt testing
  • CI/CD
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.

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 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 evalNé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.Egy konfig, egy futáspromptfoo evalkonfigpromptok, tesztekrunnerpárhuzamos, cachedassertokkimenet értékeléseviewer, CImátrix, kilépési kódEREDMÉNY-MÁTRIXminden cella egy prompt x teszt x providerzöld átmegy, arany elbukik, szürke cacheda kilépési kód vezérli a pull requestet100 bukott tesztnél, 1 minden más hibánál
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.