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

3.2 KiB

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、任务日志和幂等键。