TL;DR: One API — это универсальное решение для управления и распределения API различных языковых моделей, таких как OpenAI, Google Gemini и Anthropic Claude. Оно позволяет централизованно управлять ключами API, адаптировать их под единый интерфейс и легко развертывать с помощью Docker или как единого исполняемого файла.
Введение
С развитием технологий искусственного интеллекта и языковых моделей (LLM) разработчики все чаще сталкиваются с необходимостью интеграции различных API от разных провайдеров. OpenAI, Google Gemini, Anthropic Claude, DeepSeek, ChatGLM — это лишь небольшой список популярных моделей, которые могут быть использованы в проектах. Однако управление множеством API, их ключами и адаптация под единый интерфейс может стать настоящей головной болью.
One API предлагает решение этой проблемы, предоставляя универсальный инструмент для управления и распределения API. Это особенно полезно для команд, которые работают с несколькими моделями одновременно или предоставляют доступ к API своим клиентам.
Основная часть
Установка и развертывание
One API доступен как единый исполняемый файл или как Docker-образ, что делает его развертывание максимально простым. Вот пример развертывания с помощью Docker:
docker run -d --name one-api \
-p 3000:3000 \
-v /path/to/config:/app/config \
songquanpeng/one-api:latest
После запуска контейнера, One API будет доступен на порту 3000. Вы можете настроить конфигурацию, указав путь к файлу конфигурации через volume.
Конфигурация
Конфигурация One API осуществляется через YAML-файл. Вот пример базовой конфигурации:
server:
port: 3000
log_level: info
api_keys:
- provider: openai
key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- provider: google
key: AIzaSyxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
endpoints:
- name: chat
path: /v1/chat/completions
method: POST
provider: openai
В этом примере мы настраиваем два ключа API для OpenAI и Google Gemini, а также определяем конечную точку для запросов к модели OpenAI.
Использование API
После настройки и запуска One API, вы можете использовать единый интерфейс для работы с различными моделями. Например, для отправки запроса к модели OpenAI через One API:
curl -X POST "http://localhost:3000/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Hello, world!"}]
}'
One API автоматически перенаправит запрос на соответствующий провайдер и вернет результат.
Практическое применение
One API может быть использован в различных сценариях:
- Управление ключами API: Централизованное хранение и управление ключами API для различных провайдеров.
- Адаптация API: Унификация интерфейса для работы с разными моделями, что упрощает интеграцию в проекты.
- Распределение доступа: Предоставление доступа к API своим клиентам или командам разработчиков.
Заключение
One API — это мощный инструмент для разработчиков, которые работают с несколькими языковыми моделями. Он упрощает управление ключами API, адаптирует различные интерфейсы под единый стандарт и легко развертывается с помощью Docker. Если вы ищете решение для управления и распределения API LLM, One API — это отличный выбор.
Используйте One API для упрощения работы с языковыми моделями и повышения эффективности ваших проектов.
Источник: https://github.com/songquanpeng/one-api