RAG 평가 방법 정리 - Songwooseok123/Study_Space GitHub Wiki

Retriever 평가

ragas score

default llm: gpt-3.5-turbo 으로 평가함 image

  • context_recall, # 검색 평가: 정답을 n개의 문장으로 쪼개고, 각 문장이 retrieved context에 있는지 확인
  • context_precision # 검색 평가: 검색된 k개의 context 중에 정답(ground truth 만드는 데 도움이 되는지 확인) 비율

위의 두가지 평가 방법 쓸 때, 검색 성능 평가할 때 정량적인 평가(context_recall,context_precision)가 들어갔다고 생각했는데, 사실 llm이 평가한거라서... 데이터에 관련(정답)문서랑 페이지 라벨이 있으므로, 이걸로 정량적인 평가도 해야겠다.

recall@k

recall

precision

Generation 평가

ragas score

  • answer_relevancy, # 생성 평가: 질문과 답변의 관계정도 image

  • faithfulness, # 생성 평가: 답변이 얼마나 Context에 근거한 정확한 답변인지 image

allganize 자동평가:

  1. TonicAI : answer_similarity (threshold=4)
  • OpenAI 모델을 사용하여 생성된 답변과 기준 정답의 유사도를 0~5 점수로 출력
  • 평가 모델은 openai:/gpt-4o-mini 사용
  1. MLflow : answer_similarity/v1/score (threshold=4)
  • 0~5 스칼라 출력인듯
  • 평가 모델은 openai:/gpt-4o-mini 사용
  1. MLflow : answer_correctness/v1/score (threshold=4)
  • 0~5 스칼라 출력 인듯
  • 평가 모델은 openai:/gpt-4o-mini 사용
  1. Allganize Eval : answer_correctness/claude3-opus
  • 생성된 답변의 정확성을 기준 답변과 비교하여 검증
  • 맞으면 1, 틀리면 0 출력
  • 평가 모델은 "claude-3-opus-20240229" 사용