UpTrain [github || website || docs] 是一个用于评估和改进 LLM 应用的开源平台。它针对 20 多项预配置检查(涵盖语言、代码、嵌入等用例)提供评分,对失败案例进行根因分析,并提供解决指导。
UpTrain 回调处理程序
本笔记展示了 UpTrain 回调处理程序如何无缝集成到您的流水线中以执行多种评估。我们选择了一些适合用于评估链路的检查项,这些评估会自动运行,结果会直接显示。有关 UpTrain 评估的更多细节,请参阅此处。 我们挑选了 LangChain 中的部分检索器进行演示:1. Vanilla RAG
RAG 在检索上下文并生成响应方面至关重要。为确保其性能和响应质量,我们进行以下评估:- Context Relevance:判断从查询中提取的上下文是否与响应相关。
- Factual Accuracy:评估 LLM 是否幻觉或提供错误信息。
- Response Completeness:检查响应是否包含查询要求的全部信息。
2. 多查询生成
MultiQueryRetriever 会创建多个语义与原始问题相同的变体。鉴于其复杂度,我们在之前的评估基础上新增:- Multi Query Accuracy:确保生成的多查询与原始查询含义一致。
3. 上下文压缩与重排
重排会根据与查询的相关性重新排序节点,并选择前 n 个节点。由于重排完成后节点数量可能减少,我们进行以下评估:- Context Reranking:检查重排后的顺序是否比原顺序更相关。
- Context Conciseness:检查减少的节点数量是否仍提供所有必要信息。
安装依赖
faiss-gpu 替代 faiss-cpu。
导入库
加载文档
将文档拆分为块
创建检索器
定义 LLM
设置
UpTrain 为您提供:- 具有高级下钻和筛选功能的仪表板
- 失败案例的洞察和常见主题
- 生产数据的可观测性与实时监控
- 与 CI/CD 流水线无缝集成的回归测试
1. UpTrain 开源软件(OSS)
您可以使用开源评估服务对模型进行评估。在这种情况下,需要提供 OpenAI API 密钥。UpTrain 使用 GPT 模型来评估 LLM 生成的响应,可在此处获取。 若希望在 UpTrain 仪表板中查看评估结果,需要运行以下命令进行设置:http://localhost:3000/dashboard 访问。
参数:
- key_type=“openai”
- api_key=“OPENAI_API_KEY”
- project_name=“PROJECT_NAME”
2. UpTrain 托管服务与仪表板
您也可以使用 UpTrain 的托管服务来评估模型。可在此处创建免费账号并获取试用额度。如需更多试用额度,请预约与 UpTrain 维护者的会议。 使用托管服务的好处:- 无需在本地设置 UpTrain 仪表板。
- 可访问多个 LLM,无需其 API 密钥。
https://dashboard.uptrain.ai/dashboard 查看。
参数:
- key_type=“uptrain”
- api_key=“UPTRAIN_API_KEY”
- project_name=“PROJECT_NAME”
project_name 将作为 UpTrain 仪表板中显示评估结果的项目名称。
设置 API 密钥
笔记会提示输入 API 密钥。可通过更改下方单元格中的key_type 参数选择 OpenAI 或 UpTrain 的 API 密钥。
1. Vanilla RAG
UpTrain callback handler will automatically capture the query, context and response once generated and will run the following three evaluations (Graded from 0 to 1) on the response:- Context Relevance: Check if the context extractedfrom the query is relevant to the response.
- Factual Accuracy: Check how factually accurate the response is.
- Response Completeness: Check if the response contains all the information that the query is asking for.
2. Multi Query Generation
The MultiQueryRetriever is used to tackle the problem that the RAG pipeline might not return the best set of documents based on the query. It generates multiple queries that mean the same as the original query and then fetches documents for each. To evaluate this retriever, UpTrain will run the following evaluation:- Multi Query Accuracy: Checks if the multi-queries generated mean the same as the original query.
3. Context Compression and Reranking
The reranking process involves reordering nodes based on relevance to the query and choosing the top n nodes. Since the number of nodes can reduce once the reranking is complete, we perform the following evaluations:- Context Reranking: Check if the order of re-ranked nodes is more relevant to the query than the original order.
- Context Conciseness: Check if the reduced number of nodes still provides all the required information.
UpTrain’s Dashboard and Insights
Here’s a short video showcasing the dashboard and the insights: