Chroma - database penyematan sumber terbuka .
Cara tercepat untuk membuat aplikasi LLM Python atau JavaScript dengan memori!
| | Dokumen | Beranda
pip install chromadb # python client
# for javascript, npm install chromadb!
# for client-server mode, chroma run --path /chroma_db_path
API inti hanya memiliki 4 fungsi (jalankan template Google Colab atau Replit kami):
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 dan js) ? LlamaIndex
dan lainnya segera Misalnya, kasus penggunaan "Chat your data"
:
GPT3
untuk ringkasan atau analisis tambahan. Apa itu embeddings?
[1.2, 2.1, ....]
. Proses ini membuat dokumen "dapat dipahami" oleh model pembelajaran mesin.Basis data penyematan (juga dikenal sebagai basis data vektor ) menyimpan penyematan dan memungkinkan Anda mencari berdasarkan tetangga terdekat, bukan berdasarkan substring seperti basis data tradisional. Secara default, Chroma menggunakan Sentence Transformers untuk menyematkan untuk Anda, tetapi Anda juga dapat menggunakan penyematan OpenAI, penyematan Cohere (multibahasa), atau milik Anda sendiri.
Chroma adalah proyek yang berkembang pesat. Kami menyambut kontributor PR dan ide-ide tentang cara meningkatkan proyek ini.
#contributing
Good first issue tag
Rilis Cadence Saat ini kami merilis versi baru paket pypi
dan npm
yang diberi tag pada hari Senin. Perbaikan terbaru keluar kapan saja selama seminggu.
Apache 2.0