promptflow.evals.evaluators Modul#

class promptflow.evals.evaluators.BleuScoreEvaluator#

Basiert auf: object

Evaluator, der den BLEU-Score zwischen zwei Zeichenketten berechnet.

Der BLEU (Bilingual Evaluation Understudy) Score wird häufig in der natürlichen Sprachverarbeitung (NLP) und maschinellen Übersetzung verwendet. Er kommt häufig in Anwendungsfällen für Textzusammenfassung und Textgenerierung zum Einsatz. Er bewertet, wie gut der generierte Text mit dem Referenztext übereinstimmt. Der BLEU-Score reicht von 0 bis 1, wobei höhere Werte auf eine bessere Qualität hindeuten.

Verwendung

eval_fn = BleuScoreEvaluator()
result = eval_fn(
    answer="Tokyo is the capital of Japan.",
    ground_truth="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "bleu_score": 0.22
}
__call__(*, answer: str, ground_truth: str, **kwargs)#

Bewertet den BLEU-Score zwischen der Antwort und der Ground Truth.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die Ground Truth, mit der verglichen werden soll.

Gibt zurück:

Der BLEU-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.ChatEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration], eval_last_turn: bool = False, parallel: bool = True)#

Basiert auf: object

Initialisiert einen Chat-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:
  • model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

  • eval_last_turn (bool) – Auf True setzen, um nur den letzten Austausch im Dialog zu bewerten, wobei der Fokus auf der neuesten Benutzeranfrage und der entsprechenden Antwort des Assistenten liegt. Standard ist False.

  • parallel (bool) – Wenn True, wird eine parallele Ausführung für Evaluatoren verwendet. Andernfalls wird eine sequenzielle Ausführung verwendet. Standard ist True.

Gibt zurück:

Eine Funktion, die Metriken für ein „Chat“-Szenario bewertet und generiert.

Rückgabetyp:

Callable

Verwendung

chat_eval = ChatEvaluator(model_config)
conversation = [
    {"role": "user", "content": "What is the value of 2 + 2?"},
    {"role": "assistant", "content": "2 + 2 = 4", "context": {
        "citations": [
                {"id": "math_doc.md", "content": "Information about additions: 1 + 2 = 3, 2 + 2 = 4"}
                ]
        }
    }
]
result = chat_eval(conversation=conversation)

Ausgabeformat

{
    "evaluation_per_turn": {
        "gpt_retrieval": [1.0, 2.0],
        "gpt_groundedness": [5.0, 2.0],
        "gpt_relevance": [3.0, 5.0],
        "gpt_coherence": [1.0, 2.0],
        "gpt_fluency": [3.0, 5.0]
    }
    "gpt_retrieval": 1.5,
    "gpt_groundedness": 3.5,
    "gpt_relevance": 4.0,
    "gpt_coherence": 1.5,
    "gpt_fluency": 4.0
}
__call__(*, conversation, **kwargs)#

Bewertet das Chat-Szenario.

Parameter:

conversation (List[Dict]) – Der zu bewertende Dialog. Jede Runde sollte die Schlüssel „role“ und „content“ haben. Der Schlüssel „context“ ist für die Runde des Assistenten optional und sollte den Schlüssel „citations“ mit einer Liste von Zitaten enthalten.

Gibt zurück:

Die Ergebnisse für das Chat-Szenario.

Rückgabetyp:

dict

class promptflow.evals.evaluators.CoherenceEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration])#

Basiert auf: object

Initialisiert einen Kohärenz-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Verwendung

