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. 记录详细错误日志,返回通用错误消息

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

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