Files
opora/docs/llm-test-report.md

3.4 KiB
Raw Permalink Blame History

Отчёт: тестирование LLM-моделей для ассистента «Зам»

Проект: АС «Платформа ОПОРА РОССИИ» Дата: 26.09.2026 Стенд: tools/test_models.py Провайдер: OpenRouter


1. Цель

Выбрать LLM для AI-ассистента «Зам» (п. 4.2.14 ТЗ, Вариант 1) по критериям: русский язык, function calling, структурированный вывод, стоимость, латентность.

2. Методика

Три тестовых сценария, приближенных к задачам ассистента:

Тест Что проверяет
ru_generation Генерация «Еженедельного фокуса целей» на русском с терминологией
function_calling Вызов инструмента create_task с корректными аргументами
json_output Структурированный JSON (region, point0, current, growth)

3. Результаты

Модель: deepseek/deepseek-chat

Тест Статус Латентность Токены (prompt+completion) Стоимость
ru_generation ✅ OK 9.65 с 150 + 160 $0.00019
function_calling ✅ OK 3.55 с 891 + 62 $0.00034
json_output ✅ OK 3.34 с 135 + 41 $0.00008

Средняя латентность: 5.51 с · Стоимость прогона: $0.00061

Пример ответа (ru_generation)

Еженедельный фокус целей: Донецкая Народная Республика Прирост от точки 0: +136. Округ ЮФО: +365, динамика: 12/12 регионов.

Что делать:

  1. Усилить поддержку предпринимателей…

Проверка function calling

Модель корректно вызвала create_task со всеми обязательными полями: title, due_date (= 2026-10-01), priority (= высокий), assignee (= регион ДНР).

Проверка JSON

Модель вернула валидный JSON с полями region, point0, current, growth (= 136).

4. Оценка стоимости в продакшене

Объём действий/мес Оценка стоимости
10 000 ~$3
100 000 ~$30

Стоимость пренебрежимо мала относительно бюджета проекта.

5. Вывод

deepseek/deepseek-chat полностью подходит под задачи ассистента «Зам»: качественный русский язык, надёжный function calling, стабильный JSON, низкая стоимость. Латентность 3–10 с приемлема; при необходимости снижается стримингом ответа.

Решение: модель ассистента — deepseek/deepseek-chat (OpenRouter). PiAPI — резерв (медиа), не используется на текущем этапе.

6. Воспроизведение

$env:OPENROUTER_API_KEY = "<ключ>"
py -3 tools/test_models.py --models "deepseek/deepseek-chat"

Ключ API в репозиторий не сохраняется.