Ocena C# LLM Eventparsera za pomocą Promptfoo
Testowanie zwykłego kodu jest proste. Wywołujesz funkcję, otrzymujesz wynik i sprawdzasz, czy jest on zgodny z Twoimi oczekiwaniami.
Testowanie modeli LLM wygląda inaczej. LLM może zwrócić „3 PM” w jednym uruchomieniu, a „15:00” w innym. Oba wyniki są poprawne, ale test sprawdzający dokładną zgodność (exact match) zakończy się niepowodzeniem. Musisz sprawdzić, czy odpowiedź jest dobra, a nie czy jest identyczna.
Zbudowałem małą aplikację o nazwie EventParser, aby to przetestować. Przyjmuje ona nieformalną wiadomość, taką jak „Team sync on Friday at 3 PM”, i zamienia ją na ustrukturyzowane dane.
Oto jak możesz to przetestować, korzystając z Promptfoo i przepływu pracy typu LLM-as-a-judge.
Konfiguracja
Aplikacja korzysta z jednego pliku promptu: extract_event.txt. Kod C# odczytuje ten plik w czasie wykonywania programu. Promptfoo odczytuje ten sam plik do celów testowych. Dzięki temu masz pewność, że testujesz rzeczywisty prompt, który widzą Twoi użytkownicy.
Przepływ pracy
Zamiast człowieka sprawdzającego każdy wynik, używamy modelu sędziego (judge model). Proces ten wykorzystuje dwie role:
• Model poddawany testom: Model dostarczający odpowiedź. • Model sędzia: Szybszy i tańszy model, który ocenia odpowiedź.
