Plano 知识库 RAG Agent 实战:HTTP 过滤器链中的 8 类测试查询与检索评估指南

发布时间:2026/9/17 22:51:02

Plano 知识库 RAG Agent 实战:HTTP 过滤器链中的 8 类测试查询与检索评估指南 Plano 知识库 RAG Agent 实战HTTP 过滤器链中的 8 类测试查询与检索评估指南【免费下载链接】planoPlano is an AI-native proxy server and data plane for agentic apps. Smart LLM routing, observability, agent orchestration, and guardrails so you stay focused on your agents core logic.项目地址: https://gitcode.com/GitHub_Trending/ar/plano本指南围绕开源仓库 demos/filter_chains/http_filter 演示项目中的sample_queries.md展开系统梳理该 RAG Agent 内置的 8 大类共 40 条示例查询并结合 Input Guards、Query Rewriter、Context Builder 三级 HTTP 过滤器链与 RAG Agent 的源码实现说明每类查询背后的检索意图、对应的知识库文档以及如何在本地启动演示后逐条验证。读完本文你将掌握一套可复制、可扩展的 RAG 检索评估方法论能够据此为自有知识库设计覆盖单文档、跨文档、复杂分析与细节抽取的测试查询集。示例查询集的定位RAG 系统的验收测试用例在 demos/filter_chains/http_filter/README.md 描述的演示架构中系统由四个组件构成Input GuardsHTTP 过滤器端口 10500——校验查询是否属于 TechCorp 业务域拦截无关问题Query RewriterHTTP 过滤器端口 10501——用 LLM 重写查询以提升召回效果Context BuilderHTTP 过滤器端口 10502——从知识库检索相关片段并注入上下文RAG AgentREST/OpenAI端口 10505——基于增强后的上下文生成最终回答。sample_queries.md正是为这套链路准备的查询语料它不是随意的提问清单而是按照知识库中文档的类型、检索复杂度与查询意图精心编排的测试集。每一条查询都能映射到sample_knowledge_base.csv中的某一份或多份虚拟企业文档例如 TechCorp 云服务 SLA、DataSecure 隐私政策、PrecisionParts 供应链协议、EduTech 学生数据管理规范、FinanceFirst 投资咨询协议等。通过逐条发送这些查询并检查回复质量可以系统评估上下文检索是否准确、跨文档关联是否生效、细节抽取是否完整。快速启动演示环境在运行示例查询之前需要先拉起整套服务。仓库提供了自动化脚本 run_demo.shexport OPENAI_API_KEYyour-key ./run_demo.sh脚本会依次完成检查/创建.env、以planoai up config.yaml启动 Plano原生运行在宿主机 8001 与 12000 端口、再以bash start_agents.sh 拉起四个本地 Python 服务。若需要交互式聊天界面与链路追踪可追加--with-ui参数额外启动 AnythingLLMhttp://localhost:3001与 Jaegerhttp://localhost:16686。关闭演示使用./run_demo.sh down。随后即可用 curl 向 Plano 的 OpenAI 兼容端点发送查询curl -X POST http://localhost:8001/v1/chat/completions \ -H Content-Type: application/json \ -d { model: gpt-4o, messages: [{role: user, content: What is the guaranteed uptime for TechCorp?}] }请求会先进入过滤器链Input Guards → Query Rewriter → Context Builder再被转发到 RAG Agent 生成回答。该链路由 config.yaml 中的input_filters声明input_guards、query_rewriter、context_builder三个过滤器均以type: http通过普通 HTTP POST 通信。单文档查询覆盖知识库六大文档类别sample_queries.md的前六类查询分别对应知识库中的一份核心文档用于验证单文档范围内的精确检索。以下是各类查询的原文要点及对应的检索意图。服务等级协议SLA查询对应sample_knowledge_base.csv中的TechCorp_CloudServices_SLA_Agreement_2024文档5 条查询围绕合同的关键条款展开What is the guaranteed uptime percentage for TechCorps cloud services?99.9% 正常运行时间承诺What remedies are available if the API response time exceeds the agreed threshold?响应超阈值时的补偿措施How quickly must TechCorp respond to critical support issues?关键问题 1 小时内响应What monitoring and reporting requirements are specified in the SLA?实时监控与月度报告义务When was the TechCorp service agreement signed and by whom?签署时间与签署方从 CSV 源数据可以看到这些问题都能在 SLA 正文中找到确切答案例如Provider guarantees 99.9% uptime、Critical issues within 1 hour, Standard issues within 4 hours、For each full percentage point below 99.9% availability, Customer receives 10% credit。这一组查询特别适合验证数值型事实的抽取准确性。隐私政策查询对应DataSecure_Privacy_Policy_v3.2文档5 条查询覆盖数据保护的关键维度What encryption methods does DataSecure use to protect data?How long does DataSecure retain personal data after account deletion?What rights do users have regarding their personal information?Can DataSecure sell user data to third parties for marketing?Who should be contacted for privacy-related concerns at DataSecure?注意其中包含否定性/边界类问题Can DataSecure sell user data...这类查询用于检验检索系统是否能把禁止/不允许这类语义正确传递到最终回答避免仅凭关键词匹配给出相反结论。供应链协议查询对应供应链采购协议文档PrecisionParts5 条查询聚焦商业条款What types of automotive components does PrecisionParts supply?What are the payment terms and volume discount structure?What quality standards must the supplied components meet?What are the penalties for late delivery?What insurance coverage requirements apply to the supplier?学生数据管理查询对应教育科技公司EduTech的学生数据合规文档5 条查询涉及法规、安全与留存What federal laws must EduTech comply with regarding student data?What security measures are in place to protect student information?How long are student records retained after graduation?What consent is required for students under 13 years old?Who can access student educational records?这一类查询包含**年龄条件under 13**等复合约束可用于评估过滤器链在 Query Rewriter 阶段是否成功将隐含条件显式化帮助 Context Builder 命中正确片段。投资咨询查询对应金融服务公司FinanceFirst的投资咨询协议5 条查询围绕费用、监管与义务What is FinanceFirsts management fee structure?What types of investments are included in the advisory services?What regulatory body oversees FinanceFirst Advisors?How often are portfolio reviews conducted?What are the clients responsibilities under this agreement?医疗保健标准查询对应医疗机构的标准规范文档5 条查询侧重可量化的合规指标What is the target response time for emergency code teams?What hand hygiene compliance rate is required?How quickly must medical records be completed after patient encounters?What continuing education requirements apply to nursing staff?What patient safety protocols are mandatory upon admission?与 SLA 组类似这一组同样以百分比、时限等硬指标为主适合与 SLA 查询组一起作为数值检索回归测试的核心语料。跨文档查询验证多源关联检索第三类升级维度是跨文档查询共 5 条。它们不再指向单一文档而是要求系统在多个文档之间建立横向关联Which agreements include confidentiality or data protection provisions?What are the common termination notice periods across different contract types?Which documents specify insurance or liability coverage requirements?What compliance and regulatory requirements are mentioned across agreements?Which contracts include performance metrics or service level commitments?这类查询对 Context Builder 的挑战在于find_relevant_passages见 context_builder.py默认只取top_k3个片段当答案分散在多份文档中时检索阶段必须优先返回跨文档的高价值片段否则最终回答会出现遗漏。测试时可结合 Jaeger 中该请求的完整 span 链观察 Context Builder 选中了哪些文档索引从而判断 top_k 是否需要对跨文档查询场景放大。复杂分析查询评估推理与综合能力第四类共 5 条属于对系统综合能力的压力测试要求检索结果支撑对比与归纳Compare the data retention policies across the privacy policy and student data management documents.What are the different approaches to risk management across the supply chain and investment advisory agreements?How do the security measures in the healthcare standards compare to those in the privacy policy?Which agreements provide the most detailed compliance and regulatory frameworks?What common themes exist in the quality assurance requirements across different industries?这类查询的评估要点不在是否答对某一数字而在检索片段是否同时覆盖被比较的多份文档。如果回答只引用了单份文档说明 Query Rewriter 未能把compare ... across ...结构转换为并列的多目标检索。从源码看重写发生在 query_rewriter.py其 system prompt 明确要求rewrite the last user message to be more specific and context-aware因此复杂分析查询是检验重写质量最直接的探针。文档细节抽取查询深度召回与信息完整性审计最后一类共 5 条聚焦文档中所有相关细节的穷举式抽取List all the specific percentages, timeframes, and numerical requirements mentioned in the SLA.What are all the contact persons and their roles mentioned across the documents?Identify all the compliance standards and certifications referenced in the supply chain agreement.What are the specific consequences or penalties mentioned for non-compliance across agreements?List all the third-party systems, tools, or services mentioned in the documents.这类查询用于审计信息完整性。以列出 SLA 中所有百分比与时限为例正确答案应包含 99.9% 正常运行时间、200ms API 平均响应、1 小时/4 小时支持响应、10% 月度费用抵扣、5% 月度积分等全部数值。由于 Context Builder 注入上下文时会将片段截断为前 500 字符见 context_builder.py长文档的细节可能被截断此类查询恰好能暴露片段长度与 top_k 配置的不足是调优find_relevant_passages参数的直接依据。完整查询清单40 条测试用例速查将 sample_queries.md 中的全部查询整理为下表可直接作为回归测试清单类别数量核心检索意图对应知识库文档Service Level Agreement Queries5SLA 数值条款与签署信息TechCorp 云服务 SLA 协议Privacy Policy Queries5加密、留存、用户权利、数据出售边界DataSecure 隐私政策 v3.2Supply Chain Agreement Queries5供应品类、付款条款、质量标准、违约罚则PrecisionParts 供应链协议Student Data Management Queries5联邦法律、安全措施、留存期限、未成年人同意EduTech 学生数据管理规范Investment Advisory Queries5费用结构、监管机构、审查频率、客户义务FinanceFirst 投资咨询协议Healthcare Standards Queries5响应时限、合规率、病历完成时限、培训要求医疗机构标准规范Cross-Document Queries5保密条款、终止通知期、保险责任、合规要求横向对比跨多份文档Complex Analysis Queries5数据留存、风险管理、安全措施等跨文档对比跨多份文档Document-Specific Detail Queries5百分比/时限穷举、联系人、合规认证、违约后果枚举单份或多份文档测试执行建议基线测试先逐条发送全部 40 条查询将回答人工标注为完整命中 / 部分命中 / 未命中形成基线模块化定位任一查询失败时对照 Jaeger 中的链路分别检查 Input Guards 是否误拦截返回 400out_of_scope、Query Rewriter 是否丢失关键约束、Context Builder 选中的片段索引是否覆盖答案所在文档参数回归修改top_k、知识库 CSV 内容或各过滤器使用的模型gpt-4o-mini与gpt-4o的别名在 config.yaml 的model_aliases中定义后重跑清单对比命中率变化。扩展把查询集复用到你的知识库sample_queries.md的价值在于其方法论可迁移无需修改任何代码即可应用于其他知识库。只需遵循同样的设计维度单文档维度为每份重要文档设计 5 条精确事实查询数值、人名、日期、义务覆盖文档的关键章节跨文档维度设计涉及至少两份文档的横向问题验证多源召回复杂分析维度加入 compare / contrast / common themes 类问题测试综合推理细节穷举维度以list all ... mentioned句式审计信息完整性暴露检索截断与 top_k 不足。更换知识库时只需替换 src/rag_agent/sample_knowledge_base.csv 的path,content两列内容并相应调整 input_guards.py 中 TechCorp 领域白名单的 system prompt将 TechCorp 业务域描述替换为目标领域其余过滤器链代码无需改动即可得到一套面向新场景的检索评估环境。小结sample_queries.md虽然只是一个查询列表但在 Plano 的 HTTP 过滤器链演示中承担着验收测试用例集的角色单文档查询验证精确召回跨文档查询验证多源关联复杂分析查询验证综合推理细节抽取查询验证信息完整性。将它与 config.yaml、三个 HTTP 过滤器源码以及 Jaeger 追踪配合使用你可以对任何 RAG 系统的检索质量建立可量化、可回归的评估基线这也是该演示项目为知识库类应用提供的最实用的工程资产。【免费下载链接】planoPlano is an AI-native proxy server and data plane for agentic apps. Smart LLM routing, observability, agent orchestration, and guardrails so you stay focused on your agents core logic.项目地址: https://gitcode.com/GitHub_Trending/ar/plano创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/17 22:51:02

