chroma
0.5.20
Chroma – 오픈 소스 임베딩 데이터베이스 .
메모리가 포함된 Python 또는 JavaScript LLM 앱을 구축하는 가장 빠른 방법!
| | 문서 | 홈페이지
pip install chromadb # python client
# for javascript, npm install chromadb!
# for client-server mode, chroma run --path /chroma_db_path
핵심 API는 단 4개의 함수입니다(Google Colab 또는 Replit 템플릿 실행).
import chromadb
# setup Chroma in-memory, for easy prototyping. Can add persistence easily!
client = chromadb . Client ()
# Create collection. get_collection, get_or_create_collection, delete_collection also available!
collection = client . create_collection ( "all-my-documents" )
# Add docs to the collection. Can also update and delete. Row-based API coming soon!
collection . add (
documents = [ "This is document1" , "This is document2" ], # we handle tokenization, embedding, and indexing automatically. You can skip that and add your own embeddings as well
metadatas = [{ "source" : "notion" }, { "source" : "google-docs" }], # filter on these!
ids = [ "doc1" , "doc2" ], # unique for each doc
)
# Query/search 2 most similar results. You can also .get by id
results = collection . query (
query_texts = [ "This is a query document" ],
n_results = 2 ,
# where={"metadata_field": "is_equal_to_this"}, # optional filter
# where_document={"$contains":"search_string"} # optional filter
)
?️? LangChain
(파이썬 및 js), ? LlamaIndex
등 추가 예정 예를 들어 "Chat your data"
사용 사례는 다음과 같습니다.
GPT3
와 같은 LLM의 컨텍스트 창에 문서를 작성합니다. 임베딩이란 무엇입니까?
[1.2, 2.1, ....]
. 이 프로세스를 통해 기계 학습 모델이 문서를 "이해할 수 있게" 됩니다.임베딩 데이터베이스( 벡터 데이터베이스 라고도 함)는 임베딩을 저장하고 기존 데이터베이스와 같은 하위 문자열이 아닌 가장 가까운 이웃을 기준으로 검색할 수 있도록 해줍니다. 기본적으로 Chroma는 Sentence Transformer를 사용하여 삽입하지만 OpenAI 임베딩, Cohere(다국어) 임베딩 또는 자체 임베딩을 사용할 수도 있습니다.
Chroma는 빠르게 발전하는 프로젝트입니다. 우리는 프로젝트 개선 방법에 대한 PR 기여자와 아이디어를 환영합니다.
#contributing
채널Good first issue tag
릴리스 주기 현재 우리는 월요일에 pypi
및 npm
패키지의 새로운 태그 버전을 릴리스합니다. 핫픽스는 주중 언제든지 출시됩니다.
아파치 2.0