
Преобразуйте различные модели API в формат API OpenAI из коробки.
Виджет 10 МБ+, который позволяет преобразовать различные модели API в форматы API OpenAI из коробки.
Текущие поддерживаемые модели:
Посетите страницу выпуска GitHub, чтобы загрузить файл выполнения, который соответствует вашей операционной системе.

Или используйте Docker Pull, чтобы загрузить указанную версию файла изображения:
docker pull soulteary/amazing-openai-api:v0.7.0 AOA не нужно писать какие -либо файлы конфигурации и может настроить поведение приложения, указав переменные среды, включая «выбор рабочей модели», «Параметры установки, необходимые для работы модели» и «подключение псевдонима совместимости модели».
AZURE_ENDPOINT=https://你的部署名称.openai.azure.com/ ./aoa программа установит рабочую модель в azure .
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 После того, как служба запустилась, мы можем получить доступ к той же услуге API, что и Openai, посетив http://localhost:8080/v1 .
Вы можете использовать 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."
}
]
} 'Вы также можете использовать официальный SDK OpenAI для вызовов или использовать любое программное обеспечение с открытым исходным кодом (для получения дополнительных примеров, см. Пример):
from openai import OpenAI
client = OpenAI (
api_key = "your-key-or-input-something-as-you-like" ,
base_url = "http://127.0.0.1:8080/v1"
)
chat_completion = client . chat . completions . create (
messages = [
{
"role" : "user" ,
"content" : "Say this is a test" ,
}
],
model = "gpt-3.5-turbo" ,
)
print ( chat_completion ) Если вы не хотите подвергать ключ API приложению или беспокоитесь о том, имеет ли различные сложные программные программы с открытым исходным кодом риск утечки клавиш API, мы можем настроить дополнительную AZURE_API_KEY=你的API Key , а затем различное программное обеспечение с открытым исходным кодом не нужно заполнять ключ API при запросе (или просто заполнить его).
Конечно, из -за некоторых ограничений Azure и сложной корректировки имен вызовов моделей в некотором программном обеспечении с открытым исходным кодом мы можем сопоставить модели в исходном запросе на нашем реальное имя модели следующим образом. Например, замените GPT 3.5/4 на yi-34b-chat :
gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat Если вы хотите использовать yi-34b-chat или gemini-pro , нам нужно установить AOA_TYPE=yi или AOA_TYPE=gemini , за исключением того, что разница нет.
Проект docker-compose.yml примерный файл docker compose из трех поддерживаемых example настоящее время интерфейсов.
Затем используйте docker compose up чтобы запустить сервис, и его можно использовать быстро.
Отрегулируйте рабочую модель AOA_TYPE , необязательные параметры, по умолчанию в azure :
# 选择一个服务, "azure", "yi", "gemini"
AOA_TYPE: " azure " Адрес службы программы, дополнительные параметры, по умолчанию до 8080 и 0.0.0.0 :
# 服务端口,默认 `8080`
AOA_PORT: 8080
# 服务地址,默认 `0.0.0.0`
AOA_HOST: " 0.0.0.0 " Если мы хотим преобразовать сервис OpenAI, развернутую на 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_ENDPOINT и AZURE_API_KEY включают в себя элементы основных элементов в сервисе Azure Open, потому что имя развертывания для развертывания Azure GPT 3.5/GPT 4 не позволяет его включать . поэтому мы использовали AZURE_MODEL_ALIAS , чтобы заменить имя модели в контент, который мы запросили с помощью реальной развертывания. Этот метод может даже использоваться для автоматической карты моделей, используемых различными программным обеспечением с открытым исходным кодом и с закрытым исходным кодом для моделей, которые мы хотим:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35,gpt-4:gpt-35 Поскольку мы настроили AZURE_API_KEY , не нужно добавлять Authorization: Bearer <你的API Key> (также может быть написан случайно), будь то программное обеспечение с открытым исходным кодом или curl .

