AISIX AI Gateway

by API7.ai (open source) · Linux, macOS, Windows, OpenAI API, Anthropic API, Gemini API, Bedrock API, Azure OpenAI API, DeepSeek API, Claude Desktop, Claude Code, OpenCode

MCP MCP Servers Open Source v0.10.0 · 20.08.2026 активный

Open-source AI gateway для LLM и агентов на Rust. Единый OpenAI-совместимый API для OpenAI, Anthropic, Gemini, Bedrock и других — роутинг, guardrails, кеширование, rate limits, observability.

v0.10.0
20.08.2026 current

Установка
export OPENAI_API_KEY="YOUR_PROVIDER_KEY"
export CALLER_API_KEY="YOUR_CALLER_KEY"
docker run -d --name aisix \
  --platform linux/amd64 \
  -v "$(pwd)/config.yaml:/etc/aisix/config.yaml:ro" \
  -v "$(pwd)/resources.yaml:/etc/aisix/resources.yaml:ro" \
  -e OPENAI_API_KEY -e CALLER_API_KEY \
  -p 3000:3000 -p 127.0.0.1:9090:9090 \
  ghcr.io/api7/aisix:latest
# proxy → :3000, metrics + status → :9090 (metrics/status listener unauthenticated; keep on loopback/private network)
показать оригинал переведено ИИ

AISIX AI Gateway

Открытый шлюз для ИИ на базе Rust для LLM и ИИ-агентов

Единый API, совместимый с OpenAI, перед любой моделью. Маршрутизация, управление, защита, кэширование и наблюдение за всем трафиком LLM и ИИ-агентов из одной точки контроля — поставляется в виде одного статического бинарного файла с низкими накладными расходами на запрос. Запускайте его в своей инфраструктуре бесплатно навсегда.

Разработано создателями Apache APISIX.

License: Apache 2.0 Built with Rust Docs Discord Website

Начать бесплатно · Документация · Быстрый старт · AISIX Cloud · Дорожная карта


AISIX AI Gateway architecture — one OpenAI- or Anthropic-compatible API in front of OpenAI, Anthropic, Gemini/Vertex, Bedrock, Azure OpenAI, and DeepSeek, with API key auth, rate and token limits, guardrails, caching, routing and failover, and observability in between


AISIX AI Gateway — это шлюз на базе Rust, который предоставляет единый API, совместимый с OpenAI, перед всеми провайдерами LLM — OpenAI, Anthropic, Google Gemini, AWS Bedrock, Azure OpenAI, DeepSeek и любыми конечными точками, совместимыми с OpenAI. Он даёт командам платформы единое место для маршрутизации, управления, защиты и наблюдения за трафиком LLM с первоклассной потоковой передачей SSE и низкими накладными расходами шлюза.

Он работает как один статический бинарный файл — низкий холодный старт, чтение конфигурации без блокировок и горячая перезагрузка конфигурации без перезапусков: объявляйте ресурсы в одном файле resources.yaml и перезагружайте их по сигналу SIGHUP, или направьте шлюз на etcd для кластера с несколькими репликами. Запускайте открытый шлюз в своей инфраструктуре или подключайте его к AISIX Cloud для централизованного управления с командным управлением, бюджетами, аудитом и панелью управления.

AISIX AI Gateway (этот репозиторий) — это продукт с открытым исходным кодом. Он работает без плоскости управления с использованием декларативной конфигурации или etcd. При подключении к AISIX Cloud тот же шлюз служит плоскостью данных. AISIX Cloud добавляет коммерческую плоскость управления, размещаемую либо API7 (Гибридное облако), либо вами в вашей инфраструктуре (Локально). В обоих вариантах шлюз работает в вашей среде и напрямую вызывает провайдеров; живой трафик ИИ не проходит через плоскость управления или API7. Прокси-API идентичен во всех случаях. Свяжитесь с нами по поводу AISIX Cloud →

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

Один контейнер. Нет плоскости управления, базы данных или хранилища конфигурации — шлюз считывает все динамические ресурсы из одного декларативного файла resources.yaml.

# config.yaml
resources_file: /etc/aisix/resources.yaml
proxy:
  addr: "0.0.0.0:3000"
