Sdílet prostřednictvím


Reference k hodnocení soudce LLM pro hodnocení agenta AI v systému Mosaic AI

Důležité

Tato funkce je ve verzi Public Preview.

Tento článek popisuje podrobnosti o každém z porotců LLM, které jsou integrované do hodnocení agenta Mosaic AI, včetně požadovaných vstupů a výstupních metrik. Zahrnuje také výstup vytvořený vlastními porotci.

Úvod k porotcům LLM najdete v tématu Jak hodnocení agenta hodnotí kvalitu, náklady a latenci.

Porotci odpovědí

Metriky kvality odpovědí vyhodnocují, jak dobře aplikace reaguje na žádost uživatele. Tyto metriky vyhodnocují faktory, jako je přesnost odpovědi v porovnání se základní pravdou, jestli je odpověď dobře uzemněná vzhledem k načteným kontextu (nebo jestli je LLM halucinace) a jestli je odpověď bezpečná a bez toxického jazyka.

Celkově, dal LLM přesnou odpověď?

correctness Soudce LLM poskytuje binární vyhodnocení a písemné odůvodnění o tom, zda je vygenerovaná odpověď agenta fakticky přesná a sémanticky podobná poskytnuté odpovědi na základní pravdu.

Požadovaný vstup pro correctness

Základní pravda expected_response je povinná.

Vstupní sada vyhodnocení musí mít následující sloupce:

  • request
  • expected_response

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo response trace.

Důležité

Základní pravda expected_response by měla obsahovat pouze minimální sadu faktů, které jsou požadovány pro správnou odpověď. Pokud zkopírujete odpověď z jiného zdroje, upravte odpověď tak, aby se odebral veškerý text, který není nutný k tomu, aby odpověď byla považována za správnou.

Zahrnutím pouze požadovaných informací a vynechání informací, které nejsou v odpovědi výhradně vyžadovány, umožňuje vyhodnocení agenta poskytovat robustnější signál o kvalitě výstupu.

Výstup pro correctness

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
response/llm_judged/correctness/rating string yes nebo no. yes označuje, že vygenerovaná odpověď je vysoce přesná a sémanticky podobná základní pravdu. Menší vynechání nebo nepřesnosti, které stále zachycují záměr základní pravdy, jsou přijatelné. no značí, že odpověď nesplňuje kritéria.
response/llm_judged/correctness/rationale string LLM písemné odůvodnění nebo yes no.
response/llm_judged/correctness/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
response/llm_judged/correctness/rating/percentage float, [0, 1] Ve všech otázkách je procento správnosti vyhodnoceno jako yes.

Je odpověď relevantní pro požadavek?

Soudce relevance_to_query LLM určuje, zda je odpověď relevantní pro vstupní požadavek.

Požadovaný vstup pro relevance_to_query

Základní pravda není nutná.

Vstupní sada vyhodnocení musí mít následující sloupec:

  • request

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo response trace.

Výstup pro relevance_to_query

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
response/llm_judged/relevance_to_query/rating string yes je-li odpověď posouzena jako relevantní pro žádost, no jinak.
response/llm_judged/relevance_to_query/rationale string LLM písemné odůvodnění nebo yes no.
response/llm_judged/relevance_to_query/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
response/llm_judged/relevance_to_query/rating/percentage float, [0, 1] Ve všech otázkách, procento, kde relevance_to_query/rating je vyhodnoceno jako yes.

Je odpověď halucinace, nebo je uzemněná v načteného kontextu?

Soudce groundedness LLM vrátí binární vyhodnocení a písemné odůvodnění, zda je vygenerovaná odpověď fakticky konzistentní s načteným kontextem.

Požadovaný vstup pro groundedness

Základní pravda není nutná.

Vstupní sada vyhodnocení musí mít následující sloupec:

  • request

Kromě toho, pokud nepoužíváte model argument ve volání mlflow.evaluate(), musíte také zadat buď trace nebo oba nebo oba retrieved_context[].content.response

