本教程面向需要使用 API 的场景,展示如何使用 xParse 的 API 接口进行文档处理。
xParse 除了提供 Pipeline API 外,还提供了其他 API 接口,适用于不同的使用场景:
- Parse 同步 API:同步执行文档解析,立即返回结果
- Parse 异步 API:异步执行文档解析,通过 job_id 查询状态
- Extract 同步 API:同步执行文档抽取,立即返回结果
Parse 同步 API
适用场景
- 只需要文档解析功能
- 需要同步获取结果
- 处理单个文档或小文件(<10MB)
使用示例
返回结果
返回结果与 Pipeline Parse 节点完全一致,包含 elements 数组。
API文档:Parse同步API
Parse 异步 API
适用场景
- 处理大文件(>10MB)或批量文件
- 需要异步处理,避免长时间等待
- 需要 webhook 回调通知
使用示例
1. 创建异步任务
2. 查询任务状态
3. 查询任务结果
当任务状态为 completed 时,可以通过结果查询API获取详细的解析结果:
4. Webhook 回调
如果设置了 webhook,当任务完成或失败时,系统会调用该 URL:
适用场景
使用示例
API文档:Extract同步API
Parse 同步 vs 异步 API 详细对比
选择建议
- 小文件(<10MB):使用同步API,简单直接
- 大文件(>10MB)或批量处理:使用异步API,避免超时
- 需要实时响应:使用同步API
- 需要后台处理:使用异步API + Webhook
- 需要组合处理:使用Pipeline API
Pipeline API vs 其他API
Pipeline API
优点:
- 支持组合多个处理阶段
- 统一的接口和配置
- 支持批量处理
- 返回统一的统计信息
缺点:
适用场景:
- 需要组合多个处理阶段
- 需要批量处理文档
- 需要将结果存储到向量数据库
其他API
优点:
- 使用简单,只需配置单个功能
- 适合单一功能场景
- 异步API支持大文件处理
缺点:
适用场景:
最佳实践
-
API选择:
- 根据文件大小选择同步或异步API
- 根据需求选择Pipeline或其他API
- 考虑错误处理和重试机制
-
性能优化:
- 小文件使用同步API
- 大文件使用异步API
- 批量处理使用Pipeline API
-
错误处理:
- 检查返回的code和status
- 处理网络错误和超时
- 实现重试机制
-
Webhook使用:
- 设置可靠的webhook URL
- 处理webhook回调
- 实现幂等性处理
常见问题
Q: 什么时候使用同步API,什么时候使用异步API?
A:
- 文件小于10MB:使用同步API
- 文件大于10MB或批量处理:使用异步API
- 需要实时响应:使用同步API
- 需要后台处理:使用异步API
Q: Pipeline API和其他API有什么区别?
A:
- Pipeline API支持组合多个处理阶段,其他API只支持单个功能
- Pipeline API适合批量处理,其他API适合单个文档
- Pipeline API返回统一的统计信息,其他API返回特定功能的结果
Q: 异步API的webhook是必须的吗?
A: 不是必须的。如果不设置webhook,可以通过轮询查询任务状态。
相关文档