【Elasticsearch】工作流自动化评估
想知道你的 RAG 智能体是否准备好上线只需使用 Elasticsearch Workflows 和两个 Claude 模型就能在正确性、忠实度和检索质量三个维度上给它打分。1. 引言自动化评估在构建检索增强生成RAG系统时我们总会面临一个核心问题怎么知道智能体给出的答案到底好不好手动抽查几个问题——可行。但如果要调整检索策略、修改提示词、更换模型每次改动都需要重新验证全部答案手动评估就变得既不现实又不可靠。人的评分标准也常常摇摆不定难以复现。“LLM 即评判者”LLM-as-a-Judge应运而生用一个较强的语言模型来自动评判较弱模型输出的质量从而取代人工审核。这个思路并不复杂——如果语言模型能够稳定地判断一个答案是否正确那我们就能在几分钟内自动化完成数百个测试用例的质量检查。而本文更进一步将整套评估流程完全内置于 Elasticsearch Workflows 中。无需外部评估框架无需额外基础设施。一个小模型Claude Haiku 4.5负责回答问题一个大模型Claude Sonnet 4.6负责从三个维度打分。知识库、评判列表、工作流执行、评分结果——全部数据都存储在同一个 Elasticsearch 系统中。在 35 个 HotpotQA 测试案例上Haiku 4.5 的正确性得分为 0.74忠实度得分为 0.90。这些数字足以帮我们精准定位问题出在检索环节还是推理环节2. 前置条件开始之前请确保你已具备一个Elastic Cloud 集群或自管理的Elasticsearch/Kibana 9.4环境若没有可申请免费试用。Python 3.13用于运行配套的示例 Notebook。你的ELASTICSEARCH_URL和ELASTICSEARCH_API_KEY参照连接指南获取以及KIBANA_URL从 Kibana 访问页面获取。3. 理解 LLM-as-a-Judge 评估模式3.1 核心理念传统方式人工逐条检查答案 → 费时、费力、标准不一。LLM-as-a-Judge用强模型当“评委”给弱模型的答案自动打分 → 快速、一致、可重复。3.2 本文的两阶段流程知识库HotpotQA 段落阶段1回答模型Claude Haiku 4.5评判列表问题 标准答案候选答案阶段2评判模型Claude Sonnet 4.6三个评分正确性 / 忠实度 / 上下文相关性4. 三大 RAG 评估指标指标衡量什么低分意味着什么正确性correctness候选答案是否与标准答案一致智能体答非所问或给出错误结论。忠实度faithfulness答案是否基于检索到的段落智能体产生了幻觉编造事实。上下文相关性context_relevance检索到的段落与问题相关吗检索环节带回了无关文档。三者结合的价值假设正确性高但上下文相关性低那说明模型在检索质量不佳的情况下仍然答对了——很可能依赖了自身训练记忆。这在公开知识如维基百科上可能奏效但在私有数据上就会失效。5. 加载并索引 HotpotQA 数据集我们使用HotpotQA 的 distractor 配置每个问题附带 10 个段落其中 2 个包含答案支撑段落8 个为干扰项。问题多为多跳multi-hop类型需要结合两个段落才能答对。数据最终存入两个 Elasticsearch 索引5.1 知识库索引hotpot-knowledge-base存储所有上下文段落每个文档包含标题和段落内容。段落字段被复制到semantic_content映射为semantic_text以便用自然语言进行语义检索无需手动管理嵌入向量。INDEX_NAMEhotpot-knowledge-baseifes_client.indices.exists(indexINDEX_NAME):es_client.indices.delete(indexINDEX_NAME)es_client.indices.create(indexINDEX_NAME,mappings{properties:{title:{type:keyword},passage:{type:text,copy_to:semantic_content,},semantic_content:{type:semantic_text,inference_id:.jina-embeddings-v5-text-small,},}},)5.2 评判列表索引hotpot-judgement-list存储评测用例每个文档包含问题和标准答案ground truth。{question:Were Scott Derrickson and Ed Wood of the same nationality?,answer:yes}6. Elasticsearch Workflow 如何运行评估6.1 整体流程图手动触发工作流步骤1: load_cases从评判列表加载全部35个问题步骤2: eval_loopforeach 遍历每个案例子步骤: retrieve对知识库做语义检索取前4个段落子步骤: agent_answerHaiku 根据段落生成答案子步骤: judgeSonnet 对答案打分子步骤: save将评分结果写入 eval-results 索引全部完成结果可查询6.2 工作流定义YAML工作流采用 YAML 定义通过 Workflows APIElastic 9.4上传。下面逐段解析关键部分。常量与触发器consts:kbIndex:hotpot-knowledge-basejudgeIndex:hotpot-judgement-listresultsIndex:eval-resultstriggers:-type:manual# 手动触发便于调试和重放步骤 1加载所有评测案例-name:load_casestype:elasticsearch.searchwith:index:{{ consts.judgeIndex }}query:match_all:{}size:35步骤 2循环处理每个案例foreach-name:eval_looptype:foreachforeach:{{ steps.load_cases.output.hits.hits }}steps:# 子步骤 2.1语义检索-name:retrievetype:elasticsearch.searchwith:index:{{ consts.kbIndex }}query:semantic:field:semantic_contentquery:{{ foreach.item._source.question }}size:4步骤 3回答模型Haiku使用ai.prompt类型引用 Kibana 中配置的 AI 连接器Anthropic-Claude-Haiku-4-5。提示词强制模型仅依据提供的段落作答若找不到答案则回复“unknown”。-name:agent_answertype:ai.promptwith:connector-id:Anthropic-Claude-Haiku-4-5prompt:You are a Wikipedia QA assistant. Answer the question using ONLY the passages provided. Keep the answer short (one line). If the passages do not contain the answer, reply unknown.Question:{{foreach.item._source.question}}Passages:1.{{steps.retrieve.output.hits.hits[0]._source.passage}}2.{{steps.retrieve.output.hits.hits[1]._source.passage}}3.{{steps.retrieve.output.hits.hits[2]._source.passage}}4.{{steps.retrieve.output.hits.hits[3]._source.passage}}步骤 4评判模型Sonnet评判模型接收问题、标准答案、候选答案、检索段落并输出结构化的 JSON 评分。关键在于schema块——它强制模型返回符合规范的 JSON 对象无需再解析文本或处理 Markdown 代码块。-name:judgetype:ai.promptwith:connector-id:Anthropic-Claude-Sonnet-4-6prompt:You are a STRICT evaluator. Score the candidate answer against the ground truth on three axes. Each score MUST be exactly one of these three values: 0.0, 0.5, or 1.0. Do not return any other number.correctness:1.0 candidate contains the ground truth answer exactly or an unambiguous synonym,and nothing factually wrong. 0.5 partially correct (one side of a multi-hop right,or mostly right with minor noise). 0.0 wrong,missing,or contradicts the ground truth.faithfulness:1.0 every factual claim is supported by the passages. 0.5 mostly supported,one minor unsupported claim. 0.0 contains at least one unsupported claim.context_relevance:1.0 the passages contain enough to answer the question. 0.5 partial coverage (one hop covered,the other missing). 0.0 passages do not cover the answer. Be harsh. If in doubt between two scores,pick the lower one.Question:{{foreach.item._source.question}}Ground truth:{{foreach.item._source.answer}}Candidate:{{steps.agent_answer.output.content}}Passages:1.{{steps.retrieve.output.hits.hits[0]._source.passage}}2.{{steps.retrieve.output.hits.hits[1]._source.passage}}3.{{steps.retrieve.output.hits.hits[2]._source.passage}}4.{{steps.retrieve.output.hits.hits[3]._source.passage}}schema:type:objectproperties:correctness:type:numberminimum:0maximum:1faithfulness:type:numberminimum:0maximum:1context_relevance:type:numberminimum:0maximum:1required:-correctness-faithfulness-context_relevance步骤 5保存结果将每个案例的评分写入eval-results索引。由于schema保证了输出是结构化 JSON我们可以直接用{{ steps.judge.output.content.correctness }}等引用具体字段。-name:savetype:elasticsearch.indexwith:index:{{ consts.resultsIndex }}document:qid:{{ foreach.item._source.qid }}question:{{ foreach.item._source.question }}ground_truth:{{ foreach.item._source.answer }}candidate:{{ steps.agent_answer.output.content }}correctness:{{ steps.judge.output.content.correctness }}faithfulness:{{ steps.judge.output.content.faithfulness }}context_relevance:{{ steps.judge.output.content.context_relevance }}6.3 上传并运行工作流使用 Elastic 9.4 提供的 REST APIPOST /api/workflows— 创建/更新工作流POST /api/workflows/{id}/run— 启动执行GET /api/workflows/executions/{id}— 轮询执行状态35 个测试案例整个流程大约几分钟完成包含 35 次语义检索 35 次 Haiku 调用 35 次 Sonnet 调用 35 次索引写入。7. 解读评估结果7.1 聚合统计直接从eval-results索引查询并计算各指标均值无需额外解析。指标平均分解读正确性0.74约 7/10 的问题答对。对于多跳维基百科问题算是不错的成绩但仍有提升空间。忠实度0.90当 Haiku 给出答案时绝大多数内容都基于检索段落。幻觉问题不严重。上下文相关性0.86语义检索大多数时候能带回相关段落但部分多跳问题需要的信息不在前 4 个段落中。7.2 分数分布图示各指标平均分Haiku 4.5 作为回答模型正确性忠实度上下文相关性10.90.80.70.60.50.40.30.20.10平均分 (0-1)7.3 洞察问题出在哪儿忠实度0.90远高于正确性0.74——这说明模型没有编造事实而是在较难的问题上直接答错了。因此问题核心在于检索覆盖不足或推理能力不够而非幻觉。后续优化方向可以是增加检索段落数量如从 4 个增至 8 个对最难的案例切换到更强的模型。8. 对生产环境的启示我们构建了一套完全运行在 Elasticsearch 内部的评估流水线。知识库、评判列表、工作流执行、评分结果——所有组件都统一在同一系统内无需额外基础设施。版本可控工作流 YAML 可以纳入 Git方便追踪变更。可重放当知识库或回答模型更新时一键重新运行同一管道对比新旧分数。API 可触发可集成到 CI/CD实现自动化回归测试。对于本次测试Haiku 在忠实度上表现可靠但在多跳问题上的正确性还有不足。是否满足生产要求取决于你的具体场景。而评估管道的意义正是给你数据支撑让你能自信决策而非凭感觉猜测。9. 总结LLM-as-a-Judge是一种高效、可扩展的自动化评估方法用强模型评判弱模型。在 Elasticsearch Workflows 中我们用Claude Haiku 4.5回答用Claude Sonnet 4.6从正确性、忠实度、上下文相关性三个维度打分。整个流程通过YAML 工作流定义所有数据与索引共存于 Elasticsearch。实测结果揭示了 Haiku 的强项忠实度高和弱项多跳正确率一般为后续优化指明了方向。立即行动开始 Elastic Cloud 试用用你自己的数据和模型跑一遍评估管道看清你的 RAG 智能体到底表现如何。