Výstup pro groundedness

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
response/llm_judged/groundedness/rating string yes pokud načtený kontext podporuje všechny nebo téměř všechny vygenerované odpovědi, no jinak.
response/llm_judged/groundedness/rationale string LLM písemné odůvodnění nebo yes no.
response/llm_judged/groundedness/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
response/llm_judged/groundedness/rating/percentage float, [0, 1] V rámci všech otázek je procento, kde groundedness/rating se posuzuje jako yes.

Je v odpovědi agenta škodlivý obsah?

Soudce safety LLM vrátí binární hodnocení a písemné odůvodnění, zda vygenerovaná odpověď má škodlivý nebo toxický obsah.

Požadovaný vstup pro safety

Základní pravda není nutná.

Vstupní sada vyhodnocení musí mít následující sloupec:

  • request

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo response trace.

Výstup pro safety

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
response/llm_judged/safety/rating string yes pokud odpověď nemá škodlivý nebo toxický obsah, no jinak.
response/llm_judged/safety/rationale string LLM písemné odůvodnění nebo yes no.
response/llm_judged/safety/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
response/llm_judged/safety/rating/average float, [0, 1] Procento všechotázekch yes

Načítaní porotci

Metriky kvality načítání vyhodnocují výkon retrieveru při hledání dokumentů, které jsou relevantní pro vstupní požadavek. Tyto metriky vyhodnocují faktory, jako jsou: Našel retriever relevantní bloky dat? Kolik známých relevantních dokumentů zjistilo? Byly nalezeny dokumenty dostatečné k vytvoření očekávané odpovědi?

Našel retriever relevantní bloky dat?

Soudce chunk-relevance-precision LLM určuje, zda bloky dat vrácené retrieverem jsou relevantní pro vstupní požadavek. Přesnost se vypočítá jako počet relevantních bloků dat vrácených celkovým počtem vrácených bloků dat. Pokud například retriever vrátí čtyři bloky dat a soudce LLM určí, že tři ze čtyř vrácených dokumentů jsou pro požadavek relevantní, pak llm_judged/chunk_relevance/precision je 0,75.

Požadovaný vstup pro llm_judged/chunk_relevance

Základní pravda není nutná.

Vstupní sada vyhodnocení musí mít následující sloupec:

  • request

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo retrieved_context[].content trace.

Výstup pro llm_judged/chunk_relevance

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
retrieval/llm_judged/chunk_relevance/ratings array[string] Pro každý blok dat nebo nooznačující, yes jestli je načtený blok dat relevantní pro vstupní požadavek.
retrieval/llm_judged/chunk_relevance/rationales array[string] Pro každý blok dat je LLM důvodem pro odpovídající hodnocení.
retrieval/llm_judged/chunk_relevance/error_messages array[string] Pokud u každého bloku došlo k chybě při výpočtu hodnocení, podrobnosti o chybě jsou zde a další výstupní hodnoty budou null. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.
retrieval/llm_judged/chunk_relevance/precision float, [0, 1] Vypočítá procento relevantních bloků dat ze všech načtených bloků dat.

Pro celou sadu vyhodnocení se hlásí následující metrika:

Název metriky Typ Popis
retrieval/llm_judged/chunk_relevance/precision/average float, [0, 1] Průměrná hodnota chunk_relevance/precision všech otázek

Kolik známých relevantních dokumentů našel retriever?

document_recall se vypočítá jako počet relevantních dokumentů vrácených celkovým počtem relevantních dokumentů na základě základní pravdy. Předpokládejme například, že dva dokumenty jsou relevantní na základě základní pravdy. Pokud retriever vrátí jeden z těchto dokumentů, document_recall je 0,5. Tato metrika není ovlivněna celkovým počtem vrácených dokumentů.

Tato metrika je deterministická a nepoužívá soudce LLM.

Požadovaný vstup pro document_recall

Základní pravda je povinná.

Vstupní sada vyhodnocení musí mít následující sloupec:

  • expected_retrieved_context[].doc_uri

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo retrieved_context[].doc_uri trace.

Výstup pro document_recall

Pro každou otázku se vypočítá následující metrika:

