Co je hodnocení agenta AI pro mozaiku?
Důležité
Tato funkce je ve verzi Public Preview.
Tento článek poskytuje přehled o tom, jak pracovat s hodnocením agenta SAE. Hodnocení agentů pomáhá vývojářům vyhodnotit kvalitu, náklady a latenci aplikací AI agentů , včetně aplikací RAG a řetězců. Vyhodnocení agenta je navržené tak, aby identifikovalo problémy s kvalitou a určilo původní příčinu těchto problémů. Možnosti vyhodnocení agenta jsou sjednocené ve fázích vývoje, přípravy a produkce životního cyklu MLOps a všechny metriky vyhodnocení a data se protokolují do spuštění MLflow.
Vyhodnocení agenta integruje pokročilé techniky vyhodnocení založené na výzkumu do uživatelsky přívětivé sady SDK a uživatelského rozhraní, které je integrované s vaším lakehousem, MLflow a dalšími komponentami Platformy Databricks. Tato proprietární technologie vyvinutá ve spolupráci s výzkumem společnosti Mosaic AI nabízí komplexní přístup k analýze a zvýšení výkonu agentů.
Aplikace AI agentů jsou složité a zahrnují mnoho různých komponent. Vyhodnocení výkonu těchto aplikací není tak jednoduché jako vyhodnocení výkonu tradičních modelů ML. Kvalitativní i kvantitativní metriky, které se používají k vyhodnocení kvality, jsou ze své podstaty složitější. Vyhodnocení agenta zahrnuje proprietární metriky LLM a metriky agentů pro vyhodnocení kvality načítání a požadavků a také celkové metriky výkonu, jako jsou latence a náklady na tokeny.
Návody použít vyhodnocení agenta?
Následující kód ukazuje, jak volat a testovat vyhodnocení agenta na dříve generovaných výstupech. Vrátí datový rámec s vyhodnocením skóre vypočítanými porotci LLM, kteří jsou součástí vyhodnocení agenta.
Do existujícího poznámkového bloku Databricks můžete zkopírovat a vložit následující položky:
%pip install mlflow databricks-agents
dbutils.library.restartPython()
import mlflow
import pandas as pd
examples = {
"request": [
{
# Recommended `messages` format
"messages": [{
"role": "user",
"content": "Spark is a data analytics framework."
}],
},
# SplitChatMessagesRequest format
{
"query": "How do I convert a Spark DataFrame to Pandas?",
"history": [
{"role": "user", "content": "What is Spark?"},
{"role": "assistant", "content": "Spark is a data processing engine."},
],
}
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
],
"response": [
"Spark is a data analytics framework.",
"This is not possible as Spark is not a panda.",
],
"retrieved_context": [ # Optional, needed for judging groundedness.
[{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
[{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
],
"expected_response": [ # Optional, needed for judging correctness.
"Spark is a data analytics framework.",
"To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
],
"guidelines": [
"The response must be in English",
"The response must be clear, coherent, and concise",
]
}
result = mlflow.evaluate(
data=pd.DataFrame(examples), # Your evaluation set
# model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
model_type="databricks-agent", # Enable Mosaic AI Agent Evaluation
)
# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])
Případně můžete importovat a spustit následující poznámkový blok v pracovním prostoru Databricks:
Ukázkový poznámkový blok s hodnocením agenta AI v systému Mosaic
Získej poznámkový blok
Vstupy a výstupy vyhodnocení agenta
Následující diagram znázorňuje přehled vstupů přijatých vyhodnocením agenta a odpovídajících výstupů vytvořených vyhodnocením agenta.
Vstupy
Podrobnosti o očekávané vstupní údaje pro vyhodnocení agenta, včetně názvů polí a datových typů, najdete viz vstupní schéma. Některá pole jsou následující:
-
Dotaz uživatele (
request
): Vstup do agenta (dotaz nebo dotaz uživatele). Například "Co je RAG?". -
Odpověď agenta (
response
): Odpověď vygenerovaná agentem Příklad: "Načítání rozšířené generace je...". -
Očekávaná odpověď (
expected_response
): (Volitelné) Odpověď základní pravdy (správná). -
trace
(Volitelné) Trasování MLflow agenta, ze kterého vyhodnocení agenta extrahuje zprostředkující výstupy, jako je načtený kontext nebo volání nástroje. Případně můžete tyto zprostředkující výstupy zadat přímo. -
Guidelines (
guidelines
): (volitelné) Seznam pokynů, které má výstup modelu dodržovat.
Výstupy
Na základě těchto vstupů vytvoří vyhodnocení agenta dva typy výstupů:
-
Výsledky vyhodnocení (na řádek): Pro každý řádek zadaný jako vstup vytvoří vyhodnocení agenta odpovídající výstupní řádek, který obsahuje podrobné posouzení kvality, nákladů a latence vašeho agenta.
- LLM posuzuje různé aspekty kvality, jako je správnost nebo uzemnění, vypisující skóre ano/ne a písemné odůvodnění tohoto skóre. Podrobnosti najdete v tématu Hodnocení agenta v části Jak se hodnotí kvalita, náklady a latence.
- Hodnocení porotců LLM se zkombinují, aby se vytvořilo celkové skóre, které označuje, jestli se tento řádek "projde" (je vysoká kvalita) nebo "selže" (má problém s kvalitou).
- U všech neúspěšných řádků je identifikována původní příčina. Každá původní příčina odpovídá posouzení konkrétního soudce LLM, což vám umožní použít odůvodnění soudce k identifikaci potenciálních oprav.
- Náklady a latence se extrahují z trasování MLflow. Podrobnosti najdete v tématu Vyhodnocení nákladů a latence.
- Metriky (agregované skóre): Agregované skóre, které shrnují kvalitu, náklady a latenci vašeho agenta napříč všemi vstupními řádky. Patří mezi ně metriky, jako je procento správných odpovědí, průměrný počet tokenů, průměrná latence a další. Podrobnosti najdete v tématu Vyhodnocení nákladů a latence a agregace metrik na úrovni spuštění MLflow pro kvalitu, náklady a latenci.
Vývoj (offline vyhodnocení) a produkce (online monitorování)
Vyhodnocení agenta je navržené tak, aby bylo konzistentní mezi vývojovými (offline) a produkčními (online) prostředími. Tento návrh umožňuje hladký přechod z vývoje do produkčního prostředí a umožňuje rychle iterovat, vyhodnocovat, nasazovat a monitorovat vysoce kvalitní agentické aplikace.
Hlavní rozdíl mezi vývojem a výrobou spočívá v tom, že v produkčním prostředí nemáte popisky základní pravdy, zatímco ve vývoji můžete volitelně používat popisky základní pravdy. Použití popisků základní pravdy umožňuje vyhodnocení agenta vypočítat další metriky kvality.
Vývoj (offline)
Ve vývoji pocházejí vaše requests
a expected_responses
ze sady hodnocení . Sada vyhodnocení je kolekce reprezentativních vstupů, které by měl váš agent správně zpracovat. Další informace o zkušebních sadách najdete v tématu Sady vyhodnocení.
Pokud chcete získat response
a trace
, může agent hodnocení volat kód vašeho agenta, který vygeneruje tyto výstupy pro každý řádek v hodnotící sadě. Alternativně můžete tyto výstupy vygenerovat sami a předat je do vyhodnocení agenta. Další informace najdete v tématu Jak zadat vstup do zkušebního spuštění .
Výroba (online)
V produkčním prostředí pocházejí všechny vstupy do vyhodnocení agenta z vašich produkčních protokolů.
Pokud k nasazení aplikace AI používáte Agentní rámec Mosaic AI, je možné nakonfigurovat vyhodnocení agenta tak, aby automaticky shromažďoval tyto vstupy z tabulek dedukcí vylepšených agentem a průběžně aktualizoval monitorovací řídicí panel. Další podrobnosti najdete v tématu Jak monitorovat kvalitu agenta v produkčním provozu.
Pokud nasadíte agenta mimo Azure Databricks, můžete protokoly zpracovat pomocí ETL do požadovaného vstupního schématu a podobně nakonfigurovat monitorovací panel.
Stanovte referenční úroveň kvality s hodnotící sadou
Pokud chcete měřit kvalitu aplikace AI ve vývoji (offline), musíte definovat sadu hodnocení, tj. sadu reprezentativních otázek a volitelných odpovědí na základní pravdu. Pokud aplikace zahrnuje krok načítání, například v pracovních postupech RAG, můžete volitelně poskytnout podpůrné dokumenty, na základě které očekáváte odpověď.
- Podrobnosti o sadách vyhodnocení, včetně závislostí metrik a osvědčených postupů, najdete v tématu Sady vyhodnocení.
- Požadované schéma najdete v tématu Vstupní schéma vyhodnocení agenta.
- Informace o tom, jak synteticky generovat vysoce kvalitní vyhodnocovací sadu, naleznete v tématu Syntetizovat vyhodnocovací sady.
Zkušební spuštění
Podrobnosti o tom, jak spustit vyhodnocení, najdete v tématu Spuštění vyhodnocení a zobrazení výsledků. Vyhodnocení agenta podporuje dvě možnosti poskytování výstupu z řetězu:
- Aplikaci můžete spustit jako součást zkušebního spuštění. Aplikace generuje výsledky pro každý vstup v testovací sadě.
- Můžete zadat výstup z předchozího spuštění aplikace.
Podrobnosti a vysvětlení, kdy se mají jednotlivé možnosti použít, najdete v tématu Zadání vstupů do zkušebního spuštění.
Získejte lidskou zpětnou vazbu o kvalitě aplikace GenAI
Aplikace pro kontrolu Databricks usnadňuje shromažďování názorů na kvalitu aplikace AI od kontrolorů lidí. Podrobnosti najdete v tématu Získání zpětné vazby o kvalitě aplikace agentury.
Geografická dostupnost funkcí Pomocníka
Hodnocení agenta AI v systému Mosaic je určená služba , která používá geos ke správě rezidence dat při zpracování zákaznického obsahu. Další informace o dostupnosti hodnocení agentů v různých geografických oblastech najdete v tématu Databricks Designated Services.
Ceny
Informace o cenách najdete v tématu Ceny hodnocení agenta Mosaic AI.
Informace o modelech, které nutí soudce LLM
- Porotci LLM můžou k vyhodnocení aplikací GenAI, včetně Azure OpenAI provozovaných Microsoftem, používat služby třetích stran.
- Pro Azure OpenAI se Databricks odhlásila z monitorování zneužití, takže se v Azure OpenAI neukládají žádné výzvy ani odpovědi.
- V případě pracovních prostorů Evropské unie (EU) používají porotci LLM modely hostované v EU. Všechny ostatní oblasti používají modely hostované v USA.
- Zakázání funkcí usnadnění AI využívajících Azure AI brání soudce LLM v volání modelů využívajících Azure AI.
- Data odesílaná do soudce LLM se nepoužívají pro trénování modelu.
- Porotci LLM mají pomoct zákazníkům vyhodnotit jejich aplikace RAG a výstupy soudce LLM by neměly být použity k trénování, zlepšování nebo vyladění LLM.