OpenLM 项目介绍
什么是 OpenLM?
OpenLM 是一个与 OpenAI 兼容的库,可以通过它来调用其他提供商的语言模型(例如,HuggingFace、Cohere 等)。这个库的设计初衷是让用户能够轻松地使用多个模型提供商的服务,而无需学习和适应每个提供商的不同接口,这样就可以更灵活地实现自己的应用需求。
如何使用 OpenLM?
OpenLM 的使用方式非常简单。用户只需将传统的 OpenAI 的调用方式略加修改,即可直接切换到 OpenLM。例如,将 openai
替换成 openlm as openai
即可,如下所示:
import openlm as openai
completion = openai.Completion.create(
model=["bloom-560m", "cohere.ai/command"],
prompt=["Hello world!", "A second prompt!"]
)
print(completion)
主要功能
- 兼容性:OpenLM 接受与 OpenAI 的 Completion API 相同的参数,并返回相似结构的响应。
- 多模型支持:可以调用 HuggingFace 的推理端点 API、Cohere.ai、OpenAI,甚至用户自定义的模型。
- 多任务处理:在一次请求中处理多个模型的多个提示。
- 轻量级:OpenLM 通过直接调用推理 API,避免了使用多个 SDK 的繁琐。
如何安装
安装 OpenLM 非常简单,只需在命令行中输入以下命令:
pip install openlm
示例代码
OpenLM 提供了一些示例,帮助用户快速上手:
- 作为 OpenAI 使用:import as OpenAI
- 通过环境变量或字典设置 API 密钥:set up API keys
- 添加自定义模型或提供商:add a custom model or provider
- 在多个模型上完成多个提示:complete multiple prompts on multiple models
以下是一个示例,显示了如何在多种模型上处理多个提示:
import openlm
import json
completion = openlm.Completion.create(
model=["ada", "huggingface.co/gpt2", "cohere.ai/command"],
prompt=["The quick brown fox", "Who jumped over the lazy dog?"],
max_tokens=15
)
print(json.dumps(completion, indent=4))
未来规划
OpenLM 目前支持 Completion 端点,但未来将支持更多标准化的端点,例如流 API 和嵌入 API,以满足用户的多样化需求。
贡献与许可证
项目欢迎任何形式的贡献,有兴趣的用户可以通过提交问题或 PR 来参与。OpenLM 采用 MIT 许可证,这意味着它是开源且免费的。
通过 OpenLM,用户能够以一种简化的方式利用多个语言模型的强大功能,大大降低了开发复杂应用时的技术壁垒。