PythonAIBackend

Создание провайдеро-независимой архитектуры AI с автоматическим переключением между моделями

·MAGMA

Проблема зависимости от одного поставщика моделей

Многие проекты искусственного интеллекта начинаются просто:

llm = ChatGroq(...)
response = llm.invoke(prompt)

Это работает до тех пор, пока не возникает необходимость сменить поставщика или модель. При росте приложения изменение поставщиков приводит к необходимости редактирования нескольких сервисов и введения специфической логики.

Решение проблемы через маршрутизацию запросов

Для решения этой проблемы была разработана архитектура с использованием роутера запросов. Вместо того чтобы сервисы напрямую обращались к поставщику модели, все запросы проходят через единый роутер. Он решает, какой поставщик должен обработать запрос, выполняет автоматическое переключение при сбоях и скрывает детали реализации от остальной части приложения.

Архитектура системы

Архитектура включает следующие компоненты:

  • Клиент: отправляет запрос на обработку данных.
  • FastAPI endpoint: принимает запрос от клиента.
  • Dependency injection: обеспечивает внедрение зависимостей для обработки запроса.
  • LLMRouter Service: определяет подходящего поставщика для выполнения задачи.
  • Поставщики моделей (например, Groq, OpenRouter, Ollama): обрабатывают запросы согласно выбранной стратегии.
  • LangChain models: обеспечивают структурированный вывод результатов.

Такая структура позволяет легко добавлять новые модели и поставщиков без изменения основной бизнес-логики приложения.

Вернуться к блогу
Автоматический выбор поставщика AI-моделей — MAGMA