1. 页面概览

RAG 检索测试页是 LightAIP 的检索链路调试入口,路由为 /rag-test。它向 RAG 引擎发起一次自然语言检索请求(POST /rag/retrieve),把"多路召回 + 融合重排"的结果可视化:按检索通道分组的文档列表(每条含 score/source/content)、命中的通道徽标,以及五段检索上下文的 Tab 展示。

页面支持限定数据源与调整 top_k(召回条数),便于验证不同配置下的召回效果。该组件还支持 embedded 模式:作为子组件嵌入「RAG 配置」管理页复用检索交互(隐藏页头)。一句话总结:RAG 检索测试页是验证"问题 → 召回 → 上下文"链路的调试台。

2. 访问入口

2.1 路由与菜单

项目
路由 path/rag-test
路由 nameRagRetrieve
路由 titleRAG 检索测试
requiresAuthtrue
菜单位置Action 栏目(ActionLayout.vue)「RAG 检索测试」
前端源码action/web/src/views/RagRetrievePage.vue
路由注册action/web/src/router/index.js

2.2 认证与权限

meta 配置 requiresAuth: true;请求经 action/web/src/api/aipClient.js(baseURL /aip-api/v1)附 localStorage.aip_token,401 由响应拦截器清 Token 并跳 /login。普通登录用户可访问。

2.3 端口与 API 前缀

AIP 后端默认端口 18080,API 前缀 /aip-api,实际请求路径 /aip-api/v1/rag/retrieve/aip-api/v1/datasources

3. 界面布局

+--------------------------------------------------+
| RAG 检索测试                                      |
+--------------------------------------------------+
| [操作结果提示 alert(有消息时显示,可关闭)]          |
+--------------------------------------------------+
| 检索请求(card)                                   |
|  问题 [textarea]   数据源(可选)[全部数据源▾]       |
|  top_k(召回条数)[10]   [发起检索]                 |
+--------------------------------------------------+
| 检索结果(card,有结果时)                          |
|  本次命中的通道:[元数据][知识库][历史会话][示例]     |
|  按 channel 分组:通道 Tag + N 条文档               |
|    每条:score / source / content                  |
|  contexts 五段 Tab:表结构Schema|字段同义词|知识上下文|历史会话|Few-shot示例 |
+--------------------------------------------------+

各板块职责:

4. 交互元素

控件位置含义与作用
问题输入框检索请求必填自然语言问题,如"2024 年各区域销售总额对比?"
数据源下拉框检索请求可选,默认「全部数据源」;数据来自 GET /datasources,按 id 限定检索范围
top_k 输入框检索请求召回条数,number 输入 min=1 max=50,默认 10,为空回退 10
发起检索按钮检索请求提交检索;检索中禁用并显示「检索中...」
上下文 Tab检索结果五段切换:表结构 Schema / 字段同义词 / 知识上下文 / 历史会话 / Few-shot 示例;有内容的 Tab 带绿点标记
关闭按钮alert 提示清空顶部操作结果提示

5. 后端关联

5.1 端点表

方法路径用途
POST/rag/retrieve多路召回 + 融合重排,body {question, data_source_id?, top_k?}
GET/datasources数据源列表,供下拉框选择

5.2 关键机制

6. 权限与安全

7. 常见问题与排错

问题 1:检索返回"未检索到相关文档"

现象:提示检索完成但无文档,通道徽标为空。

原因:多为向量索引为空、知识库/元数据未构建,或问题过偏。

处理:确认已导入数据源元数据/知识文档并重建索引;先不限定数据源、调大 top_k 再试。

问题 2:数据源下拉框为空

现象:下拉只有「全部数据源」。

原因GET /datasources 失败(后端未就绪)或尚无数据源。

处理:确认后端 18080 存活并已有数据源;下拉框为空不影响全局检索。

问题 3:检索报 401 被踢回登录页

现象:点「发起检索」后整体跳转 /login

原因aip_token 失效,响应拦截器清除 Token 并跳转登录。

处理:重新登录;检查后端时钟/密钥配置导致的 Token 快速过期。

问题 4:某些上下文 Tab 显示"(该上下文为空)"

现象:如「历史会话」Tab 为空。

原因:当前用户无历史会话,或该通道未启用/权重为 0。

处理:先去「智能查询」产生会话历史,或到 RAG 配置检查通道启用状态。

8. 已知缺陷与边界

说明
top_k 上限前端限制 1~50,超出无法输入
通道配置只读通道启用/权重/索引重建走后台「RAG 配置」,本页不提供
结果无分页documents 一次性渲染,召回量大时页面较长
embedded 复用嵌入 RagConfigPage 时页头隐藏,交互入口由宿主页提供