RAMBA AI Router
RAMBA AI Router
RAMBA AI Router — локальная система интеллектуальной маршрутизации запросов между несколькими языковыми моделями проекта RAMBA AI.
Router анализирует входящий запрос пользователя, определяет его тип и автоматически выбирает наиболее подходящую локальную LLM.
Основная задача проекта — получить максимальное качество ответов при ограниченных вычислительных ресурсах, не используя одну большую модель для всех запросов.
На текущем этапе система использует три специализированных «мозга»:
| Роль | Модель | Назначение |
|---|---|---|
| FAST | gemma3:4b
|
Простые вопросы, работа с текстом, короткие ответы |
| INFRA | qwen3:8b
|
Linux, Proxmox, сети, серверы, виртуализация и инфраструктура |
| SMART | qwen3.5:9b
|
Логика, математика, анализ и сложные задачи |
Общая архитектура
Пользователь
│
▼
┌─────────────────┐
│ RAMBA AI Router │
└────────┬────────┘
│
анализ и классификация
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
FAST INFRA SMART
Gemma 3 4B Qwen3 8B Qwen3.5 9B
│ │ │
└──────────────┼──────────────┘
│
▼
Ollama
│
▼
NVIDIA GTX 1080
Router работает как локальный API-сервис на базе FastAPI.
В качестве backend для запуска языковых моделей используется Ollama.
Сервер
RAMBA AI Router работает внутри виртуальной машины:
VMID: 501 Hostname: ramba-ai
Основной каталог проекта:
/home/artem/ramba-router/
Основные файлы стабильной версии:
router.py router-v3-perfect.py test-router-v3.py test-router-v3-perfect.py
Контрольная резервная копия стабильной версии:
/home/artem/ramba-router-v3-perfect.tar.gz
Аппаратная платформа
Для выполнения локальных моделей используется:
- GPU: NVIDIA GeForce GTX 1080
- VRAM: 8 GB
- Inference backend: Ollama
- API Router: FastAPI / Uvicorn
Из-за ограничения в 8 GB VRAM Router не пытается постоянно держать все основные модели в памяти видеокарты.
Вместо этого необходимая модель загружается по требованию.
Выбор моделей
До разработки Router было проведено тестирование нескольких локальных моделей.
В ходе тестов оценивались:
- русский язык;
- логическое мышление;
- задачи по Proxmox/Linux;
- программирование;
- понимание AI/VRAM;
- скорость генерации;
- стабильность ответов.
В результате для Router были выбраны три основные модели.
FAST — Gemma 3 4B
gemma3:4b
Используется для относительно простых запросов.
Примеры:
- исправление текста;
- переформулирование;
- короткие объяснения;
- простые вопросы;
- задачи, не требующие глубокого анализа.
Преимущество модели — высокая скорость.
В тестах скорость генерации составляла примерно:
~59 tok/s
INFRA — Qwen3 8B
qwen3:8b
Основная техническая модель RAMBA AI.
Используется для вопросов, связанных с:
- Proxmox VE;
- Linux;
- VFIO;
- IOMMU;
- PCI Passthrough;
- systemd;
- Docker;
- NFS;
- ZFS;
- сетями;
- виртуальными машинами;
- серверным администрированием.
Типичная скорость:
~35 tok/s
SMART — Qwen3.5 9B
qwen3.5:9b
Наиболее интеллектуально сильная из трёх основных моделей.
Используется для:
- математических задач;
- логики;
- анализа;
- сложных технических вопросов;
- многоэтапных рассуждений;
- задач с процентами и зависимостями.
Типичная скорость:
~29-30 tok/s
Router v1
Первая версия RAMBA AI Router была proof-of-concept.
Маршрутизация выполнялась преимущественно по ключевым словам.
Упрощённо:
Proxmox / VFIO / Linux
│
▼
Qwen3 8B
сложная задача
│
▼
Qwen3.5 9B
остальные запросы
│
▼
Gemma 3 4B
Версия доказала работоспособность основной концепции:
одна точка входа → несколько специализированных локальных моделей.
Router v2
Во второй версии маршрутизатор стал значительно сложнее.
Были добавлены:
- score-based routing;
- определение загруженной Ollama-модели;
- session affinity;
- hysteresis;
- статистика;
- журналирование;
- контроль переключения моделей.
Router начал использовать Ollama API:
GET /api/ps
для определения модели, которая в данный момент находится в памяти.
В API Router появились служебные endpoint'ы:
/chat /health /stats
Проблема Router v2
Во время тестирования была обнаружена важная ошибка классификации.
Запрос:
Есть три сервера A, B и C. A быстрее B на 20%. B быстрее C на 25%. Если C выполняет задачу за 100 секунд, сколько времени потребуется A?
является математической задачей.
Однако Router воспринимал слово:
сервер
как инфраструктурный признак и отправлял запрос в:
INFRA → Qwen3 8B
Это показало недостаток простой маршрутизации по ключевым словам.
Router v3
В Router v3 алгоритм классификации был переработан.
Основная идея — разные слова должны иметь разный вес.
Слабые инфраструктурные признаки
Например:
сервер Linux Ubuntu VM NVIDIA сеть
Сами по себе такие слова больше не должны гарантировать выбор INFRA.
Сильные инфраструктурные признаки
Больший вес получили специфические технические термины:
Proxmox vfio-pci IOMMU lspci hostpci systemctl journalctl initramfs ZFS NFS
SMART-признаки
Для определения аналитических задач используются признаки:
сколько проценты быстрее медленнее рассчитай объясни расчёт вероятность логическая задача
Таким образом Router вычисляет несколько независимых оценок:
FAST INFRA SMART
и выбирает роль с максимальным результатом.
Пример работы Router v3
Для математической задачи с тремя серверами Router получил:
FAST = 1 INFRA = 1 SMART = 16
Результат:
role: smart model: qwen3.5:9b
Модель правильно решила задачу:
C = 100 секунд B быстрее C на 25%: 100 / 1.25 = 80 секунд A быстрее B на 20%: 80 / 1.2 = 66.67 секунды
Ответ:
A ≈ 66.67 секунды
Пример инфраструктурного запроса
Запрос:
В Proxmox lspci показывает nouveau вместо vfio-pci. Что проверить?
Router определил:
FAST = 1 INFRA = 23 SMART = 0
и выбрал:
role: infra model: qwen3:8b
То есть специализированный инфраструктурный запрос был направлен технической модели.
Пример FAST-запроса
Запрос:
Исправь текст: я одел куртку и вышел на улицу
Router получил:
FAST = 6 INFRA = 0 SMART = 0
и правильно выбрал:
role: fast model: gemma3:4b
Однако сама модель ответила:
Я одел куртку и вышел на улицу.
вместо:
Я надел куртку и вышел на улицу.
Это продемонстрировало важное различие:
правильная маршрутизация не гарантирует правильность ответа модели.
В дальнейшем для решения подобных проблем планируется отдельный слой проверки ответов — Verifier.
Переключение моделей
Router получает информацию о моделях, загруженных Ollama.
Пример ответа /health:
{
"router": "ok",
"version": "3",
"ollama_loaded_models": [
"gemma3:4b"
],
"sessions": 3
}
При запросе другой категории Router может переключить модель.
Например:
Gemma 3 4B
│
▼
Qwen3 8B
│
▼
Qwen3.5 9B
В API-ответе отображаются диагностические данные:
model role loaded_before switch scores route_reason elapsed eval_count eval_duration load_duration tok_s
Это позволяет анализировать не только результат маршрутизации, но и производительность системы.
Стоимость переключения
Загрузка другой модели в VRAM занимает заметное время.
На используемой системе переключение обычно добавляет несколько секунд ожидания.
Поэтому Router старается избегать ненужного переключения модели.
Для этого используются механизмы:
- session affinity;
- hysteresis;
- определение уже загруженной модели.
В перспективе Router должен учитывать не только качество предполагаемого ответа, но и стоимость переключения модели.
Контрольный тест Router v3
Для проверки Router v3 был создан отдельный тест:
test-router-v3.py
Он содержит 30 запросов:
| Категория | Количество |
|---|---|
| FAST | 10 |
| INFRA | 10 |
| SMART | 10 |
| Всего | 30 |
Для каждого запроса заранее задаётся ожидаемая категория.
Тест сравнивает:
EXPECTED
с:
ACTUAL
Итог тестирования
22 августа 2026 года Router v3 успешно прошёл полный контрольный тест.
RESULT: 30/30 = 100.0% PERFECT ROUTING — 30/30
| Категория | Результат | Модель |
|---|---|---|
| FAST | 10 / 10 | Gemma 3 4B |
| INFRA | 10 / 10 | Qwen3 8B |
| SMART | 10 / 10 | Qwen3.5 9B |
| Итого | 30 / 30 (100%) |
Таким образом Router v3 стал первой зафиксированной стабильной версией RAMBA AI Router.
Фиксация стабильной версии
После успешного теста были сохранены контрольные копии:
router-v3-perfect.py test-router-v3-perfect.py
и создан архив:
/home/artem/ramba-router-v3-perfect.tar.gz
Размер архива на момент создания:
6.4 KB
Router v3 после этого считается стабильной контрольной точкой проекта.
Ограничения Router v3
Несмотря на успешный результат 30/30, версия v3 имеет ряд архитектурных ограничений.
Главное из них — недостаточное понимание контекста разговора.
Например:
Пользователь: В Proxmox vfio-pci не захватывает GTX 1080. Router: INFRA
Следующее сообщение:
А как это проверить?
само по себе почти не содержит признаков INFRA.
Человек понимает контекст предыдущего сообщения, однако Router v3 в основном анализирует текущий запрос.
Именно эта проблема является основной целью следующей версии.
Router v4
Следующий этап разработки — RAMBA AI Router v4.
Главное изменение:
контекстная маршрутизация.
Router должен учитывать не только последнее сообщение, но и историю текущего диалога.
Планируемая структура сессии:
session
│
├── session_id
├── current_role
├── previous_model
└── messages
│
├── user
├── assistant
├── user
├── assistant
└── ...
Например:
Пользователь: В Proxmox vfio-pci не захватывает GTX 1080. → INFRA / Qwen3 8B Пользователь: А как проверить? → анализ контекста → сохранение роли INFRA → Qwen3 8B
План Router v4
Первый этап:
- хранение истории диалога;
- передача контекста модели;
- ограничение размера истории;
- sticky routing;
- корректная обработка коротких follow-up сообщений.
Второй этап:
- отдельный system prompt для FAST;
- отдельный system prompt для INFRA;
- отдельный system prompt для SMART.
Третий этап:
- оценка уверенности Router;
- автоматическая эскалация FAST → SMART;
- обработка неоднозначных запросов;
- дополнительные контрольные тесты.
Дальнейшее развитие
Перспективная архитектура RAMBA AI:
Пользователь
│
▼
RAMBA AI Router
│
┌─────────────┼─────────────┐
▼ ▼ ▼
FAST INFRA SMART
│ │ │
└─────────────┼─────────────┘
│
▼
Verifier
│
▼
RAG
│
▼
Финальный ответ
Планируется развитие следующих компонентов:
- Context Memory — память текущего диалога;
- Verifier — проверка качества и корректности ответа;
- Escalation — передача сложного запроса более сильной модели;
- RAG — подключение собственной базы знаний RAMBA;
- Infrastructure Knowledge — информация о серверах и сервисах RAMBA;
- Tool Calling — выполнение разрешённых действий через инструменты;
- Metrics — статистика качества, скорости и маршрутизации.
Статус проекта
| Компонент | Статус |
|---|---|
| Ollama | Шаблон:Да |
| GPU inference | Шаблон:Да |
| FAST model | Шаблон:Да |
| INFRA model | Готово |
| SMART model | Готово |
| Router API | Готово |
| Score-based routing | Готово |
| Ollama model detection | Готово |
| Session affinity | Готово |
| Router v3 test | 30/30 |
| Context-aware routing | В разработке (v4) |
| Verifier | Планируется |
| RAG | Планируется |
Итог
RAMBA AI Router v3 подтвердил работоспособность архитектуры динамического выбора локальных языковых моделей.
Контрольный тест показал:
30 / 30 100% PERFECT ROUTING
Вместо запуска одной универсальной модели RAMBA AI использует несколько специализированных моделей и выбирает подходящую в зависимости от характера задачи.
Следующий этап проекта — Router v4, который добавит память диалога и контекстную маршрутизацию.