Об этом проекте

Council Router представляет собой интеллектуальный прокси-сервер, разработанный для унификации доступа к нескольким бэкендам больших языковых моделей (LLM) — включая Ollama, OpenAI, Anthropic, Gemini и более 100 других через LiteLLM — через единую точку доступа API, совместимую с OpenAI. Он обеспечивает бесшовную маршрутизацию между гетерогенными серверами LLM с такими функциями, как выбор на основе приоритетов, балансировка нагрузки round-robin и автоматические цепочки отката моделей. Система интеллектуально отдает предпочтение тем бэкендам, где запрашиваемая модель уже загружена в VRAM, чтобы минимизировать задержку. Отличительной особенностью является режим «LLM Council», который позволяет нескольким моделям или персонам параллельно обсуждать запрос пользователя перед синтезом окончательного ответа, что полезно для сложных сценариев принятия решений или анализа кода. Встроенные шаблоны включают режимы разнообразного анализа, ревью кода и дебатов с поддержкой пользовательских советов, определяемых через YAML. Все ответы опционально сохраняются в сжатом SQLite для офлайн-анализа, включая промежуточные токены рассуждений. Метрики Prometheus отслеживают частоту запросов, задержку, использование токенов и состояние бэкендов, при этом через Docker Compose доступен предварительно настроенный дашборд Grafana. Сервис также предоставляет нативные эндпоинты Ollama наряду с OpenAI, что делает его совместимым с такими инструментами, как Open WebUI. С точки зрения безопасности, эндпоинты вывода по умолчанию не требуют аутентификации (предназначены для доверенных сетей), в то время как административные эндпоинты требуют Bearer-токена. Хранение ответов включено по умолчанию, но не зашифровано, поэтому с конфиденциальными промптами следует обращаться осторожно. Проект построен на FastAPI, работает на Python 3.12+ и включает полное тестовое покрытие (127 пройденных тестов). Docker Compose предоставляет готовый к запуску стек с мониторингом. Конфигурация управляется через YAML с поддержкой внедрения переменных окружения. Инструменты разработки включают скрипты линтинга, форматирования и тестирования.