TruLens评测使用教程:从安装到跑通RAG应用评估

TruLens 是一个给大模型应用打分的 Python 库,常用来评估 RAG 的检索质量和回答质量。
如果你已经有一个能跑通的问答链,想快速看到“检索到的上下文是否相关”“回答是否忠于上下文”,可以按下面的步骤安装并跑通一次评估。
本文以本地 Python 环境为例,不涉及生产集群部署。

先确认运行环境和依赖

TruLens 的核心依赖包括 Python、pandas 等,建议使用 Python 3.9 以上版本,并在虚拟环境中安装,避免污染系统包。

python -m venv trulens-env
source trulens-env/bin/activate
python -m pip install --upgrade pip
pip install trulens

安装完成后,用一条命令验证导入是否正常:

python -c "import trulens; print(trulens.__version__)"

能打印出版本号就说明基础包可用。
如果提示找不到模块,先检查当前终端是否处于虚拟环境中,再确认 pip 和 python 指向同一个解释器:which python 和 which pip 的路径应位于同一虚拟环境目录下。

准备一个可评估的问答链

TruLens 本身不负责构建 RAG,它做的是“记录并打分”。
因此你需要先有一个可调用的问答函数或 LangChain 链。
最小结构是:输入问题,返回答案,同时能拿到检索到的上下文。

如果暂时没有现成链,可以用一个简单函数模拟,先跑通评估流程:

def qa_chain(question: str):
    answer = "这是一个示例回答"
    contexts = ["这是检索到的上下文片段"]
    return answer, contexts

真实场景中,把 answer 换成模型输出,把 contexts 换成向量库检索结果即可。
注意返回顺序要固定,后面配置 Feedback 时依赖这个顺序。

初始化 TruChain 并配置评估指标

TruLens 用 TruChain 包装应用,用 Feedback 定义打分逻辑。
下面用“上下文相关性”和“答案与上下文一致性”两个常用指标做示例,模型调用部分需要你替换成自己的 LLM 提供商配置。

from trulens.core import TruSession, Feedback
from trulens.apps.langchain import TruChain

session = TruSession()

f_context_relevance = Feedback(
    lambda question, contexts: 0.8,
    name="Context Relevance"
).on_input_output()

f_groundedness = Feedback(
    lambda answer, contexts: 0.9,
    name="Groundedness"
).on({"answer": lambda x: x[0], "contexts": lambda x: x[1]})

tru_chain = TruChain(
    qa_chain,
    app_name="demo_rag",
    feedbacks=[f_context_relevance, f_groundedness]
)

上面的 lambda 只是占位打分函数,用来验证流程能否跑通;
真实评估需要把打分逻辑替换为模型调用或规则计算。on_input_output() 表示该指标接收输入和输出,on() 则用于从输出中拆出答案和上下文。

运行记录并查看仪表盘

包装完成后,用 with 语句调用应用,TruLens 会自动记录这次调用:

with tru_chain as recorder:
    recorder.invoke("TruLens 怎么评估 RAG?")

运行结束后,启动仪表盘查看记录:

trulens dashboard

默认会在本地启动一个 Web 服务,终端会打印访问地址,用浏览器打开即可看到应用名称、输入输出和每条 Feedback 的得分。
如果端口被占用,可以按终端提示换端口,或在启动命令中指定端口参数。

验证是否成功,重点看三处:应用记录里是否出现本次问题、输出中是否包含答案和上下文、Feedback 列是否有分数。
三者齐全,说明评估闭环已经跑通。

容易踩的坑

  • 导入路径随版本变化:TruLens 不同版本的模块路径可能不同,安装后先看实际版本,再对照官方文档确认 TruSession、TruChain 的导入位置。
  • Feedback 的输入不匹配:on() 里的字段名必须和函数参数名一致,否则运行时会报参数缺失。
  • 没有记录到数据:只有通过 TruChain 包装后的调用才会被记录,直接调用原函数不会产生记录。
  • 打分函数返回非数值:Feedback 需要返回可比较的分数,返回字符串或 None 会导致面板显示异常。

如果启动仪表盘后页面打不开,先检查终端是否仍在运行、访问地址是否为本机地址,再确认防火墙没有拦截本地端口。

常见疑问

TruLens 必须配合 LangChain 使用吗? 不是。
TruLens 提供通用的记录与评估能力,LangChain 只是常见集成方式之一,自定义函数同样可以包装。

评估指标需要自己写吗? 内置指标可以直接用,但涉及模型判断的指标通常需要配置 LLM 提供商;
规则类指标可以自己写函数。

评估结果存在哪里? 默认使用本地数据库记录,仪表盘读取同一份数据。
需要持久化或多人共享时,再按官方说明切换数据库配置。

跑通一次完整评估后,建议先用少量问题验证指标是否符合预期,再扩大测试集。
TruLens 的价值在于把“感觉回答不错”变成可比较的分数,前提是打分逻辑和业务目标对齐。

分享到:
上一篇
Ragas 评测使用教程:用 Python 给 RAG 应用打分
下一篇
LangSmith评测使用教程:给LLM应用跑通第一组评估
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意