강의

멘토링

커뮤니티

Inflearn Community Q&A

osoh635782's profile image
osoh635782

asked

RAG Master: From Basics to Advanced Techniques (feat. LangChain)

Search Performance Evaluation 8 - Evaluating with Test Data

테스트데이터셋 평가지표 값 문제

Written on

·

29

·

Edited

0

5분 경의 테스트데이터셋 평가 에 대해 계산값이 자꾸 0.000이 나와서 context_docs와 retrieved_docs 내용을 확인해 보니 2번째 사진과 같이 나왔습니다.

content 내용은 동일해도 doc_id 값이 다르며, 함수 수정을 통해 doc_id를 동일하게 변경해도 평가지표 값이 0.000이 나옵니다.

애초에 구조 자체가 좀 달라서 발생하는 문제 같습니다.

제가 어떤 것을 해볼 수 있을까요?

 

image.png

 

image.png

 

python챗봇llmlangchainrag

Answer 1

0

pdstudio님의 프로필 이미지
pdstudio
Instructor

안녕하세요.

OfflineRetrievalEvaluators는 기본적으로 doc_id로 매칭합니다. context_docsretrieved_docs의 content가 같아도 doc_id가 다르면 전부 불일치로 평가지표가 0이 됩니다.
아래와 같이 matching_criteria=MatchingCriteria.PARTIAL을 추가하면 content 기반 매칭으로 전환됩니다.

from krag.evaluators import OfflineRetrievalEvaluators, MatchingCriteria

evaluator = OfflineRetrievalEvaluators(
    actual_docs=context_docs,
    predicted_docs=retrieved_docs,
    matching_criteria=MatchingCriteria.PARTIAL  # 이것만 추가
)

청크 크기 차이 등으로 content도 완전히 동일하지 않다면, ROUGE 기반 매칭을 쓸 수 있습니다.

from krag.evaluators import RougeOfflineRetrievalEvaluators, MatchingCriteria

evaluator = RougeOfflineRetrievalEvaluators(
    actual_docs=context_docs,
    predicted_docs=retrieved_docs,
    matching_criteria=MatchingCriteria.PARTIAL,
    match_method="rouge2",
    threshold=0.8
)
osoh635782's profile image
osoh635782

asked

Ask a question