Qu'est-ce que Chroma ? Une base de données intégrée open source

Aaron Ricadela | Senior Writer | 15 avril 2024

Les équipes de développement d'IA qui créent des applications de recherche de similarité utilisant de grands modèles de langage et des ensembles de données non structurés se tournent vers des bases de données vectorielles conçues pour comparer rapidement les caractéristiques de millions ou de milliards de points de données.

Cette nouvelle génération de bases de données vectorielles spécialisées d'entreprises telles que Chroma, ainsi que Pinecone, Qdrant, Weaviate et Zilliz, compare les relations entre les incorporations vectorielles qui représentent un contenu non structuré dans un espace mathématique de haute dimension, montrant des relations sémantiques entre les caractéristiques du jeu de données. Les bases de données vectorielles alimentent les applications d'IA qui recherchent du contenu image et vidéo, recommandent des produits ou des médias en streaming, trouvent des informations plus pertinentes en fonction de l'intention des utilisateurs et complètent les requêtes de chatbot d'IA avec les données propriétaires des entreprises grâce à la génération augmentée par récupération (RAG). Les bases de données vectorielles excellent pour trouver des correspondances approximatives de voisin le plus proche (ANN) dans les jeux de données.

Définition de ChromaDB

La base de données open source Chroma, créée par la start-up éponyme de San Francisco, permet aux développeurs de créer des applications telles que la recherche ANN, la récupération d'images, la RAG et les recommandations de e-commerce. Il est connu comme étant une base de données vectorielle légère que les développeurs peuvent exécuter sur un ordinateur portable pour le prototypage rapide, ainsi que dans les services de cloud public ou privé. Chroma utilise le format de données Apache Arrow pour un accès rapide aux données.

Les équipes de développement peuvent exécuter Chroma en mode client/serveur sur un seul noeud et le déployer à l'aide d'un conteneur Docker ou d'une machine hébergée dans un service de cloud public. Ils peuvent également exécuter la base de données dans Chroma Cloud, le service géré de l'entreprise, avec des déploiements sur Amazon Web Services, Google Cloud Platform et Microsoft Azure. Chroma est disponible sous une licence Apache 2.0, qui permet une utilisation commerciale.

La base de données conviviale pour les développeurs offre des modèles d'intégration de OpenAI, Google, Cohere, Hugging Face et d'autres. Il dispose d'une intégration Python et JavaScript avec LangChain, LlamaIndex et Braintrust, ainsi que d'intégrations Python avec des outils d'IA, y compris Streamlit. Chroma fait des clients pour une variété de langages, dont Python, JavaScript, Ruby, Java, Go, C#, Elixir et Rust.

Pourquoi Oracle excelle sur Chroma dans les bases de données vectorielles

AI Vector Search d'Oracle Database 23ai offre une gamme beaucoup plus large d'options de haute disponibilité et de sécurité que Chroma et d'autres bases de données vectorielles autonomes. Oracle Virtual Private Database et sa fonctionnalité Oracle Label Security permettent aux entreprises de contrôler l'accès interne aux données en fonction du rôle ou du niveau d'autorisation des utilisateurs. Oracle Real Application Clusters permet aux instances de bases de données de s'exécuter sur un cluster de serveurs pour la tolérance aux pannes et l'équilibrage de charges. Oracle Active Data Guard effectue une réplication immédiate vers une base de données de secours, ce qui empêche la perte de données en cas de panne non planifiée.

Oracle Database 23ai peut également optimiser les recherches vectorielles en déterminant si des filtres supplémentaires, souvent stockés dans des colonnes relationnelles, doivent être appliqués avant ou après la recherche vectorielle. Autrement dit, lorsqu'une application de recherche de similarité renvoie une liste des premiers résultats, Oracle Database peut décider de restreindre ces résultats en fonction des attributs relationnels des données, soit avant l'exécution de la recherche vectorielle, soit pendant l'exécution, soit après celle-ci.

Découvrez comment l'IA peut améliorer l'accès à vos données, améliorer les résultats et simplifier l'utilisation.

FAQ ChromaDB

Qu'est-ce que Chroma et comment fonctionne-t-il ?

Chroma est une base de données vectorielle légère pour la construction d'applications alimentées par des recherches de similarité d'espace d'intégration de vecteurs. Il comprend une couche de stockage d'objets pour réduire le coût de service des index vectoriels pour la recherche de similarité.

En quoi Chroma est-il différent des autres bases de données vectorielles ?

La base de données Chroma s'adresse aux développeurs travaillant sur de petits projets et peut être installée sur un ordinateur portable pour un prototypage rapide sans engagement matériel important. Il prend également en charge un large éventail de langages de développement et d'outils d'IA.

Chroma peut-il gérer des données structurées et non structurées ?

Chroma est conçu pour stocker et rechercher des incorporations de vecteurs, et non pour traiter des données relationnelles structurées.

Chroma est-il open source ?

Oui, Chroma est disponible sous la licence open source Apache 2.0, qui permet aux utilisateurs de redistribuer son code dans leurs propres produits.