Chroma vector store를 시작하는 방법을 다룹니다.
Chroma는 개발자 생산성과 만족도에 중점을 둔 AI 네이티브 오픈소스 vector database입니다. Chroma는 Apache 2.0 라이선스로 제공됩니다. Chroma의 전체 문서는 이 페이지에서 확인할 수 있으며, LangChain 통합을 위한 API 레퍼런스는 이 페이지에서 찾을 수 있습니다.
Chroma CloudChroma Cloud는 서버리스 vector 및 full-text search를 지원합니다. 매우 빠르고, 비용 효율적이며, 확장 가능하고 간편합니다. 30초 이내에 DB를 생성하고 $5의 무료 크레딧으로 사용해보세요.Chroma Cloud 시작하기
Setup
Chroma vector store에 액세스하려면 langchain-chroma 통합 패키지를 설치해야 합니다.
Credentials
위의 패키지만 설치하면 자격 증명 없이도Chroma vector store를 사용할 수 있습니다!
Chroma Cloud 사용자인 경우, CHROMA_TENANT, CHROMA_DATABASE, CHROMA_API_KEY 환경 변수를 설정하세요.
chromadb 패키지를 설치하면 Chroma CLI에도 액세스할 수 있으며, 이를 통해 이러한 값을 설정할 수 있습니다. 먼저 CLI를 통해 로그인한 다음 connect 명령을 사용하세요:
Initialization
Basic Initialization
다음은 데이터를 로컬에 저장하기 위한 디렉토리 사용을 포함한 기본 초기화입니다.Running Locally (In-Memory)
collection 이름과 embeddings provider만으로Chroma 인스턴스를 생성하여 메모리에서 실행되는 Chroma 서버를 얻을 수 있습니다:
Running Locally (with Data Persistence)
프로그램의 여러 실행에 걸쳐 데이터를 저장하려면persist_directory 인수를 제공할 수 있습니다:
Connecting to a Chroma Server
로컬에서 실행 중인 Chroma 서버가 있거나 직접 배포한 경우,host 인수를 제공하여 연결할 수 있습니다.
예를 들어, chroma run으로 로컬에서 실행 중인 Chroma 서버를 시작한 다음 host='localhost'로 연결할 수 있습니다:
port, ssl, headers 인수를 사용하여 연결을 사용자 정의할 수 있습니다.
Chroma Cloud
Chroma Cloud 사용자도 LangChain으로 구축할 수 있습니다.Chroma 인스턴스에 Chroma Cloud API key, tenant, DB 이름을 제공하세요:
Initialization from client
Chroma client에서 초기화할 수도 있으며, 이는 기본 데이터베이스에 더 쉽게 액세스하려는 경우 특히 유용합니다.
Running Locally (In-Memory)
Running Locally (with Data Persistence)
Connecting to a Chroma Server
예를 들어, 로컬에서 Chroma 서버를 실행하는 경우(chroma run 사용):
Chroma Cloud
CHROMA_API_KEY, CHROMA_TENANT, CHROMA_DATABASE를 설정한 후 간단히 인스턴스화할 수 있습니다:
Access your Chroma DB
Create a Chroma Vectorstore
Manage vector store
vector store를 생성한 후에는 다양한 항목을 추가하고 삭제하여 상호 작용할 수 있습니다.Add items to vector store
add_documents 함수를 사용하여 vector store에 항목을 추가할 수 있습니다.
Update items in vector store
이제 vector store에 문서를 추가했으므로update_documents 함수를 사용하여 기존 문서를 업데이트할 수 있습니다.
Delete items from vector store
다음과 같이 vector store에서 항목을 삭제할 수도 있습니다:Query vector store
vector store가 생성되고 관련 문서가 추가되면 chain이나 agent를 실행하는 동안 쿼리하고 싶을 것입니다.Query directly
Similarity search
간단한 similarity search는 다음과 같이 수행할 수 있습니다:Similarity search with score
similarity search를 실행하고 해당 점수를 받으려면 다음을 실행할 수 있습니다:Search by vector
vector로 검색할 수도 있습니다:Other search methods
이 노트북에서 다루지 않는 MMR search나 vector로 검색하는 것과 같은 다양한 다른 검색 방법이 있습니다.AstraDBVectorStore에서 사용 가능한 검색 기능의 전체 목록은 API reference를 확인하세요.
Query by turning into retriever
vector store를 retriever로 변환하여 chain에서 더 쉽게 사용할 수도 있습니다. 전달할 수 있는 다양한 검색 유형과 kwargs에 대한 자세한 내용은 여기 API reference를 참조하세요.Usage for retrieval-augmented generation
retrieval-augmented generation (RAG)에 이 vector store를 사용하는 방법에 대한 가이드는 다음 섹션을 참조하세요:API reference
모든Chroma vector store 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요: python.langchain.com/api_reference/chroma/vectorstores/langchain_chroma.vectorstores.Chroma.html
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.