promptflow.evals.evaluators Modul#
- class promptflow.evals.evaluators.BleuScoreEvaluator#
Basiert auf:
objectEvaluator, 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectEvaluator, 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectEvaluator, 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectEvaluator 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,EnumAufzä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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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:
objectInitialisiert 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