项目介绍:openai-multi-client
openai-multi-client
是一个用于简化与 OpenAI API 的交互的 Python 库。它的设计目的是让用户可以轻松地同时发起多个请求,无论是有序还是无序,同时自动处理请求失败后的重试。这个库能让你的应用代码保持同步,易于理解,而无需担心并发和死锁问题。对于需要大量请求的任务来说,这个工具尤为有用。
项目动机
想象一下,你坐在办公桌前,迫不及待地想用最先进的语言模型分析你的庞大文章数据库,希望从中发现隐藏的宝贵信息。不过,如果你按顺序发送请求,可能需要耗费很长时间才能完成。openai-multi-client
的出现就是为了解决这一问题,帮助用户充分利用 OpenAI 的 API,而无需长时间等待结果。
通过 openai-multi-client
,用户可以同时发送多个请求,并确保在请求失败时自动进行重试。此外,该库还允许用户根据需求配置请求与响应的顺序。
功能特性
- 同时向 OpenAI API 发送多个请求
- 支持有序和无序的请求处理
- 内置的请求失败重试机制,用户可以自定义重试设置
- 提供可定制化的 API 客户端,便于测试和模拟
- 简单易用的接口
安装方法
要安装 openai-multi-client
,可以使用 pip 命令:
pip install openai-multi-client
使用示例
以下是如何使用 openai-multi-client
库的简单示例:
from openai_multi_client import OpenAIMultiClient
# 需要将 OPENAI_API_KEY 环境变量设置为你的 API 密钥
api = OpenAIMultiClient(endpoint="chats", data_template={"model": "gpt-3.5-turbo"})
def make_requests():
for num in range(1, 10):
api.request(data={
"messages": [{
"role": "user",
"content": f"Can you tell me what is {num} * {num}?"
}]
}, metadata={'num': num})
api.run_request_function(make_requests)
for result in api:
num = result.metadata['num']
response = result.response['choices'][0]['message']['content']
print(f"{num} * {num}:", response)
如果希望响应顺序与请求顺序一致,可以使用 OpenAIMultiOrderedClient
替代 OpenAIMultiClient
。
项目的实际应用案例
openai-multi-client
非常适合那些需要大量并发请求的项目,例如从文章数据库中提取分析数据,并借助语言模型的能力进行深入分析。在实际应用中,用户通过本库可以快速处理高峰时段大量流入的文章,并以此生成相应的数据图谱和分析结果。
贡献与许可
欢迎为 openai-multi-client
做出贡献!用户可以提交 pull request 或在 GitHub 上打开 issue。此项目基于 MIT 许可发布。