← Назад к портфолио

PROJECT 07

Автоматическая оценка
качества RAG

Система, которая автоматически измеряет качество RAG-ответов через GigaChat как LLM-judge. Три метрики, сводный отчёт, работает без разметки эталонов.

Python GigaChat LLM-as-Judge RAG Evaluation Context Precision Answer Relevancy
// запустить оценку
// 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
  • Сводный отчёт и детали по каждому вопросу