Azure Machine Learning Studio:重复运行单Prompt Flow并生成评估指标
重复运行Prompt Flow并生成评估指标的方案
完全可以实现相同输入重复运行Prompt Flow,再基于累积结果计算评估指标,下面是具体的实操方法:
一、重复运行Flow的两种方式
- 脚本循环调用:用Prompt Flow的Python SDK写个简单循环,固定输入参数重复执行100次,把每次结果存起来。示例代码:
from promptflow import PFClient pf = PFClient() fixed_input = {"input_key": "你的固定输入内容"} run_results = [] for _ in range(100): run = pf.run(flow="./your_flow_directory", inputs=fixed_input) run_details = pf.get_details(run) run_results.append(run_details.iloc[0]["output_key"]) # 提取目标输出字段
- 批量数据集运行:在Prompt Flow可视化界面里,创建一个包含100条相同输入的CSV/JSON数据集,然后发起批量运行,自动完成100次执行并返回所有结果。
二、计算评估指标的思路
拿到100次输出后,根据你的需求自定义指标计算:
- 基础统计指标:如果有标准答案,直接统计正确次数占比(准确率);或者计算输出的重复率、响应时长的均值/方差,判断稳定性。比如:
expected_output = "你的基准输出" correct_num = sum(1 for output in run_results if output == expected_output) accuracy = correct_num / 100
- 生成式文本指标:针对生成内容,可批量计算BLEU、ROUGE等相似度指标,或者用自定义的语义匹配逻辑,取100次结果的平均得分。
- 稳定性分析:计算不同输出之间的文本相似度分布,比如用余弦相似度衡量输出的离散程度,评估模型输出的一致性。
三、关键注意点
- 运行时要保证所有参数完全一致:包括模型的temperature、top_p等生成参数,以及Flow里的上下文配置,避免参数波动影响结果。
- 建议把100次结果持久化存储(比如存成JSON文件),方便后续重新计算指标或排查问题。
内容的提问来源于stack exchange,提问作者BridonElden
相关产品推荐
相关产品推荐

