Mi az a Mozaik AI-ügynök kiértékelése?
Fontos
Ez a funkció a nyilvános előzetes verzióban érhető el.
Ez a cikk áttekintést nyújt a Mozaik AI-ügynök kiértékelésének használatáról. Az ügynökértékelés segít a fejlesztőknek kiértékelni az ügynöki AI-alkalmazások, köztük a RAG-alkalmazások és -láncok minőségét, költségeit és késését. Az ügynökértékelés célja, hogy azonosítsa a minőségi problémákat, és meghatározza ezeknek a problémáknak a kiváltó okát. Az ügynökértékelés képességei egységesek az MLOps-életciklus fejlesztési, előkészítési és éles fázisai között, és az összes kiértékelési metrikát és adatot naplózza a rendszer az MLflow-futtatásokba.
Az Ügynökértékelés speciális, kutatásalapú kiértékelési technikákat integrál egy felhasználóbarát SDK-ba és felhasználói felületbe, amely integrálva van a Lakehouse, az MLflow és a Databricks Data Intelligence Platform többi összetevőjével. A Mozaik AI-kutatással együttműködésben kifejlesztett, szabadalmaztatott technológia átfogó megközelítést kínál az ügynökök teljesítményének elemzéséhez és javításához.
Az ügynöki AI-alkalmazások összetettek, és számos különböző összetevőt foglalnak magukban. Ezeknek az alkalmazásoknak a teljesítményének kiértékelése nem olyan egyszerű, mint a hagyományos ml-modellek teljesítményének kiértékelése. A minőség értékeléséhez használt minőségi és mennyiségi metrikák is eleve összetettebbek. Az ügynökértékelés magában foglalja a védett LLM-bírákat és ügynökmetrikákat a lekérési és kérési minőség kiértékeléséhez, valamint az általános teljesítménymetrikákat, például a késést és a tokenköltségeket.
Hogyan használja az ügynökértékelést?
Az alábbi kód bemutatja, hogyan hívhatja meg és tesztelheti az ügynök kiértékelését a korábban létrehozott kimeneteken. Az ügynökértékelés részét képező LLM-bírák által kiszámított értékelési pontszámokat tartalmazó adatkeretet ad vissza.
Másolja és illessze be a következőt a meglévő Databricks-jegyzetfüzetbe:
%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."
}],
},
# Primitive string format
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
"How do I convert a Spark DataFrame to Pandas?"
],
"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.",
]
}
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'])
Másik lehetőségként importálhatja és futtathatja a következő jegyzetfüzetet a Databricks-munkaterületen:
Mozaik AI-ügynök kiértékelési példajegyzetfüzete
Ügynökértékelési bemenetek és kimenetek
Az alábbi ábrán az Ügynökértékelés által elfogadott bemenetek és az Ügynökértékelés által előállított megfelelő kimenetek áttekintése látható.
Bevitelek
Az ügynökértékelés várt bemenetének részleteiért, beleértve a mezőneveket és az adattípusokat, tekintse meg a bemeneti sémát. Néhány mező a következő:
- Felhasználó lekérdezése (
request
): Bemenet az ügynökhöz (a felhasználó kérdése vagy lekérdezése). Például: "Mi a RAG?". - Ügynök válasza (
response
): Az ügynök által generált válasz. Például: "A kibővített lekérési generáció ...". - Várt válasz (
expected_response
): (Nem kötelező) Alapigazság (helyes) válasz. - MLflow-nyomkövetés (): (
trace
Nem kötelező) Az ügynök MLflow-nyomkövetése, amelyből az Ügynökértékelés kinyeri a köztes kimeneteket, például a lekért környezetet vagy az eszközhívásokat. Alternatív megoldásként közvetlenül is megadhatja ezeket a köztes kimeneteket.
Kimenetek
Ezen bemenetek alapján az Ügynökértékelés kétféle kimenetet hoz létre:
- Kiértékelési eredmények (soronként): Az ügynökértékelés minden bemenetként megadott sorhoz létrehoz egy megfelelő kimeneti sort, amely részletes értékelést tartalmaz az ügynök minőségéről, költségeiről és késéséről.
- Az LLM-bírák ellenőrzik a minőség különböző aspektusait, például a helyességet vagy a megalapozottságot, az igen/nem pontszámot és az adott pontszám írásos indoklását. További információ: Hogyan értékeli a minőséget, a költségeket és a késést az ügynökértékelés.
- Az LLM-bírák értékelései össze vannak kötve, hogy olyan összesített pontszámot állítsunk elő, amely azt jelzi, hogy az adott sor "áthalad" (jó minőségű) vagy "sikertelen" (minőségi probléma merül fel).
- A hibás sorok esetében a probléma kiváltó oka azonosítható. Minden alapvető ok egy adott LLM-bíró értékelésének felel meg, így a bíró indoklásával azonosíthatja a lehetséges javításokat.
- A költség és a késés az MLflow-nyomkövetésből lesz kinyerve. További részletekért tekintse meg a költségek és késések kiértékelésének módját.
- Metrikák (összesített pontszámok): Összesített pontszámok, amelyek az ügynök minőségét, költségeit és késését összegzik az összes bemeneti sorban. Ilyenek például a helyes válaszok százalékos aránya, az átlagos jogkivonatok száma, az átlagos késés stb. További részletekért tekintse meg a költségek és késések felmérését és a metrikák aggregátumát az MLflow-futtatás szintjén a minőség, a költség és a késés szempontjából.
Fejlesztés (offline értékelés) és éles környezet (online monitorozás)
Az ügynökértékelés úgy lett kialakítva, hogy konzisztens legyen a fejlesztési (offline) és az éles (online) környezetek között. Ez a kialakítás zökkenőmentes átmenetet tesz lehetővé a fejlesztésről az éles környezetre, lehetővé téve a kiváló minőségű ügynökalkalmazások gyors iterálását, kiértékelését, üzembe helyezését és monitorozását.
A fejlesztés és a gyártás közötti fő különbség az, hogy éles környezetben nem rendelkezik alapigaz címkéket, míg a fejlesztés során opcionálisan használhatja az alapigaz címkéket. Az alapszintű címkék használatával az ügynökértékelés további minőségi metrikákat is kiszámíthat.
Fejlesztés (offline)
A fejlesztés során az Ön requests
és expected_responses
a forrás egy kiértékelési csoportból származik. A kiértékelési csoport olyan reprezentatív bemenetek gyűjteménye, amelyeket az ügynöknek képesnek kell lennie pontosan kezelni. A kiértékelési csoportokról további információt a Kiértékelési csoportok című témakörben talál.
A lekéréshez response
és trace
az ügynökértékelés meghívhatja az ügynök kódját, hogy létrehozza ezeket a kimeneteket a kiértékelési csoport minden sorához. Másik lehetőségként létrehozhatja ezeket a kimeneteket, és átadhatja őket az Ügynökértékelésnek. További információkért tekintse meg a kiértékelési futtatás bemenetének megadását ismertető témakört.
Éles (online)
Éles környezetben az Ügynökértékelés összes bemenete az éles naplókból származik.
Ha a Mozaik AI-ügynök-keretrendszert használja az AI-alkalmazás üzembe helyezéséhez, az Ügynökértékelés konfigurálható úgy, hogy automatikusan összegyűjtse ezeket a bemeneteket az ügynök által bővített következtetési táblákból , és folyamatosan frissítse a figyelési irányítópultot. További részletekért lásd : Az ügynök minőségének monitorozása az éles forgalomban.
Ha az ügynököt az Azure Databricksen kívül helyezi üzembe, a naplókat a szükséges bemeneti sémába helyezheti, és hasonlóképpen konfigurálhat egy monitorozási irányítópultot.
Minőségi teljesítményteszt létrehozása kiértékelési készlettel
A fejlesztés alatt álló (offline) AI-alkalmazások minőségének méréséhez meg kell határoznia egy kiértékelési csoportot, vagyis egy reprezentatív kérdéseket és választható alapigaz válaszokat. Ha az alkalmazás beolvasási lépéssel jár, például a RAG munkafolyamatokban, akkor opcionálisan megadhat olyan dokumentumokat, amelyek alapján a válasz várhatóan alapul.
A kiértékelési csoportokkal kapcsolatos részletekért, beleértve a metrikafüggőségeket és az ajánlott eljárásokat, tekintse meg a kiértékelési készleteket. A szükséges sémáért tekintse meg az Ügynökértékelés bemeneti sémáját.
Kiértékelési futtatások
Az értékelés futtatásával kapcsolatos részletekért tekintse meg a kiértékelés futtatásának és az eredmények megtekintésének módját. Az ügynökértékelés két lehetőséget támogat a lánc kimenetének biztosításához:
- Az alkalmazást a kiértékelési futtatás részeként futtathatja. Az alkalmazás eredményeket hoz létre a kiértékelési csoportban lévő minden egyes bemenethez.
- Az alkalmazás egy korábbi futtatásából is megadhat kimenetet.
Az egyes lehetőségek használatának részleteiért és magyarázatáért lásd : Hogyan adhat bemenetet egy kiértékelési futtatáshoz.
Emberi visszajelzés kérése a GenAI-alkalmazások minőségéről
A Databricks felülvizsgálati alkalmazás megkönnyíti az AI-alkalmazások minőségével kapcsolatos visszajelzések gyűjtését az emberi véleményezőktől. További részletekért tekintse meg az ügynöki alkalmazások minőségével kapcsolatos visszajelzést.
Segédfunkciók földrajzi elérhetősége
A Mozaik AI-ügynök kiértékelése egy kijelölt szolgáltatás , amely a Geos használatával kezeli az adatok tartózkodási helyét az ügyféltartalmak feldolgozásakor. Az ügynökértékelés különböző földrajzi területeken való elérhetőségéről további információt a Databricks Kijelölt szolgáltatások című témakörben talál.
Díjszabás
A díjszabással kapcsolatos információkért tekintse meg a Mozaik AI-ügynök kiértékelési díjszabását.
Korlátozás
Az ügynökértékelés nem érhető el a HIPAA-kompatibilis munkaterületeken.
Információk az LLM-bírákat hatalmi modellekről
- Az LLM-bírák harmadik féltől származó szolgáltatásokat használhatnak a GenAI-alkalmazások kiértékeléséhez, beleértve a Microsoft által üzemeltetett Azure OpenAI-t is.
- Az Azure OpenAI esetében a Databricks letiltotta a visszaélések monitorozását, így az Azure OpenAI nem tárol kéréseket vagy válaszokat.
- Az Európai Unió (EU) munkaterületei esetében az LLM-bírák az EU-ban üzemeltetett modelleket használják. Minden más régió az USA-ban üzemeltetett modelleket használ.
- Az Azure AI-alapú AI-segédfunkciók letiltása megakadályozza, hogy az LLM-bíró meghívja az Azure AI-alapú modelleket.
- Az LLM-bírónak küldött adatok semmilyen modellbetanításhoz nem használhatók.
- Az LLM-bírák célja, hogy segítsenek az ügyfeleknek kiértékelni a RAG-alkalmazásaikat, és az LLM-bírói kimenetek nem használhatók az LLM betanítása, fejlesztése vagy finomhangolása érdekében.