Datové pole Typ Popis
retrieval/ground_truth/document_recall float, [0, 1] Procento základní pravdy doc_uris , které jsou přítomné v načtených blocích.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
retrieval/ground_truth/document_recall/average float, [0, 1] Průměrná hodnota document_recall všech otázek

Našel retriever dostatečné dokumenty k vytvoření očekávané odpovědi?

Soudce context_sufficiency LLM určuje, zda retriever načetl dokumenty, které jsou dostatečné k vytvoření očekávané odpovědi.

Požadovaný vstup pro context_sufficiency

Základní pravda je povinná expected_response .

Vstupní sada vyhodnocení musí mít následující sloupce:

  • request
    • expected_response

Kromě toho, pokud nepoužíváte model argument v volání mlflow.evaluate(), musíte také zadat nebo retrieved_context[].content trace.

Výstup pro context_sufficiency

Pro každou otázku se počítají následující metriky:

Datové pole Typ Popis
retrieval/llm_judged/context_sufficiency/rating string yes nebo no. yes značí, že načtený kontext stačí k vytvoření očekávané odpovědi. no značí, že pro tuto otázku je potřeba ladit načtení, aby se vrátily chybějící informace. Zdůvodnění výstupu by mělo zmínit, jaké informace chybí.
retrieval/llm_judged/context_sufficiency/rationale string LLM písemné odůvodnění nebo yes no.
retrieval/llm_judged/context_sufficiency/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
retrieval/llm_judged/context_sufficiency/rating/percentage float, [0, 1] Procento, kde je kontextová efektivita vyhodnocena jako yes.

Metriky vlastního soudce

Můžete vytvořit vlastní soudce, který provede posouzení specifická pro váš případ použití. Podrobnosti najdete v tématu Vytvoření vlastních porotců LLM.

Výstup vytvořený vlastním soudcem závisí na jeho assessment_type, ANSWER nebo RETRIEVAL.

Vlastní soudce LLM pro posouzení ODPOVĚDÍ

Vlastní soudce LLM pro posouzení ODPOVĚDÍ vyhodnotí odpověď pro každou otázku.

Výstupy poskytované pro každé posouzení:

Datové pole Typ Popis
response/llm_judged/{assessment_name}/rating string yes nebo no.
response/llm_judged/{assessment_name}/rationale string LLM písemné odůvodnění nebo yes no.
response/llm_judged/{assessment_name}/error_message string Pokud při výpočtu této metriky došlo k chybě, podrobnosti o této chybě jsou tady. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.

Pro celou sadu vyhodnocení se vypočítá následující metrika:

Název metriky Typ Popis
response/llm_judged/{assessment_name}/rating/percentage float, [0, 1] Ve všech otázkách je procento, kde {assessment_name} se posuzuje jako yes.

Vlastní soudce LLM pro hodnocení NAČÍTÁNÍ

Vlastní soudce LLM pro hodnocení RETRIEVEAL vyhodnocuje každý načtený blok dat napříč všemi otázkami.

Výstupy poskytované pro každé posouzení:

Datové pole Typ Popis
retrieval/llm_judged/{assessment_name}/ratings array[string] Vyhodnocení vlastního soudce pro každý blok dat neboyes no.
retrieval/llm_judged/{assessment_name}/rationales array[string] Pro každý blok dat je LLM napsané odůvodnění nebo yes no.
retrieval/llm_judged/{assessment_name}/error_messages array[string] Pokud u každého bloku došlo k chybě při výpočtu této metriky, jsou zde podrobnosti o chybě a další hodnoty mají hodnotu NULL. Pokud se žádná chyba nezobrazí, jedná se o hodnotu NULL.
retrieval/llm_judged/{assessment_name}/precision float, [0, 1] Procento všech načtených bloků dat, které vlastní soudce vyhodnotil jako yes.

Metriky hlášené pro celou sadu vyhodnocení:

Název metriky Typ Popis
retrieval/llm_judged/{assessment_name}/precision/average float, [0, 1] Průměrná hodnota {assessment_name}_precision všech otázek