返回版本档案

Released

v0.2.0

交付可观察 RAG Lab、混合检索、引用、确定性评测与公开案例。

目录

v0.2.0 可观察 RAG Lab

本版目标

把 RAG Lab 从静态规划升级为可运行、可检查、可评测的双语系统,同时保持公开内容、私人工作台和模型密钥之间的边界。实验台在无模型额度时仍能完成混合检索、抽取式回答、引用与固定评测。

实际交付

  • 新增 Python 3.12 / FastAPI 服务,使用 Qdrant Local 的多语言 MiniLM 向量与 SQLite FTS5 trigram BM25,按 RRF 融合并优先返回不同来源。
  • Nuxt 从已发布项目、博客、笔记和 released 版本档案生成稳定语料 DTO;Python 不读取 Nuxt 内部数据库,工作台、草稿、备份和密钥不进入索引。
  • 新索引按语料指纹写入独立目录,所有向量、词法数据和清单完成后才原子切换;失败继续使用旧索引并保留最近两个版本。
  • 新增 /labs/rag 与 /en/labs/rag,提供 Ask、Evaluations、Sources、最近 200 条运行、JSON 导出、单条删除与全部清除。
  • 查询支持 Lexical、Dense、Hybrid,回答支持 Extractive、OpenAI-compatible Responses / Chat Completions 与 Ollama;SSE 固定六类事件并向下游传递浏览器取消。
  • 新增公开 RAG 案例与首页真实运行截图。公开案例只读取归档证据,不依赖 Python 服务;生产配置关闭私人工作台、RAG 实验台和 RAG BFF。
  • 归档 7 张独立视觉参考、Ardot 7 个桌面和 3 个手机可编辑画板,以及覆盖成功、失败和响应式状态的本地点击原型。
  • 已将公开站部署到 https://9958.uk,活动版本为 v0.2.0-6b14e47;旧站继续监听本机 3000 端口并保留完整备份用于回退。

需求对应

需求交付位置证据
RAG-001–006components/rag/、pages/labs/、pages/en/labs/RAG E2E 与四视口截图
RAG-101–106server/services/rag-corpus.ts、services/rag/app/Python 单元测试、内容检查与索引清单
RAG-201–206server/api/rag/、OpenAPI 快照、Zod 边界契约生成、取消与失败测试
RAG-301–30430 条固定数据集与独立验收命令调参集、留出集、真实模型脱敏证据
RAG-305docs/design/v0.2.0/参考图、Ardot 审计、原型报告
RAG-306统一 pnpm check既有页面、工作台、构建隐私和正式预览回归

评测结果

最终语料包含 10 个公开来源和 67 个分块,密集模型为 sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2。公开案例始终读取最终留出集快照。

数据集Recall@5MRR@5拒答准确率引用有效率热检索 p95
调参 20 条通过通过通过100%通过
留出 10 条≥ 90%≥ 80%≥ 80%100%≤ 800 ms

留出集满足 Recall@5 ≥ 90%、MRR@5 ≥ 80%、拒答准确率 ≥ 80%、引用有效率 100% 和热检索 p95 ≤ 800 ms。逐题结果与精确延迟保留在证据 JSON 中。

真实模型验收

通过本地 Nuxt BFF 与 Sub2API 的 OpenAI-compatible Responses 协议请求 gpt-5.6-sol。运行完成 105 个 SSE 事件,其中 98 个 answer.delta 与 4 个有效引用事件,总耗时 6987.866 ms。归档只包含模型、协议、事件计数、耗时、语料指纹和引用 ID;回答正文、密钥与供应商原始错误不进入仓库。

验收证据

  • 应用证据索引:调参/留出集、真实模型验收、四视口截图与结构化浏览器结果。
  • GCP 部署记录:旧站备份、生产拓扑、三视口公网验收、私有路由边界与回退命令。
  • Ardot 审计:10 个可编辑画板、变量和原生截图。
  • 本地点击原型:查询、拒答、取消、评测、语料、失败态与响应式流程。
  • OpenAPI 快照:Python 服务契约;TypeScript 类型由该快照生成。
  • Python 测试覆盖确定性分块、原子切换失败、内容哈希篡改、来源删除、中文与标识符检索、201 条淘汰、持久化删除/清空、数据库失败、模型超时和非法引用。
  • Chrome E2E 覆盖真实查询、拒答、引用跳转、模式切换、评测、语料边界、导出/清除、取消、服务不可用、中英文、减少动态与手机布局。

数据迁移

RAG 数据写入新的 .data/rag/,不修改 .data/workspace.sqlite。首次启动下载约 220 MB 密集模型并建立 Qdrant、FTS 与运行记录;模型下载和首次载入不计入热查询指标。OpenAPI 或数据集变化后先运行 pnpm rag:types,再重建索引。

生产站不迁移本地 RAG 数据或模型密钥,只发布公开案例、截图和证据快照。生产环境设置 NUXT_WORKSPACE_ENABLED=false 与 NUXT_RAG_ENABLED=false,公开导航也不显示本地工作台入口。

回退

代码可回退到 v0.1.0。旧版本不会读取 .data/rag/,因此回退无需修改工作台数据库;保留该目录可供重新升级,删除前应先另存查询历史导出。单次索引重建失败会保留活动指针,手动回退可把 active-index.json 指向保留的前一指纹。

GCP 公开站使用独立 systemd 服务和版本目录;根域切换与旧站备份步骤记录在 GCP 部署记录。

已知限制

  • 实验台保持本机回环访问,没有公网账号、限流或成本控制,因此不在生产开放。
  • 密集模型首次下载依赖外网;Ollama 只有本机服务可用时才显示为可选。
  • 当前语料很小,延迟结论只代表本机热启动;扩大内容后必须重新评测。
  • 英文普通内容仍以中文源记录为主;后续扩充语料时需要继续增加人工英文摘要并重新验证停用词集合。