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
(Python および JS) ? LlamaIndex
なども近々公開予定たとえば、 "Chat your data"
の使用例は次のとおりです。
GPT3
などの LLM のコンテキスト ウィンドウにドキュメントを作成します。 埋め込みとは何ですか?
[1.2, 2.1, ....]
。このプロセスにより、文書は機械学習モデルにとって「理解可能」になります。エンベディング データベース (ベクトル データベースとも呼ばれる) はエンベディングを保存し、従来のデータベースのような部分文字列ではなく、最近傍によって検索できるようにします。デフォルトでは、Chroma は Sentence Transformers を使用して埋め込みますが、OpenAI 埋め込み、Cohere (多言語) 埋め込み、または独自の埋め込みを使用することもできます。
Chroma は急速に発展しているプロジェクトです。 PR の貢献者やプロジェクトを改善するためのアイデアを歓迎します。
#contributing
チャンネルGood first issue tag
ていますリリースの頻度現在、 pypi
およびnpm
パッケージの新しいタグ付きバージョンを月曜日にリリースしています。ホットフィックスは週中いつでも公開されます。
アパッチ2.0