PROJECT 07
Автоматическая оценка
качества RAG
Система, которая автоматически измеряет качество RAG-ответов через GigaChat как LLM-judge. Три метрики, сводный отчёт, работает без разметки эталонов.
// запустить оценку
// LLM-judge промпт
evaluate_rag.py — GigaChat как судья
evaluation_prompt = f"""Оцени релевантность ответа вопросу по шкале от 0 до 1. Вопрос: {question} Ответ: {result["answer"]} Верни только число от 0 до 1, где: - 1.0 = ответ полностью релевантен - 0.5 = частично релевантен - 0.0 = не релевантен Только число:""" relevancy_response = gigachat_client.chat_completion( [{"role": "user", "content": evaluation_prompt}], temperature=0.1 # Низкая температура для стабильных оценок ) # Извлекаем число из ответа регуляркой match = re.search(r'0?\.\d+|1\.0|0', relevancy_response) answer_relevancy = float(match.group()) if match else 0.5
// как работают метрики
3 МЕТРИКИ
- Context Precision — насколько найденные чанки релевантны вопросу (пересечение ключевых слов)
- Answer Relevancy — GigaChat оценивает соответствие ответа вопросу (0–1)
- Length Score — 20–100 слов = 1.0, отклонение снижает балл
ЗАЧЕМ ЭТО НУЖНО
- Объективно сравнивает разные версии RAG-системы
- Не требует ручной разметки эталонных ответов
- LLM-judge вместо RAGAS — работает без OpenAI
- Сводный отчёт и детали по каждому вопросу