Lintdb ist eine Multi-Vektor-Datenbank, die für Gen AI bestimmt ist. Lintdb unterstützt nativ verspätete Interaktion wie Colbert und Plaid.
LintDB stützt sich auf OpenBLAs für die Multiplikation mit einer akmerlierten Matrix. Um den Installationsprozess zu glätten, unterstützen wir nur Conda.
conda install lintdb -c deployql -c conda-forge
LintDB erleichtert das Hochladen von Daten, auch wenn Sie mehrere Mieter haben.
Nachfolgend zeigt das Erstellen einer Datenbank. LintDB definiert ein Schema für eine bestimmte Datenbank, mit der Einbettung, Schwimmer, Zeichenfolgen und sogar Daten indexiert werden können. Felder können als Filter indiziert, gespeichert oder verwendet werden.
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 )
)Und Abfragen der Datenbank. Wir können alle von uns indizierten Datenfelder abfragen.
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 zielt darauf ab, die späte Interaktion und fortgeschrittenere Abrufmodelle zu unterstützen.
Lintdb zielt darauf ab, eine Abrufplattform für Gen AI zu sein. Wir glauben, dass wir damit flexible Abruf- und Bewertungsmethoden unterstützen müssen und gleichzeitig ein hohes Leistungsniveau aufrechterhalten.
Lintdb ist eines von zwei Datenbanken, die Einbettungen auf Token -Ebene unterstützen. Der andere ist Vespa.
Vespa ist eine robuste, reife Suchmaschine mit vielen Funktionen. Die Lernkurve zum Einstieg und Betrieb von Vespa ist jedoch hoch. Bei eingebettetem LintDB ist kein Setup erforderlich. conda install lintdb -c deployql und beginnen Sie.
Chroma ist eine eingebettete Vektordatenbank, die in Python und JavaScript verfügbar ist. Lintdb unterstützt derzeit nur Python.
Im Gegensatz zu Chroma bietet LintDB jedoch Support für Multi-Messen.
Ausführliche Dokumentation zur Verwendung von LintDB finden Sie in der offiziellen Dokumentation
LintDB ist unter der Apache 2.0 -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Wir brauchen Ihre Hilfe! Wenn Sie einen verwalteten Lintdb wünschen, greifen Sie nach und lassen Sie es uns wissen.
Buchzeit im Kalender des Gründers: https://calendar.app.google/fsymsztvt8sip9xx6