feat: use Responses protocol for RAG preparation

This commit is contained in:
2026-10-17 10:21:58 +08:00
parent 1080cfb5e8
commit c336fc91d4
13 changed files with 500 additions and 36 deletions
+10 -1
View File
@@ -11,7 +11,7 @@
| T05 | 知识库 | 设计 sources/documents/chunks/version 表 | 范涵宇 | 已完成(迁移、发布快照和接口已合入;待 Docker 联调) |
| T06 | 检索 | 实现关键词检索基线 | 范涵宇 | 已完成(已核验知识 BM25 与检索历史已合入) |
| T07 | 向量 | 评估 Embedding 并实现 pgvector | 范涵宇 | 已完成(本地模型、精确向量和 RRF 已合入;待真实领域评测) |
| T08 | RAG | 集成 LLM 与来源展示 | 范涵宇 | 协议已合入(证据与 OpenAI 兼容请求契约已完成;生成模型选型与实际调用按要求延期) |
| T08 | RAG | 集成 LLM 与来源展示 | 范涵宇 | 协议基础已合入(Responses 请求/解析调整已在独立分支通过验证,待审;生成模型选型与实际调用延期) |
| T09 | 实验 | 构建可核验问题集及评分规范 | 杨星萱 | 待办 |
| T10 | 工程 | 补充测试、Alembic、鉴权与部署 | 范涵宇(主)、全员 | 进行中(迁移、认证、CSRF、224项回归及浏览器核心流程已通过;Docker/HTTPS/部署待验收) |
@@ -107,3 +107,12 @@
- 一个 SQL 语句读取历史快照,保留旧版本而不重新检索;导出前完整校验,最多100条检索/100条上下文/8MiB,不静默截断,不返回部分文件。不新增数据库迁移或环境配置。
- 前端仅增加下载类型与调用层,复用 Cookie/CSRF/错误处理,不新增页面;真实浏览器下载与实验展示留给后续集成。完整字段、摘要核对、复现与回滚见 [RETRIEVAL_EXPORT_API.md](RETRIEVAL_EXPORT_API.md)。
- 专项测试 **30 passed**,包括真实 PostgreSQL 并发快照和 HTTP 重启导出;完整回归 **254 passed, 1 skipped**(skip 为须显式启用的真实 Embedding 专项),`ruff check` 与 `ruff format --check` 通过。前端会话下载契约 **3 passed**,类型与生产构建通过。测试使用合成资料与坐标 fixture,未重跑模型推理或调用生成模型。
## 2026-10-17 T08:Responses 协议调整
- 从最新 dev 创建独立 `feat/backend-responses-protocol`,不依赖待审的采集时间/浏览器 PR #44。新准备默认使用 Responses:固定 instructions 与 user input_text、max_output_tokens、非流式 output 解析;模型和真实服务接入继续延期。
- 新配置明确 protocol/provider_profile;提供 compatible、openai、deepseek、bailian 档案。DeepSeek 省略不受支持的 store,其他档案显式 store=false;百炼限制 temperature 小于2。旧 Chat Completions 参数拒绝,不自动探测、换协议或重试。档案通过离线契约验证,不代表已对真实供应商调用或通过全部模型能力验证。
- 解析区分 completed/incomplete/refused/failed,reasoning 不充当答案;拒绝工具、异常状态和错误引用。保存实际模型标识及可选输入/输出、缓存/推理 token 用量,不估算费用。字符预算仍不是模型 token 预算。
- 保留旧准备快照的完整配置、请求体、哈希与 JSONL 字节;两种协议可混合读取/导出。API路径与迁移不变,仍为0007;新请求使用 Responses,旧协议仅用于历史校验。字段、厂商差异、范围和回滚限制见 [RAG_CONTEXT_API.md](RAG_CONTEXT_API.md)。
- 本轮 `pytest -q backend/tests/test_rag.py backend/tests/test_exports.py` **113 passed**;完整 `pytest -q backend/tests` **294 passed, 1 skipped**。skip 为显式启用的真实 Embedding 专项,本轮不运行模型。ruff检查/格式检查及前端类型/生产构建通过;未修改页面交互,不宣称新增浏览器验收。