fix(animal-chat): 프롬프트 + RAG 최적화

1. 프롬프트 개선:
   - 상세 요청 감지 ('자세히', '설명해줘' 등)
   - 상세 요청 시 10-15문장 응답
   - RAG 검색 결과 적극 활용 지시

2. 벡터 검색 수정:
   - L2 거리 → 유사도 변환: 1/(1+distance)
   - 음수 유사도 문제 해결
   - 임계값 0.3 적용 (30% 미만 제외)

3. 컨텍스트 주입 개선:
   - 상세 질문 시 n_results=5로 증가
   - RAG 활용 지시 추가
This commit is contained in:
thug0bin
2026-03-08 15:28:58 +09:00
parent 5d7a8fc3f4
commit e1711d9176
2 changed files with 27 additions and 4 deletions

View File

@@ -243,11 +243,21 @@ class AnimalDrugRAG:
output = []
for r in results:
# L2 거리 (0~∞) → 유사도 (1~0)
# 거리가 작을수록 유사도 높음
distance = r.get("_distance", 10)
score = 1 / (1 + distance) # 0~1 범위로 변환
# 임계값: 유사도 0.3 미만은 제외 (관련 없는 문서)
# L2 거리 2.33 이상이면 제외
if score < 0.3:
continue
output.append({
"text": r["text"],
"source": r["source"],
"section": r["section"],
"score": 1 - r.get("_distance", 0) # 거리 → 유사도
"score": score
})
return output