Repolode
mozilla-ai

mozilla-ai/otari

Самостоятельно размещаемый LLM-шлюз, совместимый с OpenAI: единая точка доступа к 40+ провайдерам, виртуальные ключи, бюджеты и учёт использования.

Open source альтернатива:LiteLLM

Звёзды
687
Форки
89
Открытые issues
325
Последний коммит
5 часов назад

Что это?

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

Учётные данные провайдеров хранятся на шлюзе, а не в клиентских приложениях. Операторы выпускают отзывные API-ключи с ограничениями по пользователям, рабочим пространствам и моделям, а также задают бюджеты расходов, которые проверяются до отправки запроса. Локальные политики маршрутизации поддерживают переключение при сбое, распределение с весами и подбор моделей на основе обучения.

Otari работает автономно с локальной базой данных, например SQLite или PostgreSQL, либо как плоскость данных, подключённая к otari.ai. Он предоставляет эндпоинты для chat completions, messages и responses, а также веб-панель для управления провайдерами, ключами, участниками, бюджетами и использованием. Дополнительные сервисы добавляют песочницу для кода, веб-поиск, поддержку MCP, защитные механизмы для инференса и анализ файлов.

Ключевые возможности

  • 01Предоставляет эндпоинт для 40+ провайдеров, совместимый с OpenAI и Anthropic.
  • 02Выпускает отзывные виртуальные API-ключи с ограничениями по пользователям, рабочим пространствам и моделям.
  • 03Проверяет бюджеты до отправки запросов и учитывает использование после неё.
  • 04Поддерживает переключение при сбое, распределение с весами и маршрутизацию на основе обучения.
  • 05Предоставляет веб-панель для управления провайдерами, ключами, бюджетами и использованием.
  • 06Работает автономно с SQLite или PostgreSQL через Docker Compose.

Сценарии использования

  • Создать для команды единую внутреннюю точку доступа к нескольким LLM-провайдерам, не раскрывая ключи провайдеров.
  • Ограничивать расходы на LLM и отслеживать их по пользователям или проектам.
  • Настроить переключение между моделями, чтобы запросы выполнялись, даже если один из провайдеров недоступен.
  • Направлять приложения, использующие клиент OpenAI, к другим провайдерам, изменив только base URL.

Быстрый старт

  1. 1

    Запустите временный автономный шлюз с помощью 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 providers: openai: api_key: ${OPENAI_API_KEY} ' mzdotai/otari:latest otari serve
  2. 2

    Отправьте запрос в чат, используя bootstrap key, которая отображается при первом запуске

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

Что важно знать

  • В руководстве по быстрому запуску Docker используется SQLite внутри контейнера, а при его остановке данные удаляются.
  • Для вызовов к провайдерам нужны собственные API-ключи провайдеров.

Темы

Частые вопросы

Что такое otari?
Самостоятельно размещаемый LLM-шлюз, совместимый с OpenAI: единая точка доступа к 40+ провайдерам, виртуальные ключи, бюджеты и учёт использования. Otari служит прослойкой между приложениями и провайдерами моделей. Он аутентифицирует запросы, находит учётные данные провайдеров, проверяет бюджеты перед отправкой и учитывает использование после каждого вызова. Запросы к провайдерам выполняются через библиотеку any-llm, поэтому клиентский код может и дальше использовать API в стиле OpenAI или Anthropic, а шлюз взаимодействует с провайдером.
otari можно использовать бесплатно? Какая у него лицензия?
otari распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
otari всё ещё поддерживается?
Активно поддерживается. Последний коммит в otari — 19 окт. 2026 г..
Для чего можно использовать otari?
Создать для команды единую внутреннюю точку доступа к нескольким LLM-провайдерам, не раскрывая ключи провайдеров. Ограничивать расходы на LLM и отслеживать их по пользователям или проектам. Настроить переключение между моделями, чтобы запросы выполнялись, даже если один из провайдеров недоступен. Направлять приложения, использующие клиент OpenAI, к другим провайдерам, изменив только base URL.
Как установить otari?
Запустите временный автономный шлюз с помощью 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 providers: openai: api_key: ${OPENAI_API_KEY} ' mzdotai/otari:latest otari serve Отправьте запрос в чат, используя bootstrap key, которая отображается при первом запуске: curl http://localhost:8000/api/v1/chat/completions -H "Authorization: Bearer tk-..." -H "Content-Type: application/json" -d '{"model": "openai:gpt-4o-mini", "messages": [{"role": "user", "content": "Say hello."}]}'
Где скачать otari?
Исходный код и инструкции по установке — на GitHub: https://github.com/mozilla-ai/otari

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Самостоятельно размещаемый AI-шлюз под лицензией MIT: единый OpenAI-совместимый endpoint для сотен провайдеров моделей, с автоматическим переключением с учётом квот и сжатием токенов.

78,3 тыс.11,4 тыс.TypeScriptMITОбновлён 8 часов назад

Самостоятельно развёртываемый ИИ-ассистент для исследований: выполняет многоэтапный поиск с локальными и облачными LLM и разными поисковыми системами, добавляет ссылки на источники и шифрует данные.

9,3 тыс.869PythonMITОбновлён 12 часов назад

Открытый AI-шлюз с единым OpenAI-совместимым API для 23+ LLM-провайдеров, резервным переключением, балансировкой нагрузки, семантическим кэшированием и виртуальными ключами.

8,9 тыс.1,4 тыс.GoApache-2.0Обновлён 7 часов назад