No description
| .gitignore | ||
| LLM_as_a_judge.ipynb | ||
| qwen_answers.xlsx | ||
| README.md | ||
| requirements.txt | ||
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_requestjson_outputanswer
Запуск
Запустите 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 используется повторная отправка запроса с экспоненциальной задержкой.