Okvir za evaluacije: regresijski testovi za LLM aplikacije i agente u CI-ju

Ovaj okvir pokrećemo na svaku izmjenu prompta, modela ili alata u AI sistemima koje izrađujemo. Boduje vaš skup testova determinističkim provjerama i provjerama koje ocjenjuje model, poredi rezultat s posljednjom verzijom i obara build kada kvalitet padne.

Šta sadrži.

Kako dijelovi rade zajedno.

  1. 01

    Učitavanje

    Runner čita skupove testova i konfiguraciju prompta, modela i alata koji se testiraju.

  2. 02

    Pokretanje

    Svaki slučaj ide u vašu aplikaciju preko malog adaptera, s ograničenjem paralelnih poziva i ponovnim pokušajima kod grešaka pružaoca modela.

  3. 03

    Ocjenjivanje

    Prvo se pokreću determinističke provjere. Slučajevi koji ih prođu idu modelu koji ocjenjuje, tamo gdje postoji rubrika.

  4. 04

    Poređenje

    Ocjene, trošak i brzina porede se s polaznom vrijednošću, izvještaj se zapisuje, a CI prolazi ili pada.

Pogled u kod.

Uslov na kraju pokretanja: svaki skup se poredi s polaznom vrijednošću, a CI pada kod regresije.

Python
import json
import sys
from pathlib import Path

TOLERANCE = 0.02  # allowed drop in pass rate before the build fails

current = json.loads(Path("reports/current.json").read_text(encoding="utf-8"))
baseline = json.loads(Path("reports/baseline.json").read_text(encoding="utf-8"))

problems = []
for suite, result in current["suites"].items():
    base = baseline["suites"].get(suite)
    if base is None:
        continue
    if base["pass_rate"] - result["pass_rate"] > TOLERANCE:
        problems.append(f"{suite}: pass rate {result['pass_rate']:.1%} (baseline {base['pass_rate']:.1%})")
    new_critical = set(result["failed_critical"]) - set(base["failed_critical"])
    if new_critical:
        problems.append(f"{suite}: new critical failures {sorted(new_critical)}")

if problems:
    print("\n".join(problems))
    sys.exit(1)
print("No regressions against the baseline.")

Tehnologije.

Sve tehnologije

Saznajte kada ga objavimo.

Pripremamo za objavu: Okvir za evaluacije. Poslat ćemo vam jedan e-mail kada bude dostupan, uz naše povremene bilješke.

Povremeni e-mailovi, odjava u bilo kojem trenutku. Pogledajte našu politiku privatnosti.

Započnite saradnju s Vantionom.