No description
Find a file
2026-06-15 11:16:04 +03:00
.gitignore Initial source code upload 2026-06-15 11:16:04 +03:00
LLM_as_a_judge.ipynb Initial source code upload 2026-06-15 11:16:04 +03:00
qwen_answers.xlsx Initial source code upload 2026-06-15 11:16:04 +03:00
README.md Initial source code upload 2026-06-15 11:16:04 +03:00
requirements.txt Initial source code upload 2026-06-15 11:16:04 +03:00

Evaluating Qwen

Данный модуль используется для оценки качества дообученной модели Qwen с помощью LLM-судьи.

Состав проекта

  • LLM_as_a_judge.ipynb - основной Jupyter Notebook с пайплайном оценки.
  • qwen_answers.xlsx - входной Excel-файл с ответами модели и данными для проверки.
  • requirements.txt - Python-зависимости для запуска ноутбука.

Что делает ноутбук

Ноутбук читает строки из Excel-файла и для каждой строки отправляет в OpenRouter три поля:

  • json_request - исходный запрос пользователя;
  • json_output - данные, на которые должен опираться ответ;
  • answer - ответ модели Qwen, который нужно проверить.

На выходе для каждой строки формируется JSON-оценка в колонке judge_json.

Возможные вердикты:

  • OK - существенных проблем не найдено;
  • PARTIAL - фактических ошибок нет, но есть нарушения дополнительных правил оценки;
  • HALLUCINATION - найдены фактические противоречия, неподтвержденные сущности или другие галлюцинации.

Установка

Установите зависимости:

pip install -r requirements.txt

Настройка API-ключа

Ноутбук ожидает ключ OpenRouter в файле key.env.

Создайте файл key.env в корне проекта:

OPENROUTER_API_KEY=your_openrouter_api_key_here

Входной файл

Используемый входной файл:

INPUT_XLSX = "qwen_answers.xlsx"

Excel-файл должен содержать колонки:

  • json_request
  • json_output
  • answer

Запуск

Запустите Jupyter и откройте LLM_as_a_judge.ipynb, затем выполните ячейки сверху вниз.

Основные параметры запуска:

MODEL = "openai/gpt-5-mini"
CONCURRENCY = 7
TIMEOUT_SEC = 120
CHECKPOINT_EVERY = 50

Результаты

После выполнения ноутбук создает:

  • evaluating_qwen.csv - итоговый файл с колонкой judge_json;
  • evaluating_qwen_checkpoint.csv - промежуточный чекпоинт, который сохраняется каждые 50 обработанных строк.

Последние ячейки ноутбука читают evaluating_qwen.csv, извлекают поле verdict из judge_json и показывают распределение вердиктов.

Примечания

  • Для чтения Excel-файла используется openpyxl.
  • Если строка уже содержит непустое значение в judge_json, ноутбук пропускает повторную оценку этой строки.
  • При временных ошибках API используется повторная отправка запроса с экспоненциальной задержкой.