面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例: 通过与理想答案比较来评估测试用例 我们通过以下函数 eval_response_with_ideal 来评估 LLM 回答的准确度……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例:
通过与理想答案比较来评估测试用例
我们通过以下函数 eval_response_with_ideal 来评估 LLM 回答的准确度,该函数通过将 LLM 回答与理想答案进行比较来评估系统在测试用例上的效果。
import json
def eval_response_with_ideal(response,
ideal,
debug=False):
“””
评估回复是否与理想答案匹配
参数:
response: 回复的内容
ideal: 理想的答案
debug: 是否打印调试信息
“””
if debug:
print(“回复:”)
print(response)
# json.loads() 只能解析双引号,因此此处将单引号替换为双引号
json_like_str = response.replace(“‘”,'”‘)
# 解析为一系列的字典
l_of_d = json.loads(json_like_str)
# 当响应为空,即没有找到任何商品时
if l_of_d == [] and ideal == []:
return 1
# 另外一种异常情况是,标准答案数量与回复答案数量不匹配
elif l_of_d == [] or ideal == []:
return 0
# 统计正确答案数量
correct = 0
if debug:
print(“l_of_d is”)
print(l_of_d)
# 对每一个问答对
for d in l_of_d:
# 获取产品和目录
cat = d.get(‘category’)
prod_l = d.get(‘products’)
# 有获取到产品和目录
if cat and prod_l:
# convert list to set for comparison
prod_set = set(prod_l)
# get ideal set of products
ideal_cat = ideal.get(cat)
if ideal_cat:
prod_set_ideal = set(ideal.get(cat))
else:
if debug:
print(f”没有在标准答案中找到目录 {cat}”)
print(f”标准答案: {ideal}”)
continue
if debug:
print(“产品集合:n”,prod_set)
print()
print(“标准答案的产品集合:n”,prod_set_ideal)
# 查找到的产品集合和标准的产品集合一致
if prod_set == prod_set_ideal:
if debug:
print(“正确”)
correct +=1
else:
print(“错误”)
print(f”产品集合: {prod_set}”)
print(f”标准的产品集合: {prod_set_ideal}”)
if prod_set <= prod_set_ideal:
print("回答是标准答案的一个子集")
elif prod_set >= prod_set_ideal:
print(“回答是标准答案的一个超集”)
# 计算正确答案数
pc_correct = correct / len(l_of_d)
return pc_correct
我们使用上述测试用例中的一个进行测试,首先看一下标准回答:
print(f’用户提问: {msg_ideal_pairs_set[7][“customer_msg”]}’)
print(f’标准答案: {msg_ideal_pairs_set[7][“ideal_answer”]}’)
用户提问: 有哪些游戏机适合我喜欢赛车游戏的朋友?
标准答案: {‘游戏机和配件’: {‘ProGamer Racing Wheel’, ‘ProGamer Controller’,’GameSphere Y’, ‘GameSphere VR Headset’, ‘GameSphere X’}}
再对比 LLM 回答,并使用验证函数进行评分:
response = find_category_and_product_v2(msg_ideal_pairs_set[7][“customer_msg”],
products_and_category)
print(f’回答: {response}’)
eval_response_with_ideal(response,
msg_ideal_pairs_set[7][“ideal_answer”])
回答:
[{‘category’: ‘游戏机和配件’, ‘products’: [‘GameSphere X’, ‘ProGamer
Controller’, ‘GameSphere Y’, ‘ProGamer Racing Wheel’, ‘GameSphere VR Headset’]}]
1.0
可见该验证函数的打分是准确的。
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~