描述bug
在使用相似度评估器对evaluate()
数据集进行评估时,我遇到了一些情况,结果不是数字。
如何重现bug
模型配置
{azure_deployment= "gpt4-turbo-preview", api_version="2024-02-01"}
jsonl文件
{"Question":"How can you get the version of the Kubernetes cluster?","Answer":"{\"code\": \"kubectl version\" }","output":"{code: kubectl version --output=json}"}
评估配置
result = evaluate(
data="testdata2.jsonl",
evaluators={
"similarity": SimilarityEvaluator(model_config)
},
evaluator_config={
"default": {
"question": "${data.Question}",
"answer": "${data.output}",
"ground_truth": "${data.Answer}"
}
}
)
预期行为
返回的值应该是数字
运行信息(请填写以下信息):
- 使用
pf -v
的Promptflow包版本:
{
"promptflow": "1.1.1",
"promptflow-azure": "1.11.0",
"promptflow-core": "1.11.0",
"promptflow-devkit": "1.11.0",
"promptflow-evals": "0.3.0",
"promptflow-tracing": "1.11.0"
}
- 操作系统:Windows 11
- 使用
python --version
的Python版本:3.10.11
附加上下文 - 在
_similarity.py
中检查实际记录的值表明,实际返回的值是字符串'The'。 - 我注意到这个问题通常发生在答案与基于问题的LLM响应不匹配的情况下。例如,
{Question: What is the capital of France?, Answer: Washington DC, }
4条答案
按热度按时间fumotvh31#
我已向
similarity.prompty
添加了以下文本:“您将用1到5之间的单个数字进行回复。您将不包含其他文本或信息”,这似乎解决了问题。bnlyeluc2#
你好,@singankit 和 @luigiw ,请问你们能帮忙看一下这个问题吗?
k7fdbhmy3#
@bhonris ,感谢你报告这个问题并分享了一个解决方法。这是一个已知的问题,一些预览版的OpenAI模型会导致NaN结果。请也尝试使用稳定版本的模型。
7qhs6swi4#
你好,我们发送这个友好的提醒是因为我们在30天内没有收到你的回复。我们需要更多关于这个问题的信息来帮助解决它。请务必给我们提供你的反馈。如果我们在7天内没有收到你的回复,问题将自动关闭。谢谢!