К содержанию
Новости

Как развернуть локального AI-ревьюера кода на GitLab без отправки данных в облако

В материале о построении локального AI-ревьюера кода описана схема, где весь процесс проверки изменений остается внутри корпоративной сети. Как пишет Towards AI, решение рассчитано на компании, которые не могут отправлять исходный код во внешние API из-за требований к защите IP, экспортного контроля или регуляторных ограничений. В основе системы используются GitLab CI/CD, LangGraph, Ollama и модель Qwen3-Coder-30B.

Архитектура включает две машины в одной локальной сети: GitLab-сервер и AI-сервер на Ubuntu с одной RTX 3090. Модель разворачивается через Ollama, параметры контекста и длины генерации задаются через Modelfile. Для Qwen3-Coder-30B автор указал окно контекста в 65536 токенов и лимит генерации в 8192 токена. Это нужно, чтобы модель могла обрабатывать длинные diff-файлы и формировать полный JSON-ответ без обрыва вывода.

По словам автора, Qwen3-Coder-30B выбрали как компромиссный вариант для GPU класса 24 GB. Более крупным моделям требуется несколько видеокарт, а меньшие хуже находили ошибки и менее стабильно соблюдали формат JSON. На RTX 3090 система показывала скорость инференса около 100–110 токенов в секунду. Таймаут в CI установили на 360 секунд, хотя обычно проверка diff-файла занимала меньше 10 секунд.

Для запуска пайплайна используется GitLab Runner с shell executor вместо Docker. В статье отмечается, что такой подход позволяет напрямую обращаться к Python-окружению под Conda и локальному сервису Ollama без дополнительного контейнерного слоя.

Ключевые факты

  • Для локального AI-ревьюера использованы GitLab CI/CD, LangGraph, Ollama и Qwen3-Coder-30B

  • Система работает на двух машинах в одной локальной сети: GitLab-сервере и Ubuntu-сервере с RTX 3090

  • Для модели заданы параметры num_ctx 65536 и num_predict 8192

  • На RTX 3090 скорость инференса составляла около 100–110 токенов в секунду, а типичная проверка diff-файла занимала менее 10 секунд