벡터기반검색 2

[LangChain RAG 구축 시리즈 Ep.17] 🔍 ChromaDB에서 문서 검색 및 Retriever 구성하기

이 글에서는 이전에 OpenAI 임베딩으로 저장한 벡터 데이터를 기반으로사용자의 질문과 유사한 문서를 검색할 수 있는Retriever(검색기) 를 구성해보겠습니다.🎯 목표ChromaDB에 저장된 벡터 데이터를 불러오기사용자의 자연어 질문을 임베딩하여 유사 문서 검색Retriever 객체를 통해 top-k 검색 구현🗂️ 디렉토리 구조 전제rag-iceberg-project/├── chroma_db/ ← 벡터 저장소└── src/search_documents.py ← 검색기 구성 코드🛠️ Step 1. ChromaDB에서 벡터 불러오기 + 검색기 구성# src/search_documents.pyfrom langchain.vectorstores..

[LangChain RAG 구축 시리즈 Ep.10] 🧪 벡터 검색 결과 해석하기 (top-k, score 등)

이 글에서는 RAG의 핵심인 벡터 검색의 내부 동작 방식을 집중적으로 살펴봅니다.특히 벡터 간 유사도 계산, top-k 정렬 기준, 검색 점수(score)의 의미를 시각적으로 이해할 수 있도록 설명드립니다.❓ 질문: "top-k 검색은 어떻게 작동하나요?"사용자의 질문도 벡터로 변환되며,저장된 문서 벡터들과 비교해가장 유사한 문서 상위 k개(top-k) 를 선택합니다.그렇다면 유사도는 어떤 기준으로 계산될까요?🧠 Cosine Similarity: 벡터 간 유사도 측정의 핵심 용어 설명 Cosine Similarity두 벡터가 이루는 각도의 코사인 값을 계산값 범위-1 ~ 1 (1에 가까울수록 유사함)사용 이유벡터 크기와 무관하게 방향성만 비교 가능예시: 문장 코사인 유사도 (예시) 상품 테이블0.9..

728x90