RAG 평가(RAGAS, Recall@K)
변경 사항이 도움이 되는지 확인하기 위해 충실도, 답변 관련성, 컨텍스트 정밀도, recall@K를 측정해보세요.
RAG 평가(RAGAS, Recall@K)은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
측정할 수 없는 것은 개선할 수 없습니다
RAG에는 청크 크기, 상위 K개, 재순위화기, 프롬프트, 모델 등 조정할 요소가 많습니다. 지표가 없으면 모든 변경은 추측에 불과합니다.
RAG의 주요 지표
- 검색: 올바른 청크를 가져왔습니까?
- 충실도: 답변이 청크에 근거하고 있습니까?
- 답변 관련성: 답변이 질문에 답하고 있습니까?
- 컨텍스트 정밀도/재현율: 가져온 유용한 청크의 비율
Recall@K
(질문, 관련 청크 ID 목록) 쌍으로 구성된 정답 세트를 만듭니다. 검색된 상위 K개 청크에 관련 청크가 포함되는 경우가 얼마나 되는지 측정합니다:
def recall_at_k(eval_set, k=5):
hits = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
if any(c.id in item['relevant_ids'] for c in retrieved):
hits += 1
return hits / len(eval_set)Precision@K
검색된 청크 중 관련 있는 청크의 비율은 얼마입니까?
def precision_at_k(eval_set, k=5):
total_relevant = 0
total_retrieved = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
total_relevant += sum(1 for c in retrieved if c.id in item['relevant_ids'])
total_retrieved += k
return total_relevant / total_retrievedMRR (평균 역순위)
FIRST 관련 문서가 얼마나 높은 순위에 있습니까?
def mrr(eval_set, k=10):
total = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
for rank, c in enumerate(retrieved, start=1):
if c.id in item['relevant_ids']:
total += 1 / rank
break
return total / len(eval_set)충실도(LLM을 평가자로 사용)
LLM을 사용하여 답변의 각 주장이 컨텍스트에 의해 뒷받침되는지 확인합니다:
judge_prompt = '''
Given the context and answer, identify each factual claim in the answer.
For each claim, judge whether the context supports it.
Return {claims: [{claim, supported: true/false}]}.
'''
result = judge_llm.invoke(judge_prompt.format(context=ctx, answer=ans))답변 관련성
역방향 평가: LLM에 "이 답변이 이 질문에 대한 답변일 수 있습니까?"라고 묻습니다. 주제에서 벗어난 출력을 찾아냅니다.
RAGAS 프레임워크
RAGAS는 위의 지표를 자동화합니다:
# pip install ragas
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision, context_recall
results = evaluate(
dataset, # HF dataset with question, contexts, answer, ground_truth
metrics=[faithfulness, answer_relevancy, context_precision, context_recall]
)
print(results)정답 세트 구축
사람이 선별한 20~200개의 (질문, 예상 답변, 관련 청크) 튜플입니다. 다음을 포함해야 합니다:
- 일반적인 쿼리
- 경계 사례
- 적대적 입력(말뭉치에 없는 질문)
합성 평가 세트
초기 구축 방법으로 LLM에 문서에서 질문과 답변 쌍을 생성하도록 요청합니다. 품질은 낮지만 빠릅니다:
synth_prompt = 'Read this document and write 3 questions a user might ask, with answers from the doc:\n{doc}'
# Use as a starting point; humans curate later.
print(synth_prompt)
LangSmith 및 Langfuse 데이터 세트
두 도구 모두 운영 환경의 추적 기록을 평가 데이터 세트로 변환할 수 있습니다. 성능이 좋지 않았던 실제 질문 50개를 고르고, 올바른 답변을 표시하여 벤치마크로 사용합니다.
하나의 지표만 과도하게 최적화하지 마십시오
Recall@K를 최대화하면 Precision@K가 낮아질 수 있습니다(거짓 양성이 너무 많아짐). 여러 지표와 종합 지표를 추적하십시오.
운영 환경의 A/B 테스트
사용자 만족도와 상관관계가 있는 오프라인 평가를 확보하면 운영 환경에서 변경 사항을 A/B 테스트하고 지표와 사용자 긍정 평가 비율을 모두 비교할 수 있습니다.
Recall@K 정의
Recall@5 = 0.8은 무엇을 의미합니까?
복습
정답 세트를 구축합니다. Recall@K, Precision@K, MRR, 충실도, 답변 관련성을 측정합니다. RAGAS를 사용하여 자동화합니다. 지표를 기준으로 반복 개선합니다.
AI 튜터와 함께 AI Agents을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 60
- 레슨
- 239
자주 묻는 질문
“RAG 평가(RAGAS, Recall@K)” 강의는 무료인가요?
네 — “RAG 평가(RAGAS, Recall@K)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
“RAG 평가(RAGAS, Recall@K)”에서 뭘 배우나요?
변경 사항이 도움이 되는지 확인하기 위해 충실도, 답변 관련성, 컨텍스트 정밀도, recall@K를 측정해보세요. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Agents을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“RAG 평가(RAGAS, Recall@K)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 교차 인코더를 사용한 재순위화
- HyDE: 가상 문서 임베딩
- 다중 벡터 검색(ColBERT)
- RAG 평가(RAGAS, Recall@K)