Chroma — база данных для встраивания с открытым исходным кодом .
Самый быстрый способ создания приложений LLM на Python или JavaScript с использованием памяти!
| | Документы | Домашняя страница
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
для дополнительного обобщения или анализа. Что такое вложения?
[1.2, 2.1, ....]
. Этот процесс делает документы «понятными» для модели машинного обучения.Базы данных вложений (также известные как базы данных векторов ) хранят вложения и позволяют выполнять поиск по ближайшим соседям, а не по подстрокам, как в традиционной базе данных. По умолчанию Chroma использует преобразователи предложений для встраивания, но вы также можете использовать встраивания OpenAI, Cohere (многоязычные) или свои собственные.
Chroma — быстро развивающийся проект. Мы приветствуем пиарщиков и идеи по улучшению проекта.
#contributing
Good first issue tag
Периодичность выпусков В настоящее время мы выпускаем новые версии пакетов pypi
и npm
с тегами по понедельникам. Хотфиксы выходят в любое время в течение недели.
Апач 2.0