admin:
  enabled: false          # a declarative gateway needs no admin listener
observability:
  metrics:
    prometheus:
      enabled: true
      addr: "0.0.0.0:9090"
# resources.yaml
_format_version: "1"

provider_keys:
  - display_name: openai-main
    provider: openai
    api_key: ${OPENAI_API_KEY}        # interpolated from the environment

models:
  - display_name: my-model
    provider: openai
    model_name: gpt-4o-mini
    provider_key: openai-main

api_keys:
  - display_name: local-dev
    key_env: CALLER_API_KEY           # hashed at load; the plaintext is never stored
    allowed_models: ["my-model"]
export OPENAI_API_KEY="YOUR_PROVIDER_KEY"
export CALLER_API_KEY="YOUR_CALLER_KEY"

docker run -d --name aisix \
  --platform linux/amd64 \
  -v "$(pwd)/config.yaml:/etc/aisix/config.yaml:ro" \
  -v "$(pwd)/resources.yaml:/etc/aisix/resources.yaml:ro" \
  -e OPENAI_API_KEY -e CALLER_API_KEY \
  -p 3000:3000 -p 127.0.0.1:9090:9090 \
  ghcr.io/api7/aisix:latest        # proxy → :3000, metrics + status → :9090
#                                  ^ the metrics/status listener is unauthenticated;
#                                    keep it on loopback or a private network

Затем вызывайте шлюз точно так же, как OpenAI:

curl http://localhost:3000/v1/chat/completions \
  -H "Authorization: Bearer $CALLER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"my-model","messages":[{"role":"user","content":"hello"}]}'

Редактируйте resources.yaml и отправляйте сигнал SIGHUP (docker kill -s HUP aisix), чтобы применить изменения без перезапуска — некорректный файл отклоняется целиком, и продолжает обслуживаться последняя корректная конфигурация. Проверяйте файл перед запуском с помощью команды aisix validate --resources resources.yaml.

Полное руководство: Быстрый старт шлюза · Описание всех полей: Справочник по файлу ресурсов. Для кластера с несколькими репликами направьте шлюз на etcd — параметры resources_file и etcd являются взаимоисключающими.

✨ Почему AISIX

  • Один API для всех моделей. Используйте формат OpenAI или Anthropic на входе; шлюз переводит запросы на тот провайдер, на который указывает каждая модель. Направьте SDK OpenAI или Claude на один base_url и переключайте модели без изменения кода.
  • Настоящий шлюз на Rust. Один статический бинарный файл, низкий холодный старт, чтение конфигурации без блокировок на горячем пути, нативная потоковая передача.
  • Открытый исходный код, бесплатно навсегда. Лицензия Apache-2.0, работает в вашей инфраструктуре. Выбирайте AISIX Cloud, когда вам нужно централизованное управление через плоскость управления и панель мониторинга.
  • Встроенные средства для продакшена. Маршрутизация и аварийное переключение, ограничение скорости, защитные механизмы, кэширование и наблюдаемость включены из коробки. (Бюджеты и ограничения расходов — функция AISIX Cloud; шлюз выполняет решения плоскости управления.)

🧩 Возможности — доступны уже сегодня

