자그마지 3개의 기술이 들어간 컴비네이션이라는 드립을 치고 싶어지는 조합입니다. 만약 여러분이 이 가이드를 빼먹지 않고 읽었다면 검색 증강 생성 RAG(Retrieval-Augmented Generation)에 대해 기억하실 겁니다. 그럼 자연스럽게 궁금해 질 수 있습니다. 아니 RAG도 기존의 정보를 참조하여 보다 풍부한 답변을 한다더니? 그럼 Embedding Model과 VectorDB의 역할은 무엇인가? 하고 말이죠. 안궁금하셨으면 죄송합니다. 근데 저는 궁금했어요.
Embedding 모델은 단어나 문장을 컴퓨터가 이해할 수 있는 숫자의 배열, 즉 벡터로 변환하는 역할을 합니다. 이는 컴퓨터에게 언어를 가르치는 것과 비슷하며, 컴퓨터는 이 벡터를 통해 문장이나 단어의 의미를 파악할 수 있게 됩니다.
VectorDB는 이렇게 변환된 벡터들을 저장하고 관리하는 데이터베이스입니다. 즉, 컴퓨터가 학습한 언어의 '단어장'과 같다고 할 수 있습니다. 여기에는 많은 단어와 문장이 벡터의 형태로 정리되어 있어서, 필요할 때 빠르게 찾아볼 수 있습니다.
RAG)는 질문에 답변을 할 때, 기존에 저장된 정보(예를 들어 VectorDB에 저장된 정보)를 찾아보고 이를 바탕으로 답변을 생성하는 방식의 인공지능 모델입니다. 마치 시험 문제를 풀기 위해 공부했던 내용을 떠올리는 학생과 비슷합니다. RAG는 기존의 정보를 참조하여 더 정확하고 유용한 답변을 만들어냅니다.
즉, VectorDB는 RAG 모델이 참고할 수 있는 정보의 저장소가 될 수 있습니다. 물론 다른 데이터 베이스도 마찬가지구요. RAG는 특정 질문에 대한 답변을 생성하기 위해 VectorDB에 저장된 벡터 정보를 검색하고, 그 정보를 활용하여 새로운 답변을 만들어냅니다. 이 과정에서 RAG는 VectorDB에 있는 정보를 '이해'하고, 그것을 기반으로 자신의 답변을 구성합니다.