Skip to content

Rozpocznij

Pisanie zestawu

Zestaw to dwa pliki i zbiór danych. oloproof init tworzy szkielet obu, a szkielet jest opatrzony komentarzami, ponieważ pierwsze przejście przez onboarding straciło cztery próby przez brakujący ciąg znaków, a nie przez brakującą funkcję.

Plik projektu

oloproof.yaml deklaruje, co jest mierzone i co dokonuje pomiaru.

version: 1
project: example
dataset: data/example.jsonl
system:
  name: example-support-bot
  version: "1"
  callable: app:answer
  config: {}
evaluators:
  - type: exact_match
    criterion: exact_label
    field: label

system.callable to ścieżka importu do testowanego obiektu. criterion to nazwa, której metryka, próg i raport użyją dla wyniku tego ewaluatora, więc warto wybrać słowo, które rozpoznasz w bramce.

Typy ewaluatorów

Każdy type: przyjmowany przez plik, według rodziny. Odrzucone pole odpowiada listą pól, które dany ewaluator przyjmuje, więc błędny strzał dzieli od poprawnego jedno uruchomienie.

RodzinaTypy
Deterministyczneexact_match, contains, regex, json_schema
Sędzia LLMrubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade
modelmodel_classifier
Wyszukiwaniehit_rate, recall, mrr, ndcg, citation_validity
Agentagent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied
Wieloagentoweagent_route, agent_tool_permissions, agent_max_handoffs
Predykcyjnepredictive_correct, predictive_precision, predictive_recall, predictive_ranking, predictive_brier, predictive_log_loss, predictive_absolute_error

Sędzia LLM na punkcie końcowym, który nie należy do OpenAI, potrzebuje dwóch dodatkowych pól: base_url: i api_key_env:. Klucz jest odczytywany ze środowiska w chwili wywołania i nigdy nie jest zapisywany.

Uruchamianie

oloproof run

Uruchomienie wykonuje każdy przypadek, ocenia każdy z nich każdym ewaluatorem i zapisuje wyniki jako rekordy adresowane treścią. Ponowne uruchomienie dla niezmienionego systemu i niezmienionego zbioru danych wykorzystuje to, co już istnieje, dlatego powtórzone uruchomienie nie kosztuje prawie nic i nie jest liczone.

oloproof plan RUN_ID --run podaje, czego wymagałoby rozstrzygnięcie nierozstrzygniętej reguły, wycenione na podstawie tego, co to uruchomienie faktycznie wydało. Z identyfikatorem porównania zamiast tego nie potrzebuje flagi.

Powtórzenia

Przypadek zmierzony raz mówi, co wydarzyło się raz. replicates: mierzy każdy przypadek więcej niż raz i podaje, ile przypadków zmieniło werdykt między identycznymi pomiarami.

Tę liczbę warto znać, zanim zaufa się jakiemukolwiek porównaniu: w przypadku działającego asystenta mniej więcej jeden obserwowany przypadek na dziewięć zmieniał werdykt między identycznymi uruchomieniami.

Co dalej

opóźnień.

Klasyfikatory i regresory omawiają typy wyszukiwania, agentowe i predykcyjne.

  • Bramkowanie CI zamienia decyzję w kod wyjścia.
  • Sędziowie omawia, co sędzia LLM musi spełnić, zanim będzie mógł bramkować wydanie.
  • Podstawowe pojęcia wyjaśnia cztery stany decyzji i dlaczego mianowniki mają

znaczenie.