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)#
- Evaluates target or data with built-in or custom evaluators. If both target and data are provided,
数据将通过目标函数运行,然后结果将被评估。
- Parameters:
evaluation_name (可选[str]) – 评估的显示名称。
target (可选[可调用]) – 要评估的目标。target 和 data 两者不能同时为 None
data (可选[str]) – 要评估的数据的路径,如果设置了目标,则传递给目标。 仅支持 .jsonl 格式的文件。target 和 data 都不能为 None
evaluators (可选[Dict[str, Callable]) – 用于评估的评估器。它应该是一个字典,键为评估器的别名,值为评估器函数。
evaluator_config (Optional[Dict[str, Dict[str, str]]) – 评估器的配置。配置应该是一个字典,其中键为评估器名称,值为列映射的字典。列映射应该是一个字典,其中键为评估器输入中的列名,值为输入数据或目标生成的数据中的列名。
output_path (可选[str]) – 如果设置,则保存评估结果的本地文件夹或文件路径。如果提供了文件夹路径,结果将保存到文件夹中名为evaluation_results.json的文件中。
azure_ai_project (可选[字典]) – 如果设置,将评估结果记录到AI Studio。
- Returns:
评估结果。
- Return type:
字典
- Example:
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}" } } )