목차
반응형
1. 개요
RAG 시스템을 평가하는 기준에는 정확도, 실행 시간, 비용 등이 있겠다.
이번 포스팅에서는 정확도에 대한 이야기를 하겠다.
Ragas는 RAG의 정확도를 평가할때
사용하기 편리한 프레임워크 이다.
설치
pip install ragas
2. 매트릭(Metric)
2.1. Faithfulness
$$ faithfulness = \frac{the\ number\ of\ claims\ in\ the\ response\ supported\ by\ the\ retrieved\ context}{total\ number\ of\ claims\ in\ the\ response} $$
식의 의미 : 전체 질문 중에서 Rag를 통해 답을 얻은 비율
3. 사용 방법
평가용 데이터셋 생성
- 딕셔너리의 키값은고정임
from ragas import EvaluationDataset
dataset = []
for item in data:
dataset.append(
{
"user_input":query,
"retrieved_contexts":relevant_docs,
"response":response,
"reference":reference
}
)
evaluation_dataset = EvaluationDataset.from_list(dataset)
평가하기
from ragas import evaluate
from ragas.llms import LangchainLLMWrapper
from ragas.metrics import LLMContextRecall, Faithfulness, FactualCorrectness
evaluator_llm = LangchainLLMWrapper(llm)
result = evaluate(
dataset=evaluation_dataset,
metrics=[LLMContextRecall(), Faithfulness(), FactualCorrectness()],
llm=evaluator_llm)
print(result)
{'context_recall': 1.0000, 'faithfulness': 0.8571, 'factual_correctness': 0.7280}
반응형
'자연어처리 > Langchain' 카테고리의 다른 글
[Langchain] Custom Retriever 만들기 (0) | 2025.03.09 |
---|---|
[langchain] 유저 채팅 토픽 분석 with BERTopic (1) | 2025.03.08 |
[Langchain] 임베딩(Embedding)과 유사도 검색 방법 for Retriever (0) | 2025.03.06 |
[Langchain] Retriever 사용하기 (3) | 2025.03.05 |
[langchain] 채팅 히스토리와 메모리 (History, Memory) (2) | 2025.02.05 |