Files
ai-contract-platform/project-docs/V2-ai-knowledge-ingestion-worker-timeline-2026-06-23.md
T
yuqei a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
release: freeze V2 release candidate
2026-07-12 15:32:24 +08:00

68 lines
3.2 KiB
Markdown

# V2 AI 知识库上传任务与配置执行时间线闭环
日期:2026-06-23
## 本轮目标
按照《AI 合同平台 V2 重构版开发方案》,继续把知识库上传、文档解析、OCR、失败重试这类长流程能力收敛到 `yuqei-ai-platform`,合同 Web 只做管理展示和触发动作。
## 已完成
1. AI Platform 新增 `KnowledgeIngestionJob`
- 记录知识库上传任务状态:`queued / running / succeeded / failed`
- 记录解析状态:`pending / parsed / failed / ocr_required / ocr_skipped`
- 记录 OCR 状态:`not_required / pending / skipped / succeeded / failed`
- 记录失败原因、重试次数、关联导入批次、关联文档、worker 名称。
2. 上传接口升级为可追踪任务
- `POST /api/v1/knowledge-bases/{knowledge_base_id}/documents`
- 成功上传会返回 `ingestion_job`
- 解析失败或扫描件无可读文本时,也会落一条失败任务,并在错误响应中返回任务信息。
3. 失败重试入口
- `GET /api/v1/knowledge-ingestion-jobs`
- `POST /api/v1/knowledge-ingestion-jobs/{job_id}/retry`
- 当前 MVP 对已有关联导入批次的任务执行重建索引。
- 对解析前失败且原始文件未暂存的任务,明确返回需要重新上传,避免伪造“已重试成功”。
4. 数据库迁移
- 新增迁移:`20260623_0011_add_knowledge_ingestion_jobs.py`
- 新增表:`knowledge_ingestion_jobs`
- 增加状态、批次、文档、时间字段索引。
5. OpenAPI 与 Python SDK
- OpenAPI 增加 `KnowledgeIngestionJob` schema 和任务查询/重试接口。
- `KnowledgeDocumentUploadResult` 增加 `ingestion_job`。
- `AiQualityImprovementExecutionBundle` 增加 `knowledge_ingestion_jobs`。
- SDK 增加 `list_knowledge_ingestion_jobs`、`retry_knowledge_ingestion_job`。
6. 管理区前端
- `/admin/ai-knowledge` 增加 Ingestion jobs 任务状态区。
- 支持查看上传任务状态、解析状态、OCR 状态、失败原因、重试次数。
- 失败任务支持从页面触发 retry。
- 质量改进项详情页新增统一配置执行时间线:
- 模型参数发布/回滚
- Prompt 发布/回滚
- 知识库上传任务
- 知识库重建索引
## 与 V2 方案的一致性
- 新能力位于 `yuqei-ai-platform`,没有写入合同业务后端。
- 合同 Web 只通过 AI Platform API 代理展示和触发动作。
- SDK 与 OpenAPI 同步更新,保持 AI 中台调用边界清晰。
- OCR 目前是任务状态和扩展点,不假装已有完整 OCR 引擎。
- 真正 worker 队列后续可以直接消费 `knowledge_ingestion_jobs`,不需要推翻管理页和 SDK。
## 验证
- `python -m pytest yuqei-ai-platform\services\ai-platform-api\tests\test_platform_data.py -q`
- `python -m pytest yuqei-ai-sdk-python\tests\test_ai_platform.py -q`
- `npm --prefix yuqei-contract-platform/apps/contract-web run build`
- OpenAPI YAML 解析通过
- `git diff --check` 通过
## 后续建议
下一步可继续进入真实 worker 执行循环:把当前 API 同步解析逻辑拆成任务创建 + worker 消费,并接入对象存储暂存原始上传文件、真实 OCR provider、任务日志和幂等键。