Embeddings
embeddings는 텍스트 같은 입력을 숫자 벡터로 바꿔 의미적 유사성을 계산할 수 있게 만드는 표현 방식입니다. 같은 단어를 쓰지 않아도 의미가 가까우면 벡터 공간에서 더 가까운 위치로 매핑되는 것이 핵심입니다.
▶아키텍처 다이어그램
📊 데이터 흐름 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
키워드 검색만으로는 표현이 조금만 바뀌어도 관련 문서를 놓치기 쉽습니다. 사용자가 '비밀번호를 잊어버렸다'고 썼는데 문서에는 '로그인 자격 증명 재설정'이라고 적혀 있다면, 단어 일치만 보는 시스템은 연결을 잘 못 만듭니다. 자연어 기반 앱에서 이 간극을 메우지 못하면 검색 품질이 모델 품질보다 먼저 무너집니다.
전통적인 정보 검색은 정확한 단어 일치와 역문서 빈도 기반 점수에 크게 의존했습니다. 그러나 Q&A, 지원 문서, 사내 검색처럼 사람 말투가 다양한 환경에서는 의미 기반 검색 필요성이 커졌고, dense vector 표현이 이를 실용적으로 풀 수 있게 하면서 embeddings가 핵심 기반 기술로 자리 잡았습니다.
문서 chunk와 사용자 질의를 같은 embedding 모델로 벡터화하면 둘을 같은 의미 공간에 올릴 수 있습니다. 이후 검색 시에는 질의 벡터와 문서 벡터의 거리나 각도를 비교해 가까운 후보를 찾습니다. 즉 embeddings는 검색 결과를 직접 답하는 것이 아니라, 어떤 문서가 현재 질문과 의미상 가까운지를 계산하는 표현층입니다.
embeddings, chunking/indexing, RAG는 모두 retrieval 품질에 관여하지만 보는 지점이 다릅니다. 비슷한 의미를 얼마나 잘 찾는지가 문제면 embeddings를 보고, 무엇을 어떤 단위로 저장하고 어떤 메타데이터로 거를지가 문제면 chunking/indexing을 보고, 검색 결과를 실제 답변에 어떻게 붙일지가 문제면 RAG를 봐야 합니다. 더 좋은 벡터를 써도 말뭉치 구조와 필터가 엉키면 품질이 바로 좋아지지는 않는다는 점이 한계입니다.
실무에서는 문서 검색, 추천, 유사 티켓 탐지, FAQ 중복 정리, RAG 인덱스 구축에 두루 쓰입니다. 다만 임베딩이 좋아도 chunk 경계가 이상하거나 메타데이터 필터가 없으면 엉뚱한 문서가 상위에 올라옵니다. 그래서 embeddings만 바꾸기 전에 검색 파이프라인 전체를 같이 봐야 합니다.