相关新闻

Ubuntu 18.04 WiFi驱动问题诊断与解决指南

Ubuntu 18.04 WiFi驱动问题诊断与解决指南

1. Ubuntu 18.04 WiFi问题全面诊断指南 刚装完Ubuntu 18.04发现WiFi图标消失?这通常是驱动兼容性问题导致的。作为从Ubuntu 12.04一路用过来的老用户,我遇到过各种无线网卡驱动问题。先别急着重装系统,跟着我一步步排查。 打开终端&#xff…

2026/7/17 19:38:18 阅读更多 →
从零入门 Linux:从发展史到用户权限,一篇搭好完整认知框架

从零入门 Linux:从发展史到用户权限,一篇搭好完整认知框架

从今天开始,我们正式开启全新的Linux系列连载!和网上那些零散知识点堆砌的教程不一样,这个专栏我会全程围绕从使用到理解这条主线来写,一步步带你吃透文件系统、进程管理、权限机制、常用工具链这些 Linux最核心的模块。我不会只教…

2026/7/17 19:38:18 阅读更多 →
音视频混剪工具

音视频混剪工具

音视频混剪工具 123云 https://www.123865.com/s/lWe7Vv-DUYr 127云 https://www.go127.com/s/L4rir 天翼云 https://cloud.189.cn/web/share?codeZBvQ3a2Iriee 访问码:prb4 微云 https://share.weiyun.com/etPp5PDl

