Otari: шлюз для языковых моделей с поддержкой OpenAI

Otari: шлюз для языковых моделей с поддержкой OpenAI

Otari — это open-source шлюз для языковых моделей (LLM), совместимый с OpenAI, который ты можешь развернуть у себя. Он позволяет единообразно подключаться к более чем 40 поставщикам моделей, управлять виртуальными ключами, устанавливать бюджеты и отслеживать использование.

Проект полезен для разработчиков, которым нужно управлять несколькими API без утечки конфиденциальной информации, так как Otari аутентифицирует запросы и сохраняет учетные данные за границами шлюза. Это значит, что ты можешь контролировать доступ и расходы, а также иметь гибкие политики маршрутизации. Подходит для тех, кто хочет создать собственное решение для работы с LLM, минимизируя зависимость от сторонних сервисов.

Otari написан на Python 3.13 и запускается с использованием Docker. Учти, что для работы потребуется настроить свою базу данных и ключи от поставщиков. Проект находится на стадии активной разработки, так что баги и изменения могут встречаться.

Проект Otari представляет собой шлюз для языковых моделей, совместимый с OpenAI. Он позволяет интегрировать более 40 провайдеров моделей и управлять ими через единую точку доступа. С помощью Otari можно выдавать виртуальные ключи API, контролировать бюджеты и отслеживать использование ресурсов.

Otari работает между твоими приложениями и провайдерами моделей, аутентифицируя запросы, разрешая учетные данные провайдеров, проверяя бюджеты перед выполнением запросов и записывая использование после их завершения. Всю логику вызовов провайдеров реализует модуль any-llm.

Зачем нужен Otari

  • Обеспечивает единый интерфейс для работы с множеством провайдеров, совместимых с OpenAI и Anthropic.
  • Управление учетными данными провайдеров происходит непосредственно в шлюзе, что увеличивает безопасность.
  • Позволяет создавать отменяемые ключи API с настройками по пользователям, рабочим пространствам и моделям.
  • Включает проверки бюджета перед тратами и записи использования после завершения операций.
  • Поддерживает локальное управление маршрутами для резервирования, взвешивания и интеллектуального выбора провайдеров.
  • Предоставляет дополнительные возможности, такие как выполнение кода, поиск в вебе и понимание файлов.

Установка и запуск

Чтобы быстро запустить временный шлюз, можно использовать Docker:

docker run --rm -p 8000:8000 \
  -e OTARI_MASTER_KEY=SET_A_MASTER_KEY \
  -e OPENAI_API_KEY=YOUR_OPENAI_KEY \
  -e OTARI_CONFIG_YAML='default_pricing: true' \
  mzdotai/otari:latest \
  otari serve

При первом запуске с пустой базой данных Otari создаст API-ключ, который будет выведен на экран. Этот ключ нужно использовать для отправки запросов.

curl http://localhost:8000/v1/chat/completions \
  -H "Authorization: Bearer gw-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai:gpt-4o-mini",
    "messages": [{"role": "user", "content": "Say hello."}]
  }'

Для постоянного хранения данных рекомендуется использовать Docker Compose:

git clone https://github.com/mozilla-ai/otari
cd otari
cp config.example.yml config.yml
# Задай мастер-ключ, учетные данные провайдеров и ценообразование в config.yml.
docker compose pull
docker compose up -d

Режимы работы

  • Standalone: Один процесс выполняет управление и обработку с использованием локального хранилища.
  • Hosted: Многоарендная система управления; обработка происходит на подключенных шлюзах.
  • Hybrid: Шлюз управляет учетными данными и отправляет отчеты о использовании в otari.ai.

Ограничения и требования

При использовании контейнера по умолчанию применяется SQLite, но данные будут утеряны после остановки контейнера. Для поддержки постоянства данных рекомендуется использовать PostgreSQL с Docker Compose. Также ты должен позаботиться о сохранности секретных ключей и правильно настроить конфигурацию.

Важно также отметить, что для работы с OpenAI-клиентами необходимо установить параметр base_url в значение http://localhost:8000/v1.

Проект лицензирован под Apache 2.0, что позволяет использовать его с минимальными ограничениями.

Открыть на GitHub: mozilla-ai/otari →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте