af057ff165
Keep current plans and release controls discoverable without losing historical evidence, and include the reviewed Windows start/stop workflow.
3.2 KiB
3.2 KiB
V2 AI 知识库上传任务与配置执行时间线闭环
日期:2026-06-23
本轮目标
按照《AI 合同平台 V2 重构版开发方案》,继续把知识库上传、文档解析、OCR、失败重试这类长流程能力收敛到 yuqei-ai-platform,合同 Web 只做管理展示和触发动作。
已完成
-
AI Platform 新增
KnowledgeIngestionJob- 记录知识库上传任务状态:
queued / running / succeeded / failed - 记录解析状态:
pending / parsed / failed / ocr_required / ocr_skipped - 记录 OCR 状态:
not_required / pending / skipped / succeeded / failed - 记录失败原因、重试次数、关联导入批次、关联文档、worker 名称。
- 记录知识库上传任务状态:
-
上传接口升级为可追踪任务
POST /api/v1/knowledge-bases/{knowledge_base_id}/documents- 成功上传会返回
ingestion_job - 解析失败或扫描件无可读文本时,也会落一条失败任务,并在错误响应中返回任务信息。
-
失败重试入口
GET /api/v1/knowledge-ingestion-jobsPOST /api/v1/knowledge-ingestion-jobs/{job_id}/retry- 当前 MVP 对已有关联导入批次的任务执行重建索引。
- 对解析前失败且原始文件未暂存的任务,明确返回需要重新上传,避免伪造“已重试成功”。
-
数据库迁移
- 新增迁移:
20260623_0011_add_knowledge_ingestion_jobs.py - 新增表:
knowledge_ingestion_jobs - 增加状态、批次、文档、时间字段索引。
- 新增迁移:
-
OpenAPI 与 Python SDK
- OpenAPI 增加
KnowledgeIngestionJobschema 和任务查询/重试接口。 KnowledgeDocumentUploadResult增加ingestion_job。AiQualityImprovementExecutionBundle增加knowledge_ingestion_jobs。- SDK 增加
list_knowledge_ingestion_jobs、retry_knowledge_ingestion_job。
- OpenAPI 增加
-
管理区前端
/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 -qpython -m pytest yuqei-ai-sdk-python\tests\test_ai_platform.py -qnpm --prefix yuqei-contract-platform/apps/contract-web run build- OpenAPI YAML 解析通过
git diff --check通过
后续建议
下一步可继续进入真实 worker 执行循环:把当前 API 同步解析逻辑拆成任务创建 + worker 消费,并接入对象存储暂存原始上传文件、真实 OCR provider、任务日志和幂等键。