为 AISuite 添加 Asyncio 支持
作者: janvis11创建于 2025年11月28日更新于 2026年8月30日
□ 总结
这个PR向"aisite"引入了asyncio支持,使开发者能够在现代同步的Python应用程序(FastAPI,ASync代理,事件驱动的LLM工作流程,聊天服务器等)中使用库.
这一特点在社区讨论中经常提出要求,大大提高了AISsuite在生产级AI系统的可用性。
-- -- . . .
□动机
AISsuite目前仅暴露出同步方法. 然而,大多数现实世界的AI应用——包括聊天API,RAG服务器和多工具代理——运行在async框架,其中阻断调用限制了通量和性能.
添加同步支持 :
- 启用并行的 LLM 调用而不阻碍事件循环
- 使AIS套件与FastAPI、Aync工人和Aync代理兼容
- 提高多供应商或多步骤管道的吞吐量
- 与已经暴露了协同方法的现代LLM SDK对接AISSuite
此 PR 在不中断任何已存在的同步 API 的情况下添加了 async 支持 。
-- -- . . .
□ 此 PR 添加的内容
`同步'包装类
- 提供与现有同步方法等同的同步方法
- 使用`asyncio.to thread ()'来保持与目前所有供应商执行的兼容性
同步生成()'和同步聊天()'方法 示例
从对等导入 AsyncClient
客户端 = AsyncClient ("OpenAI: GPT-4o").
async def 主线( ):
响应 = 等待客户端. generate ("Write a haiku about async LLMs").
打印( 回复. text)
后向兼容设计
- 现有用户不需要改动
- 同步和同步客户端可以共存
- 供应商不需要修改
基本合成测试
- 确认事件启动行为
- 确保产出符合同步结果
-- -- . . .
□ 执行细节
- 在“aisite/async client.py”中开设“AsyncClient”课程
- 将所有电话转至围绕现有供应商执行的合成器
- 在文件中添加最小的同步示例
- 在`试验/合成/'下增加轻量级合成单元试验
这种设计在给予开发者完全的AISute能力的同时保持了AISute的简单.
-- -- . . .
□ 核对表
- Async 客户端已执行
- 添加的测试
- 更新文件
- 后向兼容
- 已打开并格式化
谢谢!
内容来源: andrewyng/aisuite