STUDY/LLM

[LLM] RAG - evaluation

seoyn 2026. 7. 6. 08:39

1. RAG 평가 κ°œμš”

 : μ‹œμŠ€ν…œμ΄ μž…λ ₯에 λŒ€ν•΄ μ–Όλ§ˆλ‚˜ 잘 κ²€μƒ‰ν•˜κ³ , κ·Έ μ •λ³΄λ‘œ μ •ν™•ν•œ 응닡을 μƒμ„±ν•˜λŠ”μ§€ μΈ‘μ •ν•˜λŠ” κ³Όμ •

평가 μš”μ†Œ

 - 검색 단계 평가 : μ§ˆλ¬Έμ— λŒ€ν•΄ κ²€μƒ‰λœ λ¬Έμ„œ(context)의 κ΄€λ ¨μ„±·μ •ν™•μ„± 평가

 - 생성 단계 평가 : 검색 정보 기반으둜 μƒμ„±λœ μ‘λ‹΅μ˜ ν’ˆμ§ˆ·μ •ν™•μ„± 평가

 

평가 방법

κΈ°μ€€ μ’…λ₯˜ μ„€λͺ…
데이터 좜처 μ˜€ν”„λΌμΈ 미리 μ€€λΉ„λœ λ°μ΄ν„°μ…‹μœΌλ‘œ μ„±λŠ₯ μΈ‘μ •
온라인 μ‹€μ œ μ‚¬μš©μž νŠΈλž˜ν”½·ν”Όλ“œλ°± 기반 μ‹€μ‹œκ°„ μ„±λŠ₯ 평가
μΈ‘μ • 방식 μ •λŸ‰μ  μžλ™ν™”λœ μ§€ν‘œλ‘œ ν…μŠ€νŠΈ ν’ˆμ§ˆ 평가
정성적 μ „λ¬Έκ°€/μ‚¬μš©μžκ°€ 직접 주관적 평가

 

2. RAGAS ν”„λ ˆμž„μ›Œν¬μ™€ 4λŒ€ μ§€ν‘œ

RAGAS : RAG νŒŒμ΄ν”„λΌμΈμ„ μ •λŸ‰μ μœΌλ‘œ ν‰κ°€ν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ ν”„λ ˆμž„μ›Œν¬

 

2-1. 생성(Generation) 평가(LLM 닡변에 λŒ€ν•œ 평가)

β‘  Faithfulness(μ‹ λ’°μ„±) - ν• λ£¨μ‹œλ„€μ΄μ…˜ 평가

 : μƒμ„±λœ 닡변이 검색 λ¬Έμ„œ(context)에 μ–Όλ§ˆλ‚˜ μΆ©μ‹€ν•œμ§€ 평가(점수 λ²”μœ„ 0~1, λ†’μ„μˆ˜λ‘ πŸ‘πŸ»)

 - 계산 둜직 : λ‹΅λ³€μ—μ„œ μ£Όμž₯(claim) μΆ”μΆœ → 각 μ£Όμž₯이 contextμ—μ„œ μΆ”λ‘  κ°€λŠ₯ν•œμ§€ νŒλ‹¨(λͺ¨λ‘ LLM ν™œμš©)

 

β‘‘ Answer Relevancy(λ‹΅λ³€ 적합성)

 : μƒμ„±λœ 닡변이 μ§ˆλ¬Έμ— μ–Όλ§ˆλ‚˜ λΆ€ν•©ν•˜λŠ”μ§€ 평가(점수 λ²”μœ„ -1~1, 코사인 μœ μ‚¬λ„ 기반)

 - 계산 둜직 : LLM λ‹΅λ³€μœΌλ‘œλΆ€ν„° μ—­μœΌλ‘œ 질문 생성 → μ›λž˜ 질문과 μƒμ„±λœ 질문 κ°„ 코사인 μœ μ‚¬λ„μ˜ 평균

 

2-2. 검색(Retrieval) 평가(κ²€μƒ‰λœ context에 λŒ€ν•œ 평가)

β‘’ Context Precision(λ¬Έλ§₯ 정밀도)

 : κ΄€λ ¨ μžˆλŠ” λ¬Έμ„œκ°€ μ–Όλ§ˆλ‚˜ μƒμœ„ μˆœμœ„μ— μœ„μΉ˜ν•˜λŠ”μ§€ 평가(점수 λ²”μœ„ 0~1)

 

β‘£ Context Recall(λ¬Έλ§₯ μž¬ν˜„λ₯ )

 : κ²€μƒ‰λœ contextκ°€ μ •λ‹΅(ground-truth) 정보λ₯Ό μ–Όλ§ˆλ‚˜ ν¬ν•¨ν•˜λŠ”μ§€ 평가(점수 λ²”μœ„ 0~1)

 - Faithfulness와 μœ μ‚¬ν•˜μ§€λ§Œ, 닡변이 μ•„λ‹Œ μ •λ‹΅(GT)μ—μ„œ μ£Όμž₯ μΆ”μΆœν•œλ‹€λŠ” 점이 닀름

더보기

• RAGAS와 langchain-community의 버전 ν˜Έν™˜μ„± 문제

 - TestsetGenerator import μ‹œ `No Module named langchain_community.chat_models.vertexai` Error λ°œμƒ


• ν•΄κ²°
 1. langchain_google_vertexai μ„€μΉ˜
  - !uv pip install langchain_google_vertexai
 2. .venv\Lib\site-packages\langchain_community\chat_models 디렉토리 μ•„λž˜ vertexai.py νŒŒμΌμ„ λ§Œλ“€κ³  μ•„λž˜ μ½”λ“œλ₯Ό λ„£λŠ”λ‹€.
```python
      try:
          from langchain_google_vertexai import ChatVertexAI
      except ImportError:
          class ChatVertexAI:
               def __init__(self, *args, **kwargs):
                   raise ImportError(
                       "ChatVertexAI requires langchain-google-vertexai. "
                       "Install with: pip install langchain-google-vertexai"
                   )
```

'STUDY > LLM' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[LLM] Neo4jGraph와 Cypher 쿼리 - 2  (0) 2026.07.09
[LLM] Neo4jGraph와 Cypher 쿼리  (0) 2026.07.07
[LLM] Advanced RAG  (0) 2026.07.05
[LLM] RAG - Retriever  (0) 2026.07.04
[LLM] Qdrant - langchain  (0) 2026.07.03