Git Flow 使用指南:如何优雅地管理你的代码分支

> 适合人群:前端/后端开发者、技术团队负责人## 写在前面你是否遇到过这些问题:- 多人协作时代码冲突频繁,不知道该在哪个分支开发? - 线上突然出现紧急 bug,但开发分支还有未完成的功能,不敢直接发布&a…

2026/9/17 22:46:01

A Retail-Corpus for Aspect-Based Sentiment Analysis with Large Language Models

论文《A Retail-Corpus for Aspect-Based Sentiment Analysis with Large Language Models》总结与翻译 一、文章主要内容 1. 研究背景 传统情感分析多聚焦于句子或文档层面的整体情感识别,而基于方面的情感分析(ABSA)能更细粒度地关联文本中特定方面与对应情感,对企业洞…

2026/9/18 3:01:17

无线麦克风与192kHz高采样率选型:闪克PD200W/PD300X对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 3:01:17

GANomaly异常检测实战:从自编码器到潜变量距离的进阶指南

1. 异常检测的真正难点:为什么普通自编码器在GANomaly面前不够硬先从一个很常见的场景聊起。工业质检、服务器日志异常捕获、金融场景里的欺诈识别,这些任务本质上都属于异常检测。它们的共性非常残酷:异常样本不仅稀缺,而且你根本…

2026/9/18 3:01:17

Multisim电路仿真精度提升实战:模型、引擎与库管理三要素

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 3:01:17

短语、直接短语与句柄:编译原理中归约过程的动态角色解析

1. 为什么“短语”“直接短语”“句柄”这三个词总被混为一谈?——从一道错题说起我带编译原理实验课的第三年,批改期末试卷时又看到同一道题:给出文法 G 和某句型,要求标出所有短语、直接短语和句柄。全班42人,只有7人…

2026/9/18 2:56:17

mermaid-ascii 语法实战:一行A B画出复杂依赖关系图

mermaid-ascii &语法实战:一行A & B画出复杂依赖关系图 【免费下载链接】mermaid-ascii Render Mermaid graphs inside your terminal 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-ascii mermaid-ascii 是一款在终端里渲染 mermaid 图…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码