벡터 데이터베이스
벡터 데이터베이스는 대용량의 고차원 벡터 임베딩을 저장, 색인, 질의할 수 있도록 설계된 데이터베이스 시스템으로, 방대한 임베딩 데이터에서 유사성 검색을 빠르게 실행할 수 있습니다.
이해하기 벡터 데이터베이스
기존 데이터베이스는 테이블에 구조화된 데이터를 저장하고 정확한 일치 필터로 질의합니다. 반면, 벡터 데이터베이스는 부동 소수점 벡터(임베딩)를 저장하고, 코사인 유사도나 유클리드 거리 같은 거리 측정법을 사용해 '유사도'로 질의합니다. 이 덕분에 AI가 의미 기반 검색, 추천, 메모리 기능을 구현하는 필수 인프라로 쓰입니다. 벡터 데이터베이스의 주요 과제는 대규모에서의 '근접 이웃(nearest neighbor)' 문제입니다. 수백만 개 임베딩 중에서 쿼리 벡터와 가장 가까운 답을 찾아내려면 특화된 색인 알고리즘이 필요합니다. HNSW, IVF 같은 근사 최근접 이웃(ANN) 알고리즘은 정확성을 약간 포기하는 대신 속도를 비약적으로 향상시켜줍니다. 대표적인 벡터 데이터베이스에는 ChromaDB, Pinecone, Weaviate, Qdrant, 그리고 PostgreSQL 확장인 pgvector가 있습니다. 각각 배포 방식, 확장성, 필터 기능, 사용 편의성 등에서 차별화됩니다. 특히 ChromaDB는 간단함 덕분에 로컬과 자체 호스팅에 많이 활용됩니다. RAG 시스템에서는 벡터 데이터베이스가 지식 기반의 임베딩을 저장합니다. 질의 시, 데이터베이스는 가장 관련성 높은 임베딩을 찾아 원본 문서를 LLM에 맥락으로 제공합니다. 이렇게 하면 LLM의 전체 맥락창에 모든 데이터를 넣지 않고도, 필요한 정보를 AI가 정확하게 활용할 수 있습니다.
GAIA 활용 방법 벡터 데이터베이스
GAIA는 벡터 데이터베이스로 ChromaDB를 사용해 이메일, 작업, 문서, 캘린더 이벤트의 임베딩을 저장하고 쿼리합니다. GAIA가 작업에 필요한 관련 컨텍스트를 찾거나 검색 쿼리에 답변할 때, ChromaDB는 모든 임베딩된 콘텐츠를 빠르게 유사도 검색합니다. 이를 통해 GAIA는 점점 더 똑똑해지는 지속 가능하고 검색 가능한 디지털 작업 공간 메모리를 갖추게 됩니다.
관련 개념
임베딩
임베딩은 텍스트, 이미지, 오디오 등 데이터를 의미와 관계를 표현하는 고차원, 밀집 수치 벡터로 변환한 것입니다.
벡터 임베딩
벡터 임베딩은 텍스트, 이미지 등 다양한 데이터를 의미를 반영한 수치로 표현하여, 기계가 정보 간 유사성과 관계를 이해할 수 있게 하는 기법입니다.
검색 증강 생성(RAG)
검색 증강 생성(RAG)은 외부 지식 기반에서 관련 문서나 데이터를 먼저 검색하고 그 컨텍스트를 모델 프롬프트에 주입하여, LLM 응답을 더욱 향상시키는 기법입니다.
의미 기반 검색
의미 기반 검색은 검색 쿼리의 의미와 의도를 이해하여, 단순히 키워드 일치가 아닌 개념 상의 연관성에 따라 결과를 제공하는 검색 기술입니다.
그래프 기반 메모리
그래프 기반 메모리는 정보를 서로 연결된 노드와 관계로 저장하여, 상호작용 전반에 걸쳐 풍부한 맥락 이해와 지속적인 지식 유지를 가능하게 하는 AI 메모리 아키텍처입니다.