Покрыто 183 файлами сквозных сценариев (496 тестов), которые запускаются на реальных процессах шлюза.

  • Прокси, совместимый с OpenAI (:3000) — chat/completions, completions, responses, embeddings, rerank, images/{generations,edits}, audio/{speech,transcriptions,translations}, videos (отправка → опрос → получение), files, batches, fine_tuning/jobs, realtime, GET /v1/models, а также корневой эндпоинт /passthrough/:provider/* для обхода ограничений. Поддержка нативного потокового вещания SSE, вызова инструментов/функций, JSON-режима, мультимодального ввода (зрение) и контента для рассуждений.
  • API сообщений Anthropic — POST /v1/messages как полноценный маршрут, работающий с любым настроенным вышестоящим провайдером: запросы и ответы (включая потоковые) переводятся в обе стороны, если модель указывает на провайдера, отличного от Anthropic.
  • Маршрутизация и аварийное переключение — виртуальные/маршрутизируемые модели с шестью стратегиями: round_robin (взвешенный циклический перебор), consistent_hash (привязка сессий по заголовку / cookie / API-ключу / IP-адресу клиента), failover, а также метрические стратегии least_cost, least_latency и least_busy. Приоритетные уровни (priority) для целей (активные/резервные пулы), бюджеты повторных попыток, периоды охлаждения, цели с условными тегами и тайм-ауты на каждую попытку.
  • Ансамблевые модели — отправка одного запроса одновременно группе моделей, после чего судейская модель синтезирует единый ответ с порогом минимально успешных ответов.
  • Семантическая маршрутизация — одна виртуальная модель, которая распределяет запросы по смыслу: она векторизует промпт, сравнивает его с примерами высказываний для каждого маршрута и направляет к наилучшему совпадению (или к маршруту по умолчанию). См. документацию по семантической маршрутизации.
  • Ограничение скорости и параллелизма — ограничения по запросам в секунду/минуту/час/день + токенам в минуту/день + параллельным запросам, комбинируемые по логическому И для ключей вызывающих, моделей и областей политики (api_key / model / team / member / team_member). Счётчики по умолчанию ведутся на уровне процесса или могут быть общими для реплик с использованием бэкенда Redis.
  • Защитные барьеры — контроль контента на входе и выходе, выполняемый в процессе или через провайдера: ключевые слова/регулярные выражения, встроенное обнаружение и редактирование PII, Presidio, Lakera, OpenAI Moderation, AWS Bedrock Guardrails, Azure AI Content Safety (Prompt Shield + модерация текста), а также две службы Alibaba Cloud. При блокировке возвращается 422 content_filter; в режиме мониторинга фиксируется, что произошло бы без блокировки.
  • Кэширование — кэш ответов по точному совпадению с настраиваемым временем жизни (TTL) и фильтрами по модели/ключу; бэкенды в памяти и Redis; телеметрия экономии затрат при каждом попадании в кэш. Отдельно автоматическое кэширование промптов может быть включено для прямых моделей Anthropic, чтобы внедрять точки разрыва кэша, позволяя вызывающим получать скидки на промпты на стороне провайдера без изменения запросов.
  • Шлюз MCP — проксирование зарегистрированных вышестоящих серверов MCP по пути /mcp с учётными данными, хранящимися на шлюзе, пространствами имён инструментов для каждого сервера и доступом для каждого вызывающего. Поддерживает все ревизии Streamable HTTP с 2025-03-26 по 2026-07-28 без сохранения состояния сессий на стороне клиента. Вышестоящие серверы по умолчанию используют initialize или server/discover с protocol_version: "2026-07-28". В CI запускаются применимые сценарии протокола только для инструментов из официального набора MCP. Также предоставляет REST API в виде инструментов MCP из описания OpenAPI.
  • Шлюз A2A-агентов — проксирование A2A-агентов (Agent-to-Agent) по пути /a2a/:agent, обслуживание карточки каждого агента с перезаписью URL на шлюз через JSON-RPC 2.0.
  • Аутентификация входящих запросов — API-ключи вызывающих (хешированные SHA-256, списки разрешённых моделей, срок действия, ротация) или OIDC/JWT токены доступа, проверяемые по зарегистрированным провайдерам (Entra ID, Okta, Google Workspace или любой OIDC-эмитент) с кэшированием JWKS.
  • Наблюдаемость — метрики Prometheus на /metrics, структурированные логи доступа для каждого запроса, события использования, экспорт OTLP/GenAI-спанов (Langfuse, Honeycomb, Grafana Cloud или любой OTLP-приёмник), а также выделенные экспортеры логов для Datadog и Aliyun SLS и телеметрия в объектные хранилища (S3/GCS/Azure Blob).
  • Декларативная конфигурация — один файл resources.yaml содержит все десять коллекций ресурсов (ключи провайдеров, модели, ключи вызывающих, защитные барьеры, серверы MCP, A2A-агенты, политики кэширования, экспортеры наблюдаемости, политики ограничения скорости, OIDC-провайдеры), проверяемые по тем же JSON-схемам, которые шлюз использует во время выполнения. Команда aisix validate проверяет файл офлайн; SIGHUP перезагружает его атомарно.
  • Операционные эндпоинты — /livez и /readyz на слушателе прокси; /status/config,

Конечные точки /status/ready, /status/models и Prometheus /metrics доступны на выделенном слушателе метрик (:9090). Админский слушатель (:3001) дополнительно предоставляет только для чтения поверхность ресурсов, OpenAPI 3 с интерфейсом Scalar и игровую площадку. Ресурсы управляются декларативно — через файл resources_file (перезагружается по сигналу SIGHUP) или прямыми записями в etcd — а не через админский слушатель; его прежние конечные точки для записи были удалены.

🔌 Поддерживаемые провайдеры

AISIX направляет запросы через пять семейств нативных адаптеров — отдельные мосты протоколов, а не один универсальный релей. Независимо от протокола вышестоящего сервера, клиентский API остаётся в формате OpenAI.

Семейство адаптеров Поддерживает Формат протокола · аутентификация
openai OpenAI + любой совместимый с OpenAI вендор — DeepSeek, Groq, Mistral, Together, Fireworks, Perplexity, vLLM, Ollama или собственные конечные точки, совместимые с OpenAI Чат-завершения OpenAI · Bearer
anthropic Anthropic Claude Сообщения Anthropic · x-api-key
bedrock AWS Bedrock — Anthropic, Meta Llama, Mistral, Cohere, Amazon Titan/Nova, AI21 Bedrock Converse + /invoke · SigV4
vertex Google Vertex AI (Gemini) Vertex :generateContent · OAuth2
azure-openai Azure OpenAI Развёртывания Azure · api-key / Entra ID

Кроме того, реализована специализированная обработка особенностей вендоров (например, содержимое рассуждений DeepSeek) и выделенные провайдеры переранжирования / эмбеддингов (Cohere, Jina). Подробности в разделе семейства протоколов адаптеров.

☁️ Открытый исходный код vs AISIX Cloud

Один и тот же бинарный файл шлюза, тот же прокси-API — в любой форме шлюз работает в вашей среде. AISIX Cloud добавляет коммерческую панель управления, размещаемую либо API7 (Гибридное облако), либо в вашей инфраструктуре (Локально).

AISIX Cloud overview — requests, latency p50/p99, error rate and cost today, with a 7-day request-and-cost trend and data-plane health
Обзор — трафик, задержка, частота ошибок и расходы на первый взгляд

AISIX Cloud models — alias an upstream LLM per provider (OpenAI, Anthropic, AWS Bedrock, DeepSeek) with model IDs and per-model rate limits
Модели — один псевдоним на каждый вышестоящий сервер: OpenAI, Anthropic, Bedrock, DeepSeek…

AISIX Cloud guardrails — pre-input and post-output content policies (keyword blocklist, Azure Content Safety, AWS Bedrock) that block on violation
Защитные механизмы — политики до и после ввода, блокировка при нарушении
AISIX Cloud playground — pick a model, set system and user prompts, run, and read the response with live token and cost metering
Игровая площадка — тестирование любой модели с учётом токенов и стоимости в реальном времени

AISIX Cloud observability exporters — fan out chat-completion telemetry to OTLP, Datadog and object storage, with per-target delivery health
Наблюдаемость — отправка трассировок и логов в OTLP, Datadog, объектное хранилище

AISIX Cloud budgets — organization and per-environment spend caps with progress bars, hard-stop versus warn-only, including an over-budget policy
Бюджеты — жёсткие лимиты расходов с предупреждающими уровнями

Панель управления AISIX Cloud — обзорные метрики, модели от нескольких провайдеров, защитные механизмы, бюджеты (с жёсткими лимитами расходов) и экспортеры наблюдаемости для всех ваших шлюзов.

▶ Попробуйте демо-панель в действии — aisix-demo.api7.ai

Шлюз с открытым исходным кодом (этот репозиторий) AISIX Cloud (Гибридное облако или Локально)
Цена Бесплатно · Apache-2.0 · навсегда Коммерческая — свяжитесь с нами
Конфигурация Декларативный resources.yaml или etcd для кластера Панель управления + Cloud Admin API, мультисреда
Мультиарендность Один экземпляр / пространство имён Организация → Команда → Участник → Среда
Ключи провайдеров В файле ресурсов как ссылки на переменные окружения ${VAR} или в etcd Шифрование конвертом в состоянии покоя, только для записи, ротация на месте
Входящая аутентификация Ключи вызывающей стороны (хешированные SHA-256, списки разрешённых моделей, срок действия) или OIDC/JWT Bearer То же, плюс маскированное отображение, владение ключами и PAT
Бюджеты — (только ограничения по скорости и токенам) На ключ / провайдера / среду / организацию / команду, жёсткие лимиты и оповещения
RBAC Админский ключ = поверхность ресурсов только для чтения Роли организации (владелец / администратор / участник), приглашения
Журнал аудита — Полный журнал аудита в рамках организации с просмотром изменений
Использование и стоимость Экспорт логов, метрик и событий использования самостоятельно Управляемые представления использования, каталог цен на модели, отчётность по расходам
Поверхность Конечные точки статуса, поверхность чтения OpenAPI, игровая площадка Полная панель управления + игровая площадка для каждой среды

→ Хотите панель управления AISIX Cloud, управление, бюджеты и панель мониторинга? Свяжитесь с API7 для получения дополнительной информации. Гибридное облако или локальная инфраструктура, или закажите демонстрацию.

🏗️ Архитектура

Единое рабочее пространство Cargo; крейт aisix-server собирает один бинарный файл aisix, который объединяет все крейты.

crates/
├── aisix-core           Config, snapshot, resource model, resources.yaml source, errors
├── aisix-etcd           Config provider + watch supervisor
├── aisix-gateway        Hub & bridge, SSE parser, provider trait
├── aisix-proxy          /v1/*, /mcp, /a2a handlers, routing, middleware
├── aisix-admin          Read-only resource surface + playground + OpenAPI
├── aisix-provider-*     openai · anthropic · azure-openai · bedrock · vertex
├── aisix-mcp            MCP gateway — server registry, tool ACL, transports
├── aisix-a2a            A2A agent gateway — agent cards, JSON-RPC bridge
├── aisix-ratelimit      fixed-window + token accounting + concurrency (local | redis)
├── aisix-cache          memory + redis backends
├── aisix-redis          shared Redis connection for cache + rate limits
├── aisix-guardrails     pre/post content-policy hooks
├── aisix-obs            tracing, metrics, access log, exporters
└── aisix-server         the `aisix` binary — bootstrap + CLI

🗺️ Дорожная карта

Основные моменты дорожной карты; отслеживаются в реальном времени в задачах:

  • Семантическое (по сходству эмбеддингов) кэширование ответов
  • Дополнительные приёмники наблюдаемости — Langsmith, Helicone, оповещения в Slack
  • Шаблоны промптов, управляемые как ресурсы шлюза
  • Llama-Guard в качестве провайдера защитных механизмов

Реализовано с момента последнего обновления этого списка: шлюз MCP, шлюз агента A2A, входящая аутентификация OIDC/JWT, распределённое ограничение скорости на базе Redis, а также защитные механизмы Lakera, Presidio, PII и OpenAI Moderation — см. раздел Возможности выше.

🛠️ Разработка

Необходимые компоненты: инструментарий Rust, зафиксированный в rust-toolchain.toml. Docker требуется только для тестов, использующих etcd, Redis или эмуляторы провайдеров.

cargo check --workspace
cargo fmt --check
cargo clippy --workspace -- -D warnings
cargo test --workspace

# Coverage (matches the CI gate)
cargo llvm-cov --workspace --lcov --output-path lcov.info

# Run locally against a resources.yaml (no etcd needed). Copy the Quickstart's two files
# and change resources_file to the local path, e.g. resources_file: ./resources.yaml
cargo run -p aisix-server --bin aisix -- --config config.local.yaml

# Check a resources file without starting a listener
cargo run -p aisix-server --bin aisix -- validate --resources resources.yaml

💬 Сообщество

Если AISIX полезен для вас, поставьте ⭐ — это поможет другим инженерам найти его.

📄 Лицензия

Apache 2.0.

Войдите, чтобы оставить комментарий