promptflow.evals.evaluate 模块#
- promptflow.evals.evaluate.evaluate(*, evaluation_name: Optional[str] = None, target: Optional[Callable] = None, data: Optional[str] = None, evaluators: Optional[Dict[str, Callable]] = None, evaluator_config: Optional[Dict[str, Dict[str, str]]] = None, azure_ai_project: Optional[Dict] = None, output_path: Optional[str] = None, **kwargs)#
- 使用内置或自定义评估器评估目标或数据。如果同时提供目标和数据,
数据将通过目标函数运行,然后评估结果。
- 参数:
evaluation_name (可选[str]) – 评估的显示名称。
target (可选[Callable]) – 要评估的目标。target 和 data 不能都为 None
data (可选[str]) – 要评估的数据路径,或者如果设置了目标,则传递给目标的路径。仅支持 .jsonl 格式文件。target 和 data 不能都为 None
evaluators (可选[Dict[str, Callable]) – 用于评估的评估器。它应该是一个字典,其中键是评估器的别名,值是评估器函数。
evaluator_config (可选[Dict[str, Dict[str, str]]) – 评估器的配置。配置应该是一个字典,其中键是评估器名称,值是列映射的字典。列映射应该是一个字典,其中键是评估器输入中的列名,值是输入数据或目标生成的数据中的列名。
output_path (可选[str]) – 如果设置,将评估结果保存到的本地文件夹或文件路径。如果提供了文件夹路径,结果将保存到该文件夹中名为 evaluation_results.json 的文件中。
azure_ai_project (可选[Dict]) – 如果设置,将评估结果记录到 AI Studio。
- 返回:
评估结果。
- 返回类型:
dict
- 示例:
Evaluate API 可以按如下方式使用
from promptflow.core import AzureOpenAIModelConfiguration from promptflow.evals.evaluate import evaluate from promptflow.evals.evaluators import RelevanceEvaluator, CoherenceEvaluator model_config = AzureOpenAIModelConfiguration( azure_endpoint=os.environ.get("AZURE_OPENAI_ENDPOINT"), api_key=os.environ.get("AZURE_OPENAI_KEY"), azure_deployment=os.environ.get("AZURE_OPENAI_DEPLOYMENT") ) coherence_eval = CoherenceEvaluator(model_config=model_config) relevance_eval = RelevanceEvaluator(model_config=model_config) path = "evaluate_test_data.jsonl" result = evaluate( data=path, evaluators={ "coherence": coherence_eval, "relevance": relevance_eval, }, evaluator_config={ "coherence": { "answer": "${data.answer}", "question": "${data.question}" }, "relevance": { "answer": "${data.answer}", "context": "${data.context}", "question": "${data.question}" } } )