eval_fn = CoherenceEvaluator(model_config)
result = eval_fn(
    question="What is the capital of Japan?",
    answer="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "gpt_coherence": 1.0
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet die Kohärenz.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Kohärenz-Score.

Rückgabetyp:

Dict[str, float]

class promptflow.evals.evaluators.ContentSafetyChatEvaluator(project_scope: dict, eval_last_turn: bool = False, parallel: bool = True, credential=None)#

Basiert auf: object

Initialisiert einen Content-Safety-Chat-Evaluator, der für die Bewertung von Content-Safety-Metriken für das Chat-Szenario konfiguriert ist.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • eval_last_turn (bool) – Auf True setzen, um nur den letzten Austausch im Dialog zu bewerten, wobei der Fokus auf der neuesten Benutzeranfrage und der entsprechenden Antwort des Assistenten liegt. Standard ist False.

  • parallel (bool) – Wenn True, wird eine parallele Ausführung für Evaluatoren verwendet. Andernfalls wird eine sequenzielle Ausführung verwendet. Standard ist True.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Gibt zurück:

Eine Funktion, die Metriken für ein „Chat“-Szenario bewertet und generiert.

Rückgabetyp:

Callable

Verwendung

eval_fn = ContentSafetyChatEvaluator(model_config)
conversation = [
    {"role": "user", "content": "What is the value of 2 + 2?"},
    {"role": "assistant", "content": "2 + 2 = 4"}
]
result = ContentSafetyChatEvaluator(conversation=conversation)

Ausgabeformat

{
    "evaluation_per_turn": {
        "violence": ["High", "Low"],
        "violence_score": [7.0, 3.0],
        "violence_reason": "Some reason",
        "sexual": ["High", "Low"],
        "sexual_score": [7.0, 3.0],
        "sexual_reason": "Some reason",
        "self_harm": ["High", "Low"],
        "self_harm_score": [7.0, 3.0],
        "self_harm_reason": "Some reason",
        "hate_unfairness": ["High", "Low"],
        "hate_unfairness_score": [7.0, 3.0],
        "hate_unfairness_reason": "Some reason"
    },
    "violence": "Medium",
    "violence_score": 5.0,
    "sexual": "Medium",
    "sexual_score": 5.0,
    "self_harm": "Medium",
    "self_harm_score": 5.0,
    "hate_unfairness": "Medium",
    "hate_unfairness_score": 5.0,
}
__call__(*, conversation, **kwargs)#

Bewertet Content-Safety-Metriken für das „Chat“-Szenario.

Parameter:

conversation (List[Dict]) – Der zu bewertende Dialog. Jede Runde sollte die Schlüssel „role“ und „content“ haben.

Gibt zurück:

Die Ergebnisse für das Chat-Szenario.

Rückgabetyp:

dict

class promptflow.evals.evaluators.ContentSafetyEvaluator(project_scope: dict, parallel: bool = True, credential=None)#

Basiert auf: object

Initialisiert einen Content-Safety-Evaluator, der für die Bewertung von Content-Safety-Metriken für das QA-Szenario konfiguriert ist.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • parallel – Wenn True, wird eine parallele Ausführung für Evaluatoren verwendet. Andernfalls wird eine sequenzielle Ausführung verwendet. Standard ist True.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Gibt zurück:

Eine Funktion, die Content-Safety-Metriken für das „Frage-Antwort“-Szenario bewertet und generiert.

Rückgabetyp:

Callable

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = ContentSafetyEvaluator(project_scope)
result = eval_fn(
    question="What is the capital of France?",
    answer="Paris.",
)

Ausgabeformat

{
    "violence": "Medium",
    "violence_score": 5.0,
    "violence_reason": "Some reason",
    "sexual": "Medium",
    "sexual_score": 5.0,
    "sexual_reason": "Some reason",
    "self_harm": "Medium",
    "self_harm_score": 5.0,
    "self_harm_reason": "Some reason",
    "hate_unfairness": "Medium",
    "hate_unfairness_score": 5.0,
    "hate_unfairness_reason": "Some reason"
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet Content-Safety-Metriken für das „Frage-Antwort“-Szenario.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

  • parallel (bool) – Ob parallel bewertet werden soll.

Gibt zurück:

Die Ergebnisse für Content-Safety.

Rückgabetyp:

dict

class promptflow.evals.evaluators.F1ScoreEvaluator#

Basiert auf: object

Initialisiert einen F1-Score-Evaluator zur Berechnung des F1-Scores.

Verwendung

eval_fn = F1ScoreEvaluator()
result = eval_fn(
    answer="The capital of Japan is Tokyo.",
    ground_truth="Tokyo is Japan's capital, known for its blend of traditional culture                 and technological advancements.")

Ausgabeformat

{
    "f1_score": 0.42
}
__call__(*, answer: str, ground_truth: str, **kwargs)#

Bewertet den F1-Score.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die zu bewertende Ground Truth.

Gibt zurück:

Der F1-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.FluencyEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration])#

Basiert auf: object

Initialisiert einen Flüssigkeits-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Verwendung

eval_fn = FluencyEvaluator(model_config)
result = eval_fn(
    question="What is the capital of Japan?",
    answer="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "gpt_fluency": 4.0
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet die Flüssigkeit.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Flüssigkeits-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.GleuScoreEvaluator#

Basiert auf: object

Evaluator, der den BLEU-Score zwischen zwei Zeichenketten berechnet.

Der GLEU (Google-BLEU) Score-Evaluator misst die Ähnlichkeit zwischen generierten und Referenztexten, indem er die n-Gramm-Überlappung unter Berücksichtigung von Präzision und Rückruf bewertet. Diese ausgewogene Bewertung, die für die Satzebenenbewertung konzipiert ist, macht sie ideal für eine detaillierte Analyse der Übersetzungsqualität. GLEU eignet sich gut für Anwendungsfälle wie maschinelle Übersetzung, Textzusammenfassung und Textgenerierung.

Verwendung

eval_fn = GleuScoreEvaluator()
result = eval_fn(
    answer="Tokyo is the capital of Japan.",
    ground_truth="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "gleu_score": 0.41
}
__call__(*, ground_truth: str, answer: str, **kwargs)#

Bewertet den GLEU-Score zwischen der Antwort und der Ground Truth.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die Ground Truth, mit der verglichen werden soll.

Gibt zurück:

Der GLEU-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.GroundednessEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration])#

Basiert auf: object

Initialisiert einen Groundedness-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Verwendung

eval_fn = GroundednessEvaluator(model_config)
result = eval_fn(
    answer="The capital of Japan is Tokyo.",
    context="Tokyo is Japan's capital, known for its blend of traditional culture                 and technological advancements.")

Ausgabeformat

{
    "gpt_groundedness": 5
}
__call__(*, answer: str, context: str, **kwargs)#

Bewertet die Groundedness der Antwort im Kontext.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • context (str) – Der Kontext, in dem die Antwort bewertet wird.

Gibt zurück:

Der Groundedness-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.HateUnfairnessEvaluator(project_scope: dict, credential=None)#

Basiert auf: object

Initialisiert einen Hate-Unfairness-Evaluator für den Hate-Unfairness-Score.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = HateUnfairnessEvaluator(project_scope)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat

{
    "hate_unfairness": "High",
    "hate_unfairness_score": 6.5,
    "hate_unfairness_reason": "Some reason"
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet Hass und Ungerechtigkeit in Inhalten.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Hate-Unfairness-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.IndirectAttackEvaluator(project_scope: dict, eval_last_turn: bool = False, credential=None)#

Basiert auf: object

Initialisiert einen XPIA (Cross Domain Prompt Injected Attack) Jailbreak-Evaluator, um zu erkennen, ob Cross-Domain-Injektionsangriffe in der Antwort Ihres KI-Systems vorhanden sind.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • eval_last_turn (bool) – Auf True setzen, um nur den letzten Austausch im Dialog zu bewerten, wobei der Fokus auf der neuesten Benutzeranfrage und der entsprechenden Antwort des Assistenten liegt. Standard ist False.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Gibt zurück:

Eine Funktion, die Metriken für das XPIA-Chat-Szenario bewertet und generiert. Metriken umfassen das allgemeine Bewertungslabel und den Grund für das Frage-Antwort-Paar sowie Unterlabels für manipulierte Inhalte, Eindringen und Informationen.

Rückgabetyp:

Callable

Verwendung

eval_fn = IndirectAttackEvaluator(model_config)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat für Frage-Antwort-Paare

{
    'xpia_label': False,
    'xpia_reason': 'The conversation does not contain any manipulated content, intrusion or
                  information gathering.'
    'xpia_information_gathering': False,
    'xpia_intrusion': False
    'xpia_manipulated_content': False
}
__call__(*, question: Optional[str], answer: Optional[str], **kwargs)#

Bewertet Inhalte gemäß dem Vorhandensein von Angriffen, die in den Konversationskontext injiziert wurden, um die normale erwartete Funktionalität zu unterbrechen, indem manipulierte Inhalte, Eindringen und Versuche zur Informationsgewinnung außerhalb des Umfangs Ihres KI-Systems ausgelöst werden.

Parameter:
  • question (Optional[str]) – Die zu bewertende Frage. Gegenseitig ausschließend mit „conversation“.

  • answer (Optional[str]) – Die zu bewertende Antwort. Gegenseitig ausschließend mit „conversation“.

Gibt zurück:

Die Bewertungs-Scores und die Begründung.

Rückgabetyp:

dict

class promptflow.evals.evaluators.MeteorScoreEvaluator(alpha: float = 0.9, beta: float = 3.0, gamma: float = 0.5)#

Basiert auf: object

Evaluator, der den METEOR-Score zwischen zwei Zeichenketten berechnet.

Der METEOR (Metric for Evaluation of Translation with Explicit Ordering) Score-Bewertungsmechanismus bewertet generierten Text, indem er ihn mit Referenztexten vergleicht und dabei Präzision, Rückruf und Inhaltsausrichtung berücksichtigt. Er adressiert Einschränkungen anderer Metriken wie BLEU, indem er Synonyme, Stammformen und Paraphrasen berücksichtigt. Der METEOR-Score berücksichtigt Synonyme und Wortstämme, um die Bedeutung und Sprachvariationen genauer zu erfassen. Neben maschineller Übersetzung und Textzusammenfassung ist die Paraphrasenerkennung ein optimaler Anwendungsfall für den METEOR-Score.

Parameter:
  • alpha (float) – Der METEOR-Score-Alpha-Parameter. Standard ist 0,9.

  • beta (float) – Der METEOR-Score-Beta-Parameter. Standard ist 3,0.

  • gamma (float) – Der METEOR-Score-Gamma-Parameter. Standard ist 0,5.

Verwendung

eval_fn = MeteorScoreEvaluator(
    alpha=0.9,
    beta=3.0,
    gamma=0.5
)
result = eval_fn(
    answer="Tokyo is the capital of Japan.",
    ground_truth="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "meteor_score": 0.62
}
__call__(*, ground_truth: str, answer: str, **kwargs)#

Bewertet den METEOR-Score zwischen der Antwort und der Ground Truth.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die Ground Truth, mit der verglichen werden soll.

Gibt zurück:

Der METEOR-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.ProtectedMaterialEvaluator(project_scope: dict, credential=None)#

Basiert auf: object

Initialisiert einen Protected-Material-Evaluator, um zu erkennen, ob geschütztes Material in der Antwort Ihres KI-Systems vorhanden ist. Gibt True oder False mit KI-generierter Begründung aus.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Gibt zurück:

Ob geschütztes Material in der Antwort gefunden wurde oder nicht, mit KI-generierter Begründung.

Rückgabetyp:

Dict[str, str]

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = ProtectedMaterialEvaluator(project_scope)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat

{
    "protected_material_label": "False",
    "protected_material_reason": "This question does not contain any protected material."
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet geschütztes Material in Inhalten.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Ein Wörterbuch, das ein boolesches Label und eine Begründung enthält.

Rückgabetyp:

dict

class promptflow.evals.evaluators.QAEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration], parallel: bool = True)#

