项目介绍:amazing-openai-api
简介
amazing-openai-api 是一个轻量级的小工具,大小不过10MB,却能将各种不同的模型 API 转换为开箱即用的 OpenAI API 格式。这个项目对开发者尤其友好,因为不需过多复杂的配置即可使用。
支持模型
目前,这个项目已经支持多种主流模型,包括:
- Azure OpenAI API (包括 GPT 3.5、GPT 4 和 GPT4 Vision)
- YI 34B API
- Google Gemini Pro
下载与安装
开发者可以通过项目的 GitHub Release 页面下载适合自己操作系统的执行文件。如果你更喜欢使用 Docker,也可以通过以下命令直接拉取相应版本的镜像文件:
docker pull soulteary/amazing-openai-api:v0.7.0
快速上手
这个工具的使用非常简单,只需要通过环境变量进行配置即可,不需要编写配置文件。首先默认的执行命令是 ./aoa
,程序会自动将工作模型设置为 azure
。接着,只需设置 AZURE_ENDPOINT
变量即可开始使用:
AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoa
对于更喜欢 Docker 的开发者,也可以通过下面的命令启动服务:
docker run --rm -it -e AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ -p 8080:8080 soulteary/amazing-openai-api:v0.7.0
启动服务后,可以通过访问 http://localhost:8080/v1
使用类似 OpenAI 的 API 服务。
API 请求示例
可以使用命令行工具如 curl
进行快速测试:
curl -v http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 123" \
-d '{
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."
},
{
"role": "user",
"content": "Compose a poem that explains the concept of recursion in programming."
}
]
}'
详细配置
开发者可以通过调整环境变量来选择需要的服务或模型,例如:
- 选择服务:
AOA_TYPE
,可选值为azure
、yi
、gemini
。 - 配置服务地址:
AOA_PORT
和AOA_HOST
。
此外,还可以为 Azure、YI 和 Gemini 服务分别配置多种专用参数,如 API Key、模型名称、API版本等。
容器快速启动
amazing-openai-api 项目中提供了支持多种模型接口的 Docker Compose 示例文件,开发者可以根据需要选择相应文件,填写必填信息后修改为 docker-compose.yml
,然后使用 docker compose up
命令启动服务。
Azure 使用示例
要使用 Azure 的 OpenAI 服务,可以用以下命令:
AZURE_ENDPOINT=https://<你的 Endpoint 地址>.openai.azure.com/ AZURE_API_KEY=<你的 API KEY> AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api
还可以通过映射模型名称实现更灵活的配置:
AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35,gpt-4:gpt-35
YI 和 Gemini 支持
同样的,YI 和 Gemini 的使用也相对简便,只需提前设置好相应的 API Key 以及其他选项,即可换用支持 OpenAI API 格式的请求。
对于 YI 和 Gemini,只需简单地在终端输入配置命令,映射好模型别名,即可享受与 OpenAI API 格式相似的服务。
模型参数设置
无论选择哪个提供商,开发者都可以灵活选择不同的参数和设置,以适应特定的使用场景和需求。
整体来看,amazing-openai-api 团队致力于简化各种 AI 模型服务的接入和使用,让开发者能够更便捷地调用强大的 AI 功能。