Architektura i integracja AI · LLMOps
Obserwowalność i monitorowanie LLM: aplikacje AI pod kontrolą
Aplikacja LLM, która na testach robi świetne wrażenie, na produkcji może po cichu działać coraz gorzej: odpowiedzi się rozjeżdżają, koszty rosną, użytkownicy odchodzą. Obserwowalność pokazuje, co dzieje się przy każdym zapytaniu, i daje podstawę do zarządzania jakością i kosztami.
Najważniejsze w skrócie
- Obserwowalność LLM (LLM observability) rejestruje przy każdym zapytaniu dane wejściowe, kontekst, odpowiedź modelu, czas odpowiedzi, koszt i ocenę.
- Monitoring informuje, że coś jest nie tak. Obserwowalność pomaga zrozumieć dlaczego.
- Najważniejsze wskaźniki to jakość odpowiedzi, koszt zapytania, czas odpowiedzi, błędy i opinie użytkowników.
- Narzędzia takie jak Langfuse i LangSmith łączą tracing, ewaluację i zarządzanie promptami. Langfuse można też uruchomić na własnej infrastrukturze.
Czym jest obserwowalność LLM
Aplikacje LLM zachowują się inaczej niż klasyczne oprogramowanie. To samo pytanie może dać różne odpowiedzi, nowy prompt lub model zmienia wyniki, a błąd często objawia się nieprawdziwym stwierdzeniem zamiast komunikatu o błędzie. Obserwowalność LLM sprawia, że te procesy da się prześledzić. Opiera się na trzech rodzajach danych:
- Logi: chronologiczny zapis zdarzeń, takich jak dane wejściowe, odpowiedzi i błędy.
- Metryki: pomiary, takie jak czas odpowiedzi, zużycie tokenów, koszty i odsetek błędów.
- Ślady (traces): pełna ścieżka zapytania przez system, od wyszukania dokumentów i wywołania modelu po narzędzia i kroki agentów.
Monitoring a obserwowalność
Monitoring śledzi zdefiniowane metryki i wysyła alert po przekroczeniu progów, np. gdy rośnie czas odpowiedzi lub koszt. Obserwowalność sięga o poziom głębiej: w pojedynczym śladzie pokazuje, który krok spowodował słabą odpowiedź, np. źle wyszukany dokument albo nieaktualny prompt. Na produkcji potrzebne jest jedno i drugie.
Co mierzy się na produkcji
| Obszar | Typowe pytania |
|---|---|
| Jakość odpowiedzi | Czy odpowiedzi zgadzają się ze źródłami? Jak często coś jest zmyślone lub pominięte? |
| Koszty | Ile tokenów zużywa zapytanie i które kroki generują koszty? |
| Czas odpowiedzi | Jak długo czekają użytkownicy i który krok spowalnia system? |
| Błędy | Gdzie wywołania kończą się błędem, a gdzie narzędzia lub interfejsy niczego nie zwracają? |
| Opinie użytkowników | Które odpowiedzi są oznaczane jako błędne i dlaczego? |
| Wersje | Który prompt i który model wygenerowały daną odpowiedź? |
Do oceny jakości wyrywkowe kontrole rzadko wystarczają. Dobrze sprawdzają się stałe zbiory testowe z prawdziwymi pytaniami, oceniane automatycznie od nowa przy każdej zmianie promptu, modelu lub bazy wiedzy.
Z praktyki
Z praktyki: apoQlar
Asystent RAG do kwestionariuszy bezpieczeństwa korzysta z LangFuse, żeby śledzić opinie użytkowników razem z wersjami promptów, kosztami i czasem odpowiedzi. Gdy użytkownicy oznaczają odpowiedź jako nieprecyzyjną, często wskazuje to na lukę w dokumentacji, więc zespoły wiedzą, którą politykę zaktualizować.
Z praktyki: Policy-Insider.AI
Platforma automatycznie streszcza dokumenty polityczne napisane w kilku językach UE. Żeby utrzymać stałą jakość na produkcji, zbudowaliśmy iteracyjny potok ewaluacji, który na bieżąco monitoruje niespójne wyniki i ryzyko halucynacji.
Z praktyki: urząd dozoru technicznego
Prototyp chatbota dla obywateli z jedenastoma agentami dziedzinowymi działa w Microsoft Azure z autoryzacją przez Entra ID i monitoringiem w Langfuse. Dzięki temu w każdej chwili widać, jak system się sprawuje, zgodnie z wymaganiami bezpieczeństwa urzędu.
Langfuse i LangSmith
Dużą część tej pracy przejmują wyspecjalizowane narzędzia. Dwa popularne przykłady:
- Langfuse to narzędzie open source, które oferuje tracing, ewaluacje i zarządzanie promptami. Można z niego korzystać jako z usługi w chmurze albo uruchomić je na własnej infrastrukturze za pomocą Dockera lub Kubernetesa. W tym drugim wariancie niektóre funkcje dodatkowe wymagają licencji.
- LangSmith pochodzi od twórców LangChain i obejmuje tracing, ewaluację i prompt engineering. Współpracuje także z innymi frameworkami i dostawcami modeli, i działa w chmurze, w modelu hybrydowym lub na własnej infrastrukturze.
Przy wyborze najważniejsze jest to, gdzie wolno przechowywać logi, czy dane osobowe można zamaskować przed zapisem, jak dobrze narzędzie łączy się z istniejącymi systemami i frameworkami oraz czy ewaluacje mogą działać automatycznie.
Jak wprowadzić obserwowalność
- Loguj od początku: wbuduj tracing już w prototyp, żeby od pierwszego dnia mieć dane porównawcze.
- Zdefiniuj jakość: ustal, co oznacza dobra odpowiedź, i zbuduj zbiór testowy z prawdziwych pytań.
- Pokaż koszty i czas odpowiedzi: dla każdego zapytania i każdego kroku, żeby kosztowne miejsca szybko wyszły na jaw.
- Zbieraj opinie: daj użytkownikom prosty sposób oceniania odpowiedzi i włączaj te oceny do ewaluacji.
- Zabezpieczaj zmiany: każdy nowy prompt i każdy nowy model sprawdzaj na zbiorze testowym, zanim trafi do użytku.
O tym, jak zorganizować całe utrzymanie modeli AI na produkcji, piszemy w artykule Niezawodne i skalowalne rozwiązania AI dzięki MLOps.
Chcesz zabezpieczyć aplikację LLM na produkcji?
Razem z Tobą wdrażamy tracing, ewaluację i kontrolę kosztów, w chmurze albo na Twojej własnej infrastrukturze.
Zapytaj o analizę procesuNajczęściej zadawane pytania
To możliwość zrozumienia, jak aplikacja LLM zachowuje się na produkcji. Przy każdym zapytaniu rejestrowane są logi, metryki i ślady: dane wejściowe, kontekst, odpowiedź, czas odpowiedzi, koszt i ocena.
Monitoring śledzi zdefiniowane metryki i zgłasza odchylenia. Obserwowalność pokazuje w pojedynczym przebiegu, dlaczego odpowiedź była słaba albo zapytanie drogie.
Przede wszystkim jakość odpowiedzi, koszt zapytania, czas odpowiedzi, błędy, opinie użytkowników oraz wersje promptu i modelu.
Tak. Langfuse to narzędzie open source, które można uruchomić samodzielnie za pomocą Dockera lub Kubernetesa. Niektóre funkcje dodatkowe wymagają licencji.
Aleksandra Osztynowicz