aisuite: единый API для всех LLM-провайдеров

«Напиши один раз — запускай с любым провайдером» — именно такой принцип лежит в основе aisuite.

Что такое aisuite и для кого он создан

aisuite — это лёгкая Python-библиотека, которая предоставляет единый API для работы с несколькими Generative AI провайдерами, включая OpenAI, Anthropic, Google, Hugging Face, AWS, Cohere, Mistral, Ollama, OpenRouter и других, абстрагируя различия SDK, детали аутентификации и вариации параметров.

Библиотеку создала команда Andrew Ng — одного из самых известных специалистов в области AI и основателя DeepLearning.AI. По состоянию на июнь 2025 года репозиторий набрал свыше 12 000 звёзд на GitHub.

Для кого подойдёт:

  • Python-разработчики, работающие с несколькими LLM-провайдерами
  • Исследователи, сравнивающие модели между собой
  • Стартапы, которым нужна гибкость в выборе AI-бекенда
  • Студенты и преподаватели курсов по AI (аудитория DeepLearning.AI)
ℹ Кто создал
aisuite выпустила команда Andrew Ng — автора курсов Machine Learning на Coursera и сооснователя Google Brain. Проект с ноября 2024 года активно развивается и регулярно получает обновления.

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

1. Единый интерфейс в стиле OpenAI

Дизайн API смоделирован по образцу OpenAI, что делает его мгновенно знакомым и простым для освоения. Разработчики могут переключаться между моделями с помощью простой строки формата provider:model (например, openai:gpt-4o или anthropic:claude-3-5), устраняя необходимость в переписывании кода.

import aisuite as ai

client = ai.Client()

models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]

messages = [
    {"role": "system", "content": "Ты полезный ассистент."},
    {"role": "user", "content": "Объясни, что такое нейронные сети."},
]

for model in models:
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0.75
    )
    print(f"[{model}]:", response.choices[0].message.content)

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

Проект поддерживает широкий спектр LLM-провайдеров: OpenAI, Anthropic, AWS, Azure, Cerebras, Groq, Hugging Face, Mistral, Ollama, Sambanova и Watsonx. Также добавлена поддержка Cohere, SambaNova, xAI, WatsonX и других.

3. Агентский API и поддержка инструментов

В aisuite легко создавать многоходовые агентные приложения с помощью параметра max_turns — без необходимости вручную управлять циклами вызова инструментов. Можно передавать реальные Python-функции вместо JSON-спецификаций — aisuite автоматически генерирует схему и выполняет функции.

4. Поддержка MCP

Библиотека позволяет подключаться к MCP-инструментам без написания шаблонного кода — aisuite берёт на себя соединение, генерацию схемы и выполнение.

5. Модульная архитектура

Архитектура провайдеров модульная и расширяемая — добавить поддержку нового провайдера можно с минимальным количеством кода благодаря plugin-подобному подходу.

💡 Быстрая установка

Установите только нужные провайдеры, чтобы не раздувать окружение:

pip install aisuite                  # базовый пакет
pip install 'aisuite[anthropic]'     # с SDK Anthropic
pip install 'aisuite[all]'           # все провайдеры сразу

Как это работает: архитектура потока


graph LR
    A[Ваш код] -->|provider:model строка| B[aisuite Client]
    B --> C{Роутер провайдеров}
    C -->|openai:gpt-4o| D[OpenAI SDK]
    C -->|anthropic:claude-*| E[Anthropic SDK]
    C -->|google:gemini-*| F[Google SDK]
    C -->|ollama:llama3| G[Ollama HTTP]
    C -->|groq:mixtral-*| H[Groq SDK]
    D --> I[Унифицированный ответ]
    E --> I
    F --> I
    G --> I
    H --> I


Тарифы и цены

aisuite — полностью open-source Python-библиотека, доступная на GitHub. Сама библиотека бесплатна. Расходы возникают только при использовании платных API провайдеров:

