44분
실습: Pinecone 클라우드 벡터 DB
Day 3: 벡터 DB (Chroma, Pinecone)
실습: Pinecone 클라우드 벡터 DB
RAG 기초 > Day 3: 벡터 DB (Chroma, Pinecone)
학습 목표
- Pinecone 인덱스를 생성하고 벡터를 저장할 수 있다
- Namespace를 활용한 문서 분류 검색을 구현할 수 있다
- Chroma와 Pinecone의 API 차이를 이해한다
Pinecone 실습
클라우드 벡터 DB인 Pinecone으로 제조 문서를 관리한다.
사전 준비
- https://www.pinecone.io 에서 계정을 만들고 API 키를 발급받는다.
- 키를 환경변수에 넣는다. 코드에 적지 않는다.
pip install pinecone
export PINECONE_API_KEY=... # 윈도우: set PINECONE_API_KEY=...
무료 등급의 조건과 가격은 자주 바뀐다. 시작 전에 https://www.pinecone.io/pricing/ 에서 오늘 기준을 직접 확인하라.
실습 순서
- 키 없이 starterCode를 실행해 호출의 모양을 익힌다. 로컬 시뮬레이터가 같은 이름의 메서드로 같은 흐름을 돌린다.
- 키를 설정하고 완성 코드를 실행해 실제 인덱스를 만든다. 인덱스는 차원과 거리 계산 방식을 나중에 바꿀 수 없으므로, 색인에 쓸 임베딩을 먼저 정하고 그 차원으로 만든다.
- namespace를 설비별로 나눠 저장하고, 일부러 잘못된 namespace로 검색해 본다. 오류가 나지 않고 엉뚱한 답이 나오는 것을 확인한다.
- 실습이 끝나면 인덱스를 지운다. 켜 둔 채 잊는 것이 가장 흔한 실수다.
에디터 로딩 중...
힌트 보기
- • 무료 등급의 인덱스 수와 벡터 한도는 여러 차례 바뀌었다. 교재의 숫자를 믿지 말고 공식 가격표에서 오늘 기준을 확인한다.
- • 인덱스를 만든 직후에는 아직 쓸 수 없다. describe_index로 ready 상태를 기다린 뒤 upsert 한다.
- • upsert 직후 통계를 조회하면 0건이 보일 수 있다. 반영에 시간이 걸리므로 잠시 기다렸다가 확인한다.
- • namespace로 설비별 문서를 나누면 검색 범위가 좁아진다. 다만 namespace를 잘못 주면 오류 없이 엉뚱한 결과가 나오므로 질의마다 어느 범위를 보는지 로그로 남긴다.
- • upsert는 insert와 update를 겸한다. 같은 ID면 덮어쓰고 새 ID면 추가한다.
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
Pinecone Namespace 격리 검증AI 학습 팁
AI에게 Pinecone Namespace 기반 문서 분류 코드의 네임스페이스 격리 로직을 리뷰받아 라인 간 데이터 혼입·upsert 중복 처리 오류를 점검하세요.
이 Pinecone Namespace 기반 제조 문서 분류 코드를 리뷰해줘. 생산라인 A/B/C 네임스페이스가 실제로 격리되는지, 동일 문서 재색인 시 upsert 중복 처리가 올바른지, 쿼리 시 네임스페이스 지정을 빠뜨리면 어떤 결과가 나오는지 엣지케이스를 점검해줘.
이 팁이 도움이 됐나요?