Выбор и сравнение моделей
Какая модель подходит
Любая с OpenAI-совместимым API: облачный провайдер или своя инсталляция. Модель выбирается при создании проекта — готовый вариант или свой адрес — и попадает в примеры на странице «Подключение»; ключ API хранится только в секретах вашего CI. Резервная модель — по желанию: на неё уходит запрос при сбоях или исчерпанной квоте основной.
Сменить модель — поменять LLM_API_BASE_URL, LLM_MODEL_NAME и ключ в переменных CI. В карточке ревью видно, какая
модель фактически отвечала, в том числе при переходе на резервную.
Сравнение моделей — bench-models
Команда прогоняет до пяти моделей на одном merge request и пишет результаты в файлы. Ничего не публикует в MR и не тарифицируется; запросы к моделям оплачиваете вы. Контекст собирается один раз и переиспользуется всеми моделями — сравниваются модели, а не случайности сборки.
Описание моделей — JSON-файл. Ключей в нём нет: только имя переменной окружения, где лежит ключ, — файл можно спокойно переслать коллегам.
{
"models": [
{ "label": "glm", "base_url": "https://api.z.ai/api/paas/v4", "model": "glm-5.3", "api_key_env": "GLM_KEY" },
{ "label": "other", "base_url": "https://<адрес API>", "model": "<модель>", "api_key_env": "OTHER_KEY" }
]
}
Запуск — из рабочей копии репозитория, с тем же .env, что для init, и каталогом для результатов:
mkdir -p ../cins-bench
docker run --rm --env-file .env -e GLM_KEY -e OTHER_KEY \
-v "$PWD:/work:ro" -e REPO_PATH=/work -v "$PWD/../cins-bench:/out" -v "$PWD/models.json:/models.json:ro" \
<образ со страницы «Подключение»> bench-models --mr 42 --models /models.json --out /out
- Без
--yesкоманда только выводит оценку стоимости и завершается: пять моделей на крупном MR — пятикратный расход. --repeat N— несколько прогонов каждой модели: вывод моделей недетерминирован, и разброс между прогонами — такой же критерий, как точность.- На Linux дайте пользователю образа (UID 10001) право записи в каталог результатов:
chmod o+w ../cins-bench.
Главное в результате — пересечение. Замечание, найденное четырьмя моделями из пяти, почти наверняка настоящее; уникальное для одной — обычно шум. Сводка содержит матрицу пересечений находок между моделями.