面向开发者的LLM入门课程-通过LLM进行评估实例: 通过LLM进行评估实例 来简要梳理一下问答评估的流程: · 首先,我们使用 LLM 自动构建了问答测试集,包含问题及标准答案……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-通过LLM进行评估实例”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-通过LLM进行评估实例:
通过LLM进行评估实例
来简要梳理一下问答评估的流程:
· 首先,我们使用 LLM 自动构建了问答测试集,包含问题及标准答案。
· 然后,同一 LLM 试图回答测试集中的所有问题,得到响应。
· 下一步,需要评估语言模型的回答是否正确。这里奇妙的是,我们再使用另一个 LLM 链进行判断,所以 LLM 既是“球员”,又是“裁判”。
具体来说,第一个语言模型负责回答问题。第二个语言模型链用来进行答案判定。最后我们可以收集判断结果,得到语言模型在这一任务上的效果分数。需要注意的是,回答问题的语言模型链和答案判断链是分开的,职责不同。这避免了同一个模型对自己结果的主观判断。
总之,语言模型可以自动完成构建测试集、回答问题和判定答案等全流程,使评估过程更加智能化和自动化。我们只需要提供文档并解析最终结果即可。
langchain.debug = False
#为所有不同的示例创建预测
predictions = qa.apply(examples)# 对预测的结果进行评估,导入QA问题回答,评估链,通过语言模型创建此链
from langchain.evaluation.qa import QAEvalChain #导入QA问题回答,评估链#通过调用chatGPT进行评估
llm = ChatOpenAI(temperature=0)
eval_chain = QAEvalChain.from_llm(llm)#在此链上调用evaluate,进行评估
graded_outputs = eval_chain.evaluate(examples, predictions)
> Entering new RetrievalQA chain…
> Finished chain.
#我们将传入示例和预测,得到一堆分级输出,循环遍历它们打印答案
for i, eg in enumerate(examples):
print(f”Example {i}:”)
print(“Question: ” + predictions[i][‘query’])
print(“Real Answer: ” + predictions[i][‘answer’])
print(“Predicted Answer: ” + predictions[i][‘result’])
print(“Predicted Grade: ” + graded_outputs[i][‘results’])
print()
Example 0:
Question: 高清电视机怎么进行护理?
Real Answer: 使用干布清洁。
Predicted Answer: 高清电视机的护理非常简单。您只需要使用干布清洁即可。避免使用湿布或化学清洁
剂,以免损坏电视机的表面。
Predicted Grade: CORRECT
Example 1:
Question: 旅行背包有内外袋吗?
Real Answer: 有。
Predicted Answer: 是的,旅行背包有多个实用的内外袋,可以轻松装下您的必需品。
Predicted Grade: CORRECT
Example 2:
Question: 这款全自动咖啡机的尺寸是多少?
Real Answer: 大型尺寸为13.8” x 17.3”,中型尺寸为11.5” x 15.2”。
Predicted Answer: 这款全自动咖啡机有两种尺寸可选:
– 大型尺寸为13.8” x 17.3”。
– 中型尺寸为11.5” x 15.2”。
Predicted Grade: CORRECT
Example 3:
Question: 这款电动牙刷的规格是什么?
Real Answer: 一般大小 – 高度:9.5”,宽度:1”。
Predicted Answer: 这款电动牙刷的规格是:高度为9.5英寸,宽度为1英寸。
Predicted Grade: CORRECT
Example 4:
Question: 这种产品的名称是什么?
Real Answer: 这种产品的名称是橙味维生素C泡腾片。
Predicted Answer: 这种产品的名称是儿童益智玩具。
Predicted Grade: INCORRECT
Example 5:
Question: 这款无线蓝牙耳机的尺寸是多少?
Real Answer: 该无线蓝牙耳机的尺寸为1.5” x 1.3”。
Predicted Answer: 这款无线蓝牙耳机的尺寸是1.5” x 1.3”。
Predicted Grade: CORRECT
Example 6:
Question: 这款瑜伽垫的尺寸是多少?
Real Answer: 这款瑜伽垫的尺寸是24” x 68”。
Predicted Answer: 这款瑜伽垫的尺寸是24” x 68”。
Predicted Grade: CORRECT
从上面的返回结果中我们可以看到,在评估结果中每一个问题中都包含了 Question , Real Answer ,Predicted Answer 和 Predicted Grade 四组内容,其中 Real Answer 是有先前的QAGenerateChain 创建的问答测试集中的答案,而 Predicted Answer 则是由我们的 qa 链给出的答案,最后的 Predicted Grade 则是由上面代码中的 QAEvalChain 回答的。
在本文中,我们学习了使用 LangChain 框架实现 LLM 问答效果自动化评估的方法。与传统手工准备评估集、逐题判断等方式不同,LangChain 使整个评估流程自动化。它可以自动构建包含问答样本的测试集,然后使用语言模型对测试集自动产生回复,最后通过另一个模型链自动判断每个回答的准确性。这种全自动的评估方式极大地简化了问答系统的评估和优化过程,开发者无需手动准备测试用例,也无需逐一判断正确性,大大提升了工作效率。
借助LangChain的自动评估功能,我们可以快速评估语言模型在不同文档集上的问答效果,并可以持续地进行模型调优,无需人工干预。这种自动化的评估方法解放了双手,使我们可以更高效地迭代优化问答系统的性能。
总之,自动评估是 LangChain 框架的一大优势,它将极大地降低问答系统开发的门槛,使任何人都可以轻松训练出性能强大的问答模型。
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-通过LLM进行评估实例”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~