One API: Универсальный менеджер и дистрибьютер API для LLM

#LLM#API#DevOps#Docker#OpenAI

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 может быть использован в различных сценариях:

  1. Управление ключами API: Централизованное хранение и управление ключами API для различных провайдеров.
  2. Адаптация API: Унификация интерфейса для работы с разными моделями, что упрощает интеграцию в проекты.
  3. Распределение доступа: Предоставление доступа к API своим клиентам или командам разработчиков.

Заключение

One API — это мощный инструмент для разработчиков, которые работают с несколькими языковыми моделями. Он упрощает управление ключами API, адаптирует различные интерфейсы под единый стандарт и легко развертывается с помощью Docker. Если вы ищете решение для управления и распределения API LLM, One API — это отличный выбор.

Используйте One API для упрощения работы с языковыми моделями и повышения эффективности ваших проектов.


Источник: https://github.com/songquanpeng/one-api