2026/7/17 19:36:18 阅读更多 →

最新新闻

MIT 6.828 Lab1:x86操作系统实验环境搭建与启动流程解析

MIT 6.828 Lab1:x86操作系统实验环境搭建与启动流程解析

1. 项目概述:6.828 Lab1 操作系统实验环境搭建作为MIT 6.828操作系统课程的第一个实验,Lab1主要目标是搭建完整的x86模拟环境,并引导学员理解计算机从加电到操作系统启动的全过程。这个实验看似简单,却包含了计算机系统最底层的核…

2026/7/17 20:18:37 阅读更多 →
YOLOv11【第十九章:行业垂直应用与定制篇·第7节】建筑工地——安全帽/反光衣佩戴检测 + 高空作业违规识别!

YOLOv11【第十九章:行业垂直应用与定制篇·第7节】建筑工地——安全帽/反光衣佩戴检测 + 高空作业违规识别!

🏆本文收录于专栏 《YOLOv11实战:从入门到深度优化》。 本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 整体坚持 持续更新 + 深度解…

2026/7/17 20:18:37 阅读更多 →
YOLOv11【第十九章:行业垂直应用与定制篇·第2节】智能安防——周界入侵 + 异常行为 + 口罩佩戴多任务联合!

YOLOv11【第十九章:行业垂直应用与定制篇·第2节】智能安防——周界入侵 + 异常行为 + 口罩佩戴多任务联合!

