AI教程 2025年01月15日
0 收藏 0 点赞 151 浏览 1883 个字
摘要 :

面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例: 通过与理想答案比较来评估测试用例 我们通过以下函数 eval_response_with_ideal 来评估 LLM 回答的准确度……

哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。

面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例

面向开发者的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

可见该验证函数的打分是准确的。

面向开发者的LLM入门课程-所有测试用例结果
面向开发者的LLM入门课程-所有测试用例结果:在所有测试用例上运行评估,并计算正确的用例比例 下面我们来对测试用例中的全部问题进...

嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-通过与理想答案比较来评估测试用例”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.ai-blog.cn/2625.html

相关推荐
01-15

面向开发者的LLM入门课程-路由链: 路由链 到目前为止,我们已经学习了大语言模型链和顺序链。但是…

215
01-15

面向开发者的LLM入门课程-顺序链: 顺序链 当只有一个输入和一个输出时,简单顺序链(SimpleSequen…

151
01-15

面向开发者的LLM入门课程-简单顺序链: 简单顺序链 顺序链(SequentialChains)是按预定义顺序执行…

151
01-15

面向开发者的LLM入门课程-大语言模型链: 模型链 链(Chains)通常将大语言模型(LLM)与提示(Pro…

151
01-15

面向开发者的LLM入门课程-对话储存英文版提示: 英文版提示 1.对话缓存储存 from langchain.chains…

151
01-15

面向开发者的LLM入门课程-对话摘要缓存储存: 对话摘要缓存储存 对话摘要缓存储存,使用 LLM 对到…

151
01-15

面向开发者的LLM入门课程-对话字符缓存储存: 对话字符缓存储存 使用对话字符缓存记忆,内存将限制…

151
01-15

面向开发者的LLM入门课程-对话缓存窗口储存: 对话缓存窗口储存 随着对话变得越来越长,所需的内存…

151
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力原创内容

快速提升站内名气成为大牛

扫描二维码

手机访问本站