LintDB est une base de données multi-vecteurs destinée à la génération AI. LintDB soutient nativement l'interaction tardive comme Colbert et Plaid.
LintDB s'appuie sur OpenBlas pour la multiplication de la matrice accélée. Pour lisser le processus d'installation, nous prenons uniquement le conda.
conda install lintdb -c deployql -c conda-forge
LintDB facilite la téléchargement de données, même si vous avez plusieurs locataires.
Ci-dessous montre la création d'une base de données. LintDB définit un schéma pour une base de données donnée qui peut être utilisée pour indexer des intégres, des flotteurs, des chaînes et même des dates. Les champs peuvent être indexés, stockés ou utilisés comme filtre.
from lintdb . core import (
Schema ,
ColbertField ,
QuantizerType ,
Configuration ,
IndexIVF
)
schema = Schema (
[
ColbertField ( 'colbert' , DataType . TENSOR , {
'dimensions' : 128 ,
'quantization' : QuantizerType . BINARIZER ,
"num_centroids" : 32768 ,
"num_iterations" : 10 ,
})
]
)
config = Configuration ()
index = IndexIVF ( index_path , schema , config )
)Et interroger la base de données. Nous pouvons interroger l'un des champs de données que nous avons indexés.
from lintdb . core import (
Query ,
VectorQueryNode
)
for id , query in zip ( data . qids , data . queries ):
embedding = checkpoint . queryFromText ( query )
e = np . squeeze ( embedding . cpu (). numpy (). astype ( 'float32' ))
query = Query (
VectorQueryNode (
TensorFieldValue ( 'colbert' , e )
)
)
results = index . search ( 0 , query , 10 )
print ( results )LintDB vise à soutenir l'interaction tardive et les modèles de récupération plus avancés.
LintDB vise à être une plate-forme de récupération pour Gen AI. Nous pensons que pour ce faire, nous devons soutenir des méthodes de récupération et de notation flexibles tout en maintenant un niveau élevé de performance.
LintDB est l'une des deux bases de données qui prennent en charge les incorporations de token. L'autre étant Vespa.
Vespa est un moteur de recherche mature robuste avec de nombreuses fonctionnalités. Cependant, la courbe d'apprentissage pour démarrer et utiliser Vespa est élevée. Avec du lintdb embarqué, aucune configuration n'est requise. conda install lintdb -c deployql et démarrer.
Le chroma est une base de données vectorielle intégrée disponible dans Python et JavaScript. LintDB ne prend actuellement en charge que Python.
Cependant, contrairement à ChroMA, le LintDB offre un support multi-location.
Pour une documentation détaillée sur l'utilisation de LintDB, reportez-vous à la documentation officielle
LintDB est concédé sous licence Apache 2.0. Voir le fichier de licence pour plus de détails.
Nous avons besoin de votre aide! Si vous souhaitez un LintDB géré, tendez la main et faites-le nous savoir.
Temps de réservation sur le calendrier du fondateur: https://calendar.app.google/fsymsztvt8sip9xx6