Skip to content

流程概述

DocuSnap-Backend 系统支持三种主要的业务流程:文档处理、表单处理和表单自动填充。这些流程共享相似的处理架构,但在细节上有所不同,以适应不同的业务需求。本页面提供这些流程的概述。

主要业务流程

DocuSnap-Backend 系统支持以下三种主要业务流程:

  1. 文档处理流程:
  2. 将文档图像转换为文本
  3. 分析文档结构和内容
  4. 提取关键信息
  5. 生成结构化的文档数据

  6. 表单处理流程:

  7. 将表单图像转换为文本
  8. 识别表单字段和值
  9. 提取字段-值对
  10. 生成结构化的表单数据

  11. 表单自动填充流程:

  12. 分析空白表单结构
  13. 匹配用户提供的信息与表单字段
  14. 生成填充后的表单数据
  15. 标识缺失的必要信息

通用处理架构

尽管三种业务流程在细节上有所不同,但它们共享一个通用的处理架构:

graph TD
    A["客户端请求"] --> B["请求验证与解密"]
    B --> C["任务创建与队列"]
    C --> D["OCR 处理"]
    D --> E["LLM 处理"]
    E --> F["结果存储"]
    F --> G["响应加密与返回"]
    H["状态查询"] --> I["结果检索"]
    I --> J["响应生成"]

这个通用架构包括以下关键步骤:

  1. 请求接收与验证:
  2. 接收客户端的加密请求
  3. 解密请求数据
  4. 验证请求参数和格式

  5. 任务管理:

  6. 创建任务记录
  7. 将任务添加到处理队列
  8. 分配工作线程处理任务

  9. OCR 处理:

  10. 处理图像,提取文本内容
  11. 并行处理多个图像
  12. 合并 OCR 结果

  13. LLM 处理:

  14. 根据任务类型构建提示
  15. 调用 LLM API 分析文本
  16. 解析 LLM 响应

  17. 结果处理:

  18. 存储处理结果
  19. 更新任务状态
  20. 加密响应数据

  21. 状态查询:

  22. 客户端查询任务状态
  23. 检索任务结果
  24. 返回状态或结果

流程差异

虽然三种业务流程共享通用架构,但它们在以下方面存在差异:

1. 提示构建

每种流程使用不同的提示模板引导 LLM 进行特定类型的分析:

  • 文档处理:提示 LLM 分析文档结构、识别标题、段落、列表等,提取关键信息
  • 表单处理:提示 LLM 识别表单字段和值,提取字段-值对
  • 表单填充:提示 LLM 将用户提供的信息与表单字段匹配,生成填充后的表单数据

2. 输入参数

不同流程接受不同的输入参数:

  • 文档处理:仅接受文档图像
  • 表单处理:仅接受表单图像
  • 表单填充:接受表单图像和用户提供的信息

3. 结果格式

不同流程生成不同格式的结果:

  • 文档处理:生成包含文档结构和内容的 JSON 数据
  • 表单处理:生成包含字段-值对的 JSON 数据
  • 表单填充:生成包含填充字段和缺失字段的 JSON 数据

4. 处理策略

不同流程使用不同的处理策略:

  • 文档处理:侧重于理解文档结构和内容
  • 表单处理:侧重于准确识别字段和值
  • 表单填充:侧重于信息匹配和推断

数据流图

下图展示了 DocuSnap-Backend 系统中的数据流:

数据流程图

这个数据流图展示了从客户端请求到响应的完整数据流向,包括请求处理、任务执行、结果存储和响应处理等阶段。

异步处理模式

DocuSnap-Backend 系统采用异步处理模式,将请求接收和任务处理分离,提高系统响应能力和并发处理能力:

  1. 请求接收:
  2. 客户端发送请求
  3. 系统快速创建任务并返回任务 ID
  4. 客户端不需要等待处理完成

  5. 异步处理:

  6. 工作线程从队列获取任务
  7. 执行 OCR 和 LLM 处理
  8. 存储处理结果

  9. 状态查询:

  10. 客户端使用任务 ID 查询状态
  11. 系统返回当前状态或处理结果
  12. 客户端可以定期轮询或实现回调机制

这种异步处理模式适合处理耗时的 OCR 和 LLM 操作,避免客户端长时间等待,提高用户体验。

错误处理

DocuSnap-Backend 系统实现了全面的错误处理机制,确保流程的可靠性和稳定性:

  1. 请求验证错误:
  2. 参数缺失或格式错误
  3. 解密失败或签名验证失败
  4. 返回适当的错误代码和消息

  5. 处理错误:

  6. OCR 处理失败
  7. LLM API 调用失败
  8. 结果解析失败
  9. 记录错误信息,更新任务状态

  10. 系统错误:

  11. 数据库操作失败
  12. 资源不足
  13. 服务不可用
  14. 记录详细错误日志,返回通用错误消息

错误处理机制确保系统能够优雅地处理各种异常情况,提供清晰的错误反馈,并尽可能地恢复正常操作。

在接下来的页面中,我们将详细介绍每种业务流程的具体实现和数据流向。