RAG2026-5일10차시 · 벡터저장소 이해17 / 19← 이전목차다음 →MetaContents

10차시. 벡터저장소 이해

퀴즈 2 — 거리 점수를 기준과 바르게 비교하기

거리 점수(작을수록 가까움)를 관련 있음으로 바꾸지 말고, 임계값 이하인지 반환하세요.

빈칸 코드에서 시작합니다.

Python
def close_enough(distance, max_distance):
    pass
결과 보기 (예시 풀이)
Python
# 퀴즈 2. 거리 점수가 기준 이하인지 확인하기
# similarity_search_with_score가 주는 값은 "거리"입니다. 작을수록 가깝습니다.

def close_enough(distance, max_distance):
    # 거리이므로 "이하(<=)"로 비교합니다. 유사도였다면 ">="를 썼을 것입니다.
    return distance <= max_distance

MAX_DISTANCE = 0.5  # 예시로 정한 거리 기준

# with_score 결과를 흉내 낸 (본문, 거리) 목록입니다.
results = [("환불은 상품 수령 후 7일 이내", 0.3),
           ("불량품 교환은 30일 이내", 0.5),
           ("벽면에서 30cm 이상 떨어진 곳에 설치", 0.9)]

# 확인 1: 0.3은 "점수가 낮다"가 아니라 "아주 가깝다"입니다 → True
# 확인 2: 기준과 같은 0.5는 포함 → True
# 확인 3: 0.9는 너무 멀어서 → False
for text, d in results:
    print(f"거리 {d}: {close_enough(d, MAX_DISTANCE)}  {text}")

# 가까운 것만 남기기
kept = [text for text, d in results if close_enough(d, MAX_DISTANCE)]
print("남긴 조각 수:", len(kept))

실행 결과

출력
거리 0.3: True  환불은 상품 수령 후 7일 이내
거리 0.5: True  불량품 교환은 30일 이내
거리 0.9: False  벽면에서 30cm 이상 떨어진 곳에 설치
남긴 조각 수: 2

채점 기준: 유사도 점수라면 >= 를 써야 한다. 이 문제는 거리다.

관련 교안: 10차시 「5. 실습 ③ — 점수까지 확인하는 검색」 › 5-1) 두 가지 함수의 차이 (매우 중요!)

← 이전 절10차시 · 퀴즈 1 — 있으면 불러오고 없으면 만들기다음 절 →10차시 · 정리