[13. Langchain][RAG] 문서 저장: Vector DB 활용 - Chroma, Pinecone (250616)

해피해피슈크림·2025년 6월 16일

벡터 데이터베이스를 활용하는 기본적인 흐름

Chroma든 Pinecone이든 벡터 데이터베이스를 활용하는 기본적인 흐름은 완전히 동일하다.

  1. 텍스트 데이터와 고유 ID 준비

    • 어떤 텍스트를 벡터로 만들지, 그리고 어떤 ID로 관리할지를 정한다.
  2. 임베딩 모델 설정

    • 텍스트를 수치 벡터로 변환할 모델(OpenAI, HuggingFace 등)을 선택해 설정한다.
  3. 벡터 데이터베이스에 저장

    • 임베딩된 벡터와 함께 원본 텍스트, ID, 메타데이터 등을 저장한다.
  4. 질문 또는 쿼리 입력 시 검색

    • 사용자 질문도 벡터로 변환 → 데이터베이스에서 유사 벡터를 검색 → 연관된 정보 반환

즉, 전체 흐름은 같고, 차이는 주로 “어떤 벡터 DB를 쓰느냐”, 그리고 “직접 구성하느냐(Low-level API)” vs. “Langchain으로 자동화하느냐” 정도이다.

이때 직접 API를 사용하면 더 유연하고 디테일한 제어가 가능하고, Langchain을 쓰면 빠른 개발과 쉬운 확장성이 장점이다.


Chroma와 Pinecone 비교

항목ChromaPinecone
설치 방식로컬 또는 임베디드로 실행 가능클라우드 기반 (계정 필요)
성능/확장성소규모에 적합대용량 벡터 처리에 강함
데이터 보존로컬에 저장되며 휘발성일 수 있음영구 저장 (cloud storage 기반)
요금무료 오픈소스무료 티어 있음, 이후 과금됨
Langchain 지원기본 지원기본 지원
적합한 용도개인 실습, 프로토타이핑상용 서비스, 대규모 벡터 검색 시스템

💡결론

  • 간단한 실습이나 프로토타입 → Chroma
  • 고성능 검색, 상용 제품, 대규모 트래픽 대응 → Pinecone

0개의 댓글