Digital Green Farmer.chat:通过 LLM‑as‑a‑Judge 加强 RAG
Digital Green 已开发 Farmer.chat,这是一款检索增强生成(RAG)聊天机器人,旨在为小农户和推广人员提供个性化的农业建议。为确保从包含 46,000 篇研究论文的知识库中提供的信息可靠且准确,团队实现了“LLM‑as‑a‑judge”评估系统,以大规模量化性能。
农业支持系统架构
Farmer.chat 采用多组件架构,确保响应基于精选、可信的农业数据。
知识库构建
- 预处理: PDF 文档通过 Scio API 读取,主题按地理区域自动分类并进行语义分组。
- 语义切块: 文本被处理成块,将含义相似的句子使用小文本嵌入进行余弦相似度分组。
- 向量存储: 块被转换为向量表示并存储在 QdrantDB 中。
RAG 流程与用户代理
- 信息检索: 系统在向量数据库中搜索与用户查询匹配的文本块。
- 生成: 大语言模型使用检索到的块和用户查询生成类人响应。
- 面向用户的代理: 由 GPT-4o 驱动的规划代理使用基于 ReAct 的提示来理解用户意图、请求缺失信息并调用执行工具。可用工具包括 RAG QA 接口、视频检索、天气接口和作物表。
实施 LLM‑as‑Judge 进行评估
由于农业建议的质量缺乏确定性指标,Digital Green 采用了 LLM‑as‑a‑Judge 技术,使用大语言模型根据特定预定义标准对输出进行评分。
关键评估指标
- 提示清晰度: 根据意图清晰度、主题具体性和实体‑属性识别,对用户输入进行 1‑3 分评分。
- 问题类型: 将查询分类为六种认知复杂度类别:记忆、理解、应用、分析、评估和创造。
- 已回答查询: 跟踪聊天机器人成功回答的问题比例,以识别知识库的空白。
- RAG 准确性: 二元(0 或 1)指标,评估响应是否事实性地来源于提供的上下文。该方法在约 360 条测试问题中与人工评估表现出高度相关性。
RAG 准确性提示
为了评估忠实度,系统使用受 RAGAS 库启发的自然语言推理提示。评审 LLM 分析从响应中生成的原子事实陈述,并将其与检索到的上下文进行比较,若该陈述可从上下文推导则赋值为 1,否则为 0。
RAG 性能的 LLM 基准测试
Digital Green 对超过 700 条随机用户查询(涵盖不同作物和日期)进行测试,以比较四种主流 LLM:GPT-4‑Turbo、Llama-3‑70B‑Instruct、Gemini-1.5‑Pro 和 Gemini-1.5‑Flash。
| 模型 | 忠实度 | 相关性 | 已回答 * 相关 | 已回答 * 忠实 | 未回答 |
|---|---|---|---|---|---|
| GPT-4-turbo | 88% | 75% | 59% | 69% | 21.9% |
| Llama-3-70B | 78% | 76% | 76% | 78% | 0.3% |
| Gemini-1.5-Pro | 91% | 88% | 71% | 73% | 19.4% |
| Gemini-1.5-Flash | 89% | 78% | 74% | 85% | 4.5% |
关键发现:
- 最高忠实度: Gemini-1.5-Pro 达到最高事实正确率(91%)。
- 最佳平衡: 由于 Gemini-1.5-Flash 在高忠实度(89%)和低未回答比例(4.5%)之间具备卓越平衡,因而被选用于生产。
影响与成果
经过一年基于 LLM‑as‑a‑Judge 指标的迭代开发,Farmer.chat 已实现以下里程碑:
- 覆盖范围: 为超过 20,000 名农户提供服务。
- 查询量: 处理超过 340,000 条查询。
- 规模: 支持超过 6 种语言和 50 种价值链作物。
- 安全性: 保持几乎零偏见或有害响应。