Basiert auf: object

Initialisiert einen Frage-Antwort-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Gibt zurück:

Eine Funktion, die Metriken für das „Frage-Antwort“-Szenario bewertet und generiert.

Rückgabetyp:

Callable

Verwendung

eval_fn = QAEvaluator(model_config)
result = qa_eval(
    question="Tokyo is the capital of which country?",
    answer="Japan",
    context="Tokyo is the capital of Japan.",
    ground_truth="Japan"
)

Ausgabeformat

{
    "gpt_groundedness": 3.5,
    "gpt_relevance": 4.0,
    "gpt_coherence": 1.5,
    "gpt_fluency": 4.0,
    "gpt_similarity": 3.0,
    "f1_score": 0.42
}
__call__(*, question: str, answer: str, context: str, ground_truth: str, **kwargs)#

Bewertet das Frage-Antwort-Szenario.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

  • context (str) – Der zu bewertende Kontext.

  • ground_truth (str) – Die zu bewertende Ground Truth.

  • parallel (bool) – Ob parallel bewertet werden soll. Standard ist True.

Gibt zurück:

Die Ergebnisse für das QA-Szenario.

Rückgabetyp:

dict

class promptflow.evals.evaluators.RelevanceEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration])#

Basiert auf: object

Initialisiert einen Relevanz-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Verwendung

eval_fn = RelevanceEvaluator(model_config)
result = eval_fn(
    question="What is the capital of Japan?",
    answer="The capital of Japan is Tokyo.",
    context="Tokyo is Japan's capital, known for its blend of traditional culture                 and technological advancements.")

Ausgabeformat

{
    "gpt_relevance": 3.0
}
__call__(*, question: str, answer: str, context: str, **kwargs)#

Bewertet die Relevanz.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

  • context (str) – Der zu bewertende Kontext.

Gibt zurück:

Der Relevanz-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.RougeScoreEvaluator(rouge_type: RougeType)#

Basiert auf: object

Evaluator zur Berechnung der ROUGE-Scores zwischen zwei Zeichenketten.

ROUGE (Recall-Oriented Understudy for Gisting Evaluation) ist eine Reihe von Metriken zur Bewertung von automatischer Zusammenfassung und maschineller Übersetzung. Sie misst die Überlappung zwischen generiertem Text und Referenzzusammenfassungen. ROUGE konzentriert sich auf Rückruf-orientierte Maße, um zu beurteilen, wie gut der generierte Text den Referenztext abdeckt. Textzusammenfassung und Dokumentenvergleich gehören zu den optimalen Anwendungsfällen für ROUGE, insbesondere in Szenarien, in denen Textkohärenz und Relevanz entscheidend sind.

Verwendung

eval_fn = RougeScoreEvaluator(rouge_type=RougeType.ROUGE_1)
result = eval_fn(
    answer="Tokyo is the capital of Japan.",
    ground_truth="The capital of Japan is Tokyo.")

Ausgabeformat

{
    "rouge_precision": 1.0,
    "rouge_recall": 1.0,
    "rouge_f1_score": 1.0
}
__call__(*, ground_truth: str, answer: str, **kwargs)#

Bewertet den ROUGE-Score zwischen der Antwort und der Ground Truth.

Parameter:
  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die Ground Truth, mit der verglichen werden soll.

Gibt zurück:

Der ROUGE-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.RougeType(value)#

Bases: str, Enum

Aufzählung der ROUGE (Recall-Oriented Understudy for Gisting Evaluation) Typen.

ROUGE_1 = 'rouge1'#

Überlappung von Unigrammen (einzelnen Wörtern) zwischen generiertem und Referenztext.

ROUGE_2 = 'rouge2'#

Überlappung von Bigrammen (zwei aufeinanderfolgenden Wörtern) zwischen generiertem und Referenztext.

ROUGE_3 = 'rouge3'#

Überlappung von Trigrammen (drei aufeinanderfolgenden Wörtern) zwischen generiertem und Referenztext.

ROUGE_4 = 'rouge4'#

Überlappung von Vierergrammen (vier aufeinanderfolgenden Wörtern) zwischen generiertem und Referenztext.

ROUGE_5 = 'rouge5'#

Überlappung von Fünfergrammen (fünf aufeinanderfolgenden Wörtern) zwischen generiertem und Referenztext.

ROUGE_L = 'rougeL'#

Überlappung von L-Grammen (L aufeinanderfolgende Wörter) zwischen generiertem und Referenztext.

class promptflow.evals.evaluators.SelfHarmEvaluator(project_scope: dict, credential=None)#

Basiert auf: object

Initialisiert einen Self-Harm-Evaluator für den Self-Harm-Score.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = SelfHarmEvaluator(project_scope)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat

{
    "self_harm": "High",
    "self_harm_score": 6.5,
    "self_harm_reason": "Some reason"
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet Self-Harm-Inhalte.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Self-Harm-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.SexualEvaluator(project_scope: dict, credential=None)#

Basiert auf: object

Initialisiert einen Sexual-Evaluator für den Sexual-Score.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = SexualEvaluator(project_scope)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat

{
    "sexual": "High",
    "sexual_score": 6.5,
    "sexual_reason": "Some reason"
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet sexuelle Inhalte.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Sexual-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.SimilarityEvaluator(model_config: Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration])#

Basiert auf: object

Initialisiert einen Similarity-Evaluator, der für ein bestimmtes Azure OpenAI-Modell konfiguriert ist.

Parameter:

model_config (Union[AzureOpenAIModelConfiguration, OpenAIModelConfiguration]) – Konfiguration für das Azure OpenAI-Modell.

Verwendung

eval_fn = SimilarityEvaluator(model_config)
result = eval_fn(
    question="What is the capital of Japan?",
    answer="The capital of Japan is Tokyo.",
    ground_truth="Tokyo is Japan's capital.")

Ausgabeformat

{
    "gpt_similarity": 3.0
}
__call__(*, question: str, answer: str, ground_truth: str, **kwargs)#

Bewertet die Ähnlichkeit.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

  • ground_truth (str) – Die zu bewertende Ground Truth.

Gibt zurück:

Der Ähnlichkeits-Score.

Rückgabetyp:

dict

class promptflow.evals.evaluators.ViolenceEvaluator(project_scope: dict, credential=None)#

Basiert auf: object

Initialisiert einen Violence-Evaluator für den Violence-Score.

Parameter:
  • project_scope (dict) – Der Geltungsbereich des Azure AI-Projekts. Er enthält die Abonnement-ID, die Ressourcengruppe und den Projektnamen.

  • credential (TokenCredential) – Die Anmeldeinformationen für die Verbindung mit dem Azure AI-Projekt.

Verwendung

project_scope = {
    "subscription_id": "<subscription_id>",
    "resource_group_name": "<resource_group_name>",
    "project_name": "<project_name>",
}
eval_fn = ViolenceEvaluator(project_scope)
result = eval_fn(question="What is the capital of France?", answer="Paris.")

Ausgabeformat

{
    "violence": "High",
    "violence_score": 6.5,
    "violence_reason": "Some reason"
}
__call__(*, question: str, answer: str, **kwargs)#

Bewertet Gewaltinhalte.

Parameter:
  • question (str) – Die zu bewertende Frage.

  • answer (str) – Die zu bewertende Antwort.

Gibt zurück:

Der Violence-Score.

Rückgabetyp:

dict