ПровайдерБесплатный тарифПлатный доступ
OpenAIНет (только trial)По токенам
AnthropicНетПо токенам
Google GeminiЕсть (бесплатный tier)По токенам
GroqЕсть (rate limits)По токенам
OllamaПолностью бесплатно (локально)
MistralЕсть (trial)По токенам
💡 Совет для бюджетной разработки
Для локального тестирования используйте Ollama — он работает полностью бесплатно на вашей машине. В aisuite это просто ollama:llama3.2 без каких-либо API-ключей.

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью бесплатная open-source библиотекаНе подходит для production-нагрузок (нет балансировки, rate limiting)
Минималистичный и понятный API в стиле OpenAIМеньше провайдеров, чем у LiteLLM (100+ против ~17)
Поддержка агентов, инструментов и MCP из коробкиФокус только на chat completions (не все модальности)
Легко расширяется новыми провайдерамиНет встроенного мониторинга, логирования и observability
Требует Python 3.10+ (современный стек)Молодой проект — API может меняться
13 400+ звёзд на GitHub, активное развитиеНет JavaScript/TypeScript SDK в основном репо
Поддержка локальных моделей через OllamaНет встроенного fallback и retry-логики

Сравнение с альтернативами

LiteLLM — более зрелое и функционально полное решение, позволяющее вызывать несколько LLM через один OpenAI-подобный API, включая поддержку rate- и budget-лимитов на уровне проектов.

ПараметрaisuiteLiteLLMOpenRouter
ЛицензияMIT (open-source)MIT (open-source)SaaS + API
Число провайдеров~17100+200+
Простота старта⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Агентский API✅ Встроен✅ Частично
Поддержка MCP
Rate limiting / балансировка
Мониторинг / observability
Локальные модели (Ollama)
Подходит для production
GitHub Stars (июнь 2025)13 400+30 000+н/д
⚠ Важно для production
aisuite — это инструмент разработчика и исследователя, а не production-gateway. Если вам нужны rate limiting, fallback между моделями, бюджетные лимиты или наблюдаемость — смотрите в сторону LiteLLM или коммерческих решений.

Пример: сравнение ответов нескольких моделей

import aisuite as ai
import os

os.environ["OPENAI_API_KEY"] = "sk-..."
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..."

client = ai.Client()

question = "Объясни квантовую запутанность в двух предложениях."

models = [
    "openai:gpt-4o",
    "anthropic:claude-3-5-sonnet-20241022",
    "ollama:llama3.2",  # локально, бесплатно
]

for model in models:
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": question}],
        temperature=0.5,
    )
    print(f"\n=== {model} ===")
    print(resp.choices[0].message.content)
📝 Практический кейс
Команда стартапа тестирует, какая модель лучше отвечает на вопросы в их домене. Вместо написания адаптеров под каждый SDK — они просто меняют строку model в списке и получают сравнимые результаты. Экономия: 1–2 дня разработки на интеграции.

Вердикт

aisuite позволяет разработчикам создавать и запускать LLM-приложения и агентные системы у разных провайдеров с минимальной настройкой. Это не полноценный агентный фреймворк, но в нём есть простые абстракции для создания лёгких агентов. Инструмент спроектирован с расчётом на низкий порог входа — чтобы вы могли сосредоточиться на построении AI-систем, а не на интеграции API.

aisuite отлично подойдёт:

  • 🔬 Исследователям и студентам, сравнивающим LLM
  • 🚀 Разработчикам на ранних стадиях проекта
  • 🎓 Преподавателям и авторам учебных материалов
  • 🧪 Всем, кто хочет быстро прототипировать с разными моделями

Не подойдёт:

  • Команды с production-трафиком (нужен LiteLLM или коммерческий gateway)
  • Проекты, требующие 100+ провайдеров или глубокой observability

Рейтинг: 8/10

КритерийОценка
Простота использования10/10
Покрытие провайдеров7/10
Функциональность (агенты, MCP)8/10
Готовность к production5/10
Документация и сообщество8/10
Общий рейтинг8/10

Итог: aisuite — это элегантный и минималистичный инструмент от команды Andrew Ng, который решает реальную боль разработчика: перестать писать адаптеры под каждый LLM SDK. Если вы исследуете, прототипируете или обучаетесь — это один из лучших выборов в своём классе.