项目介绍:vercel-llm-api
概述
vercel-llm-api
是一个逆向工程的 API 包装器,用于 Vercel AI Playground。该工具允许用户免费访问多个大型语言模型(LLMs),包括 OpenAI 的 ChatGPT、Cohere 的 Command Nightly 以及一些开源模型。此 API 包为开发者提供了一种简单的方法来调用这些丰富的语言模型服务,支持文本生成和聊天消息生成等多种功能。
特性
- 下载可用模型:用户可以下载并存储可用的模型列表。
- 生成文本:通过该工具,用户可以生成各种文本内容。
- 生成聊天消息:支持生成聊天交互所需的文本消息。
- 设置自定义参数:用户可以为文本生成设置个性化的参数。
- 流响应:可以实时流式接收生成的文本响应。
限制
- 用户代理已预先硬编码。
- 尚不支持身份验证。
- 不支持使用“专业版”或“爱好者”级别的模型。
安装指南
该库可以通过以下命令安装:
pip3 install vercel-llm-api
使用文档
用户可以在 /examples
目录中找到示例文件,运行示例如下:
python3 examples/generate.py
使用客户端
要使用该库,只需导入 vercel_ai
模块并创建一个 vercel_ai.Client
实例。可以通过 proxy
参数设置代理:
普通示例:
import vercel_ai
client = vercel_ai.Client()
使用代理的示例:
import vercel_ai
client = vercel_ai.Client(proxy="socks5h://193.29.62.48:11003")
下载可用模型
在初始化时,客户端会下载可用模型列表,并存储在 client.models
中。由于没有身份验证功能,带有 "minBillingTier"
属性的模型无法使用。
生成文本
可以使用 client.generate
函数来生成文本,该函数接受下列参数:
model
:需要使用的模型的 ID。prompt
:输入的提示信息。params
:可选参数的字典。
流式示例:
for chunk in client.generate("openai:gpt-3.5-turbo", "Summarize the GNU GPL v3"):
print(chunk, end="", flush=True)
非流式示例:
result = ""
for chunk in client.generate("openai:gpt-3.5-turbo", "Summarize the GNU GPL v3"):
result += chunk
print(result)
生成聊天消息
为生成聊天消息,需使用 client.chat
函数,它接受如下参数:
model
:需要使用的模型 ID。messages
:消息列表,格式类似于使用 OpenAI 官方 API 时的格式。
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
for chunk in client.chat("openai:gpt-3.5-turbo", messages):
print(chunk, end="", flush=True)
print()
更改日志级别
如果需要显示调试消息,可以调用 vercel_ai.logger.setLevel
:
import vercel_ai
import logging
vercel_ai.logger.setLevel(logging.INFO)
版权声明
该程序根据 GNU GPL v3 许可证授权发布。若有需要,用户可以自由地重新分发和修改此程序。
项目代码的所有权归属为 ading2210。