Megosztás a következőn keresztül:


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.

LLMOps-diagram a kiértékelésről

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

Jegyzetfüzet beszerzése

Ü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ó.

agent_eval_data_flows

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 (): (traceNem 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:

  1. 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.
  2. 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)

agent_eval_overview_dev

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 traceaz ü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)

agent_eval_overview_prod

É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.