Skip to main content
由于文档抽取是基于大模型输出的,受限于大模型的输出速度,在输出较长内容时可能会出现分钟级的响应情况。如果您不希望让用户同步等待过长时间,可以用异步请求的方式调用文档抽取API。 以下为您提供一份完整的异步请求示例代码,您可根据具体需求进行调整。
对比快速启动中的请求方式,主要有以下修改:使用前需要安装 aiohttp 库
  1. 导入异步库:添加了 aiohttp 和 asyncio 库
  2. 类名更改:ExtractClient 改为 AsyncExtractClient
  3. 异步方法:extract 方法改为 async def extract
  4. 异步HTTP请求:使用 aiohttp.ClientSession() 替代 requests.post
  5. 异步上下文管理:使用 async with 语句管理会话和请求
  6. 异步响应处理:使用 await response.text() 获取响应内容
  7. 主函数异步化:main 函数改为 async def main
  8. 运行方式:使用 asyncio.run(main()) 运行异步主函数
这个异步版本的优势:
  • 非阻塞I/O操作,提高性能
  • 可以更好地处理并发请求
  • 减少线程资源占用
  • 适合处理大量文件或需要并发处理的场景