Chroma - la base de données d'intégration open source .
Le moyen le plus rapide de créer des applications LLM Python ou JavaScript avec de la mémoire !
| | Documents | Page d'accueil
pip install chromadb # python client
# for javascript, npm install chromadb!
# for client-server mode, chroma run --path /chroma_db_path
L'API principale ne comprend que 4 fonctions (exécutez notre modèle Google Colab ou 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 et js), ? LlamaIndex
et plus bientôt Par exemple, le cas d'utilisation "Chat your data"
:
GPT3
pour un résumé ou une analyse supplémentaire. Que sont les intégrations ?
[1.2, 2.1, ....]
. Ce processus rend les documents « compréhensibles » pour un modèle d'apprentissage automatique.Les bases de données d'intégrations (également appelées bases de données vectorielles ) stockent les intégrations et vous permettent d'effectuer une recherche par voisins les plus proches plutôt que par sous-chaînes comme une base de données traditionnelle. Par défaut, Chroma utilise Sentence Transformers pour intégrer pour vous, mais vous pouvez également utiliser les intégrations OpenAI, les intégrations Cohere (multilingues) ou les vôtres.
Chroma est un projet en développement rapide. Nous accueillons les contributeurs de relations publiques et les idées sur la façon d'améliorer le projet.
#contributing
Good first issue tag
Cadence de publication Nous publions actuellement de nouvelles versions balisées des packages pypi
et npm
le lundi. Les correctifs sortent à tout moment de la semaine.
Apache2.0