VectorDB는 LLM을 비롯한 AI 모델의 이와 같은 “장기 기억 능력의 부재”를 보완하기 위해 나온 새로운 유형의 데이터베이스임.

RDBMS와 같은 전통적인 데이터베이스와는 다르게 Vector Database는 고차원의 실수 벡터 인덱스를 효율적으로 저장하는 데 특화되어 있습니다. 또한, SQL 등으로 표현된 query에 대하여 이와 정확하게 매칭되는 결과물을 추출하는 것이 아니라, query 또한 embedding의 형태로 표현되어 있고, 해당 query embedding과의 유사도가 가장 높은 embedding을 가지는 데이터를 추출하는 방식을 지원함. 즉, AI 모델로부터 얻어진 embedding에 대한 저장 및 이를 활용한 데이터 추출 등에 최적화되어 있다고 할 수 있음.

만약 LLM으로 하고자하는 테스크가 고차원(e.g. 512차원 이상)의 embedding을 요구하고, 다루게 되는 전체 embedding의 개수 또한 많다면(e.g. 10,000개 이상), Vector DB를 사용하는 것이 좋음. 즉각적으로 사용해 볼 수 있는 오픈 소스 Vector Database로 Chroma가 있는데, OpenAI Cookbook에서 제공하는 Robust Question Answering with Chroma and OpenAI 노트북을 보면, Question Answering 기능을 Chroma를 사용하여 구현하는 과정을 상세히 확인할 수 있음.