자연어 문장을 GPT가 이해할 수 있는 **벡터(숫자 배열)**로 바꾸고,
그걸 벡터 DB에 저장해 놓은 다음,
사용자의 질문도 벡터로 바꿔서 유사한 벡터를 찾아주는 검색 방식이에요.
기존의 검색은 단어 기반(Ctrl+F
)
→ 유사한 표현은 못 찾음
벡터 검색은 "의미 기반" 유사도 검색
→ 표현이 달라도 의미가 같으면 찾음
예:
문서에 "날씨가 맑았다"
질문이 "오늘은 해가 떴어?"
👉 단어가 달라도 관련된 문서를 찾아줌
벡터 DB 종류 | 설명 |
---|---|
Pinecone | 클라우드 기반, 쉽게 시작 가능 |
Weaviate | 오픈소스 or 클라우드 선택 가능 |
Qdrant | Rust 기반, 빠름 |
FAISS | Facebook 개발, 로컬에서 주로 사용 |
Milvus | 대규모 데이터에 강함 |
LangChain.js는 이 DB들과 연결하는 기능만 제공해요.
실제 DB를 "설치하고", "데이터를 저장"하고, "검색"하는 건 당신이 해야 할 부분이에요.