Если вы все еще привыкли к добавлению контента аутентификации в параметры заголовка запроса, вы можете использовать следующую команду, которая не содержит AZURE_API_KEY , и программа будет передана проверке службе Azure:
AZURE_ENDPOINT=https:// <你的 Endpoint 地址> .openai.azure.com/ AZURE_MODEL_ALIAS=gpt-3.5-turbo:gpt-35 ./amazing-openai-api Если вы хотите указать специальную версию API самостоятельно, вы можете указать AZURE_IGNORE_API_VERSION_CHECK=true чтобы заставить проверку достоверности версии API версии самой программы.
Если у вас уже есть Azure GPT Vision, в дополнение к использованию вызовов SDK, вы также можете обратиться к этому документу и использовать curl для вызова: GPT Vision.
# (必选) Azure Deployment Endpoint URL
AZURE_ENDPOINT
# (必选) Azure API Key
AZURE_API_KEY
# (可选) 模型名称,默认 GPT-4
AZURE_MODEL
# (可选) API Version
AZURE_API_VER
# (可选) 是否是 Vision 实例
ENV_AZURE_VISION
# (可选) 模型映射别名
AZURE_MODEL_ALIAS
# (可选) Azure 网络代理
AZURE_HTTP_PROXY
AZURE_SOCKS_PROXY
# (可选) 忽略 Azure API Version 检查,默认 false,始终检查
AZURE_IGNORE_API_VERSION_CHECKЕсли мы хотим преобразовать официальный YI API в стандартный вызов Openai, мы можем использовать следующую команду:
AOA_TYPE=yi YI_API_KEY= <你的 API KEY > ./amazing-openai-api Аналогично использованию Azure Services, мы можем использовать трюк для автоматической карты моделей, используемых различными программными для с открытым исходным кодом для модели, которую мы хотим:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
YI_MODEL_ALIAS=gpt-3.5-turbo:yi-34b-chat,gpt-4:yi-34b-chat Если мы настраиваем YI_API_KEY при запуске службы, нам не нужно добавлять Authorization: Bearer <你的API Key> (также может написать его curl ), что обеспечит строгую изоляцию ключа API и улучшит безопасность ключа API.
Если вы все еще привыкли к добавлению содержимого аутентификации в параметры заголовка запроса, вы можете использовать следующую команду, которая не содержит YI_API_KEY , и программа будет передана проверке в службу API YI:
./amazing-openai-api # (必选) YI API Key
YI_API_KEY
# (可选) 模型名称,默认 yi-34b-chat
YI_MODEL
# (可选) YI Deployment Endpoint URL
YI_ENDPOINT
# (可选) API Version,默认 v1beta,可选 v1
YI_API_VER
# (可选) 模型映射别名
YI_MODEL_ALIAS
# (可选) Azure 网络代理
YI_HTTP_PROXY
YI_SOCKS_PROXYЕсли мы хотим преобразовать официальный API Gemini в Google в стандартный вызов Openai, мы можем использовать следующую команду:
AOA_TYPE=gemini GEMINI_API_KEY= <你的 API KEY > ./amazing-openai-api Аналогично использованию Azure Services, мы можем использовать трюк для автоматической карты моделей, используемых различными программами с открытым исходным кодом, для модели, которую мы хотим:
# 比如不论是 3.5 还是 4 都映射为 `gpt-35`
GEMINI_MODEL_ALIAS=gpt-3.5-turbo:gemini-pro,gpt-4:gemini-pro Если мы настраиваем GEMINI_API_KEY при запуске службы, нам не нужно добавлять Authorization: Bearer <你的API Key> (также может написать его curl ), что обеспечит строгую изоляцию ключа API и улучшит безопасность ключа API.
Если вы все еще привыкли к добавлению контента аутентификации в параметры заголовка запроса, вы можете использовать следующую команду, которая не содержит GEMINI_API_KEY , и программа будет передана проверке службам Google AI:
./amazing-openai-api # (必选) Gemini API Key
GEMINI_API_KEY
# (可选) Gemini 安全设置,可选 `BLOCK_NONE` / `BLOCK_ONLY_HIGH` / `BLOCK_MEDIUM_AND_ABOVE` / `BLOCK_LOW_AND_ABOVE` / `HARM_BLOCK_THRESHOLD_UNSPECIFIED`
GEMINI_SAFETY
# (可选) Gemini 模型 版本,默认 `gemini-pro`
GEMINI_MODEL
# (可选) Gemini API 版本,默认 `v1beta`
GEMINI_API_VER
# (可选) Gemini API 接口地址
GEMINI_ENDPOINT
# (可选) 模型映射别名
GEMINI_MODEL_ALIAS
# (可选) Gemini 网络代理
GEMINI_HTTP_PROXY
GEMINI_SOCKS_PROXY