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: labelsystem.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.
| Rodzina | Typy |
|---|---|
| Deterministyczne | exact_match, contains, regex, json_schema |
| Sędzia LLM | rubric_judge, groundedness_judge, citation_support_judge, probability_judge, cascade |
| model | model_classifier |
| Wyszukiwanie | hit_rate, recall, mrr, ndcg, citation_validity |
| Agent | agent_max_steps, agent_tool_called, agent_no_tool_loop, agent_tool_sequence, agent_no_undeclared_tool, agent_constraints_satisfied |
| Wieloagentowe | agent_route, agent_tool_permissions, agent_max_handoffs |
| Predykcyjne | predictive_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 runUruchomienie 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
- Rejestrowanie tego, co zrobił system omawia artefakty, użycie i metryki
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.