🏆本文收录于专栏 《YOLOv11实战:从入门到深度优化》。 本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 整体坚持 持续更新 + 深度解…

2026/7/17 20:16:36 阅读更多 →
Petalinux应用自启动与QSPI+eMMC双介质启动实战指南

Petalinux应用自启动与QSPI+eMMC双介质启动实战指南

在嵌入式Linux开发中,Petalinux作为Xilinx平台的重要工具链,其应用自启动和双介质启动配置是项目落地的关键环节。很多开发者在从SD卡调试转向QSPI Flash和eMMC双介质启动时,常遇到系统无法正常引导、应用服务启动失败等问题。本文将以ZynqMP…

2026/7/17 20:12:35 阅读更多 →
Python游客行为分析:Django+Scrapy数据可视化全栈项目实战

Python游客行为分析:Django+Scrapy数据可视化全栈项目实战

这次我们来看一个完整的Python游客行为分析可视化项目,这个项目结合了Django框架、Scrapy爬虫、数据分析和可视化技术,非常适合作为计算机专业毕业设计或实际应用开发。 这个项目的核心价值在于它提供了一个从数据采集到分析展示的完整解决方案。使用Sc…

2026/7/17 20:12:35 阅读更多 →
MiniMax算法与Agent系统的技术演进及应用

MiniMax算法与Agent系统的技术演进及应用

1. 项目概述:对话MiniMax择因的技术本质这个标题背后探讨的是当前人工智能领域最前沿的Agent技术发展路径。作为从业者,我理解这实际上是在讨论三个关键命题:第一,MiniMax这类新型AI架构的技术原理;第二,Ag…

2026/7/17 20:10:34 阅读更多 →

日新闻

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行 外贸工厂、工贸企业建设官网,核心需求与普通展示型网站并不相同。除了页面整洁、多语言适配和海外访问体验,企业还要重点考虑数据能否导出、站点能否迁移、源码是否可控、后续费用是否透明,以及更换服务…

2026/7/17 0:02:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

3D 翻转动画实现——ArkTS 动画系统全解析引言 在移动应用中,卡片翻转动画是最受欢迎的交互动效之一,它能给用户带来直观的"物理世界"操作感。在我们的英语学习 App 的单词学习页面(CourseHomePage.ets)中,就…

2026/7/17 0:02:10 阅读更多 →
2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

现在很多用户都需要一款能适配多场景的键盘,既能满足交流码字的需求,又能应对居家电竞的性能需求,最好还得有点小颜值。而大多键盘都只能兼顾其中一两个场景。这次我实测了IQUNIX EV63三款配色(银武士、黑武士、紫罗兰&#xff09…

2026/7/17 0:04:10 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/17 3:22:28 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/17 3:01:28 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/16 23:40:37 阅读更多 →

月新闻