LintDB
v0.5.1
LINTDB是一个用于AI代的多矢量数据库。 LintDB本地支持Colbert和Plaid等晚期互动。
LINTDB依靠OpenBlas进行加速矩阵乘法。为了平滑安装过程,我们只支持Conda。
conda install lintdb -c deployql -c conda-forge
LINTDB可以轻松地上传数据,即使您有多个租户。
下面显示创建数据库。 LINTDB定义了给定数据库的架构,该模式可用于索引嵌入,浮点,字符串甚至日期。可以将字段索引,存储或用作过滤器。
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 )
)并查询数据库。我们可以查询我们索引的任何数据字段。
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旨在支持晚期互动和更高级的检索模型。
LINTDB的目标是成为AI代的检索平台。我们认为,要做到这一点,我们必须支持灵活的检索和得分方法,同时保持高度的性能。
LINTDB是支持令牌级嵌入的两个数据库之一。另一个是Vespa。
VESPA是具有许多功能的强大,成熟的搜索引擎。但是,开始和操作VESPA的学习曲线很高。使用嵌入式LINTDB,无需设置。 conda install lintdb -c deployql并开始。
Chroma是Python和JavaScript中可用的嵌入式矢量数据库。 LINTDB目前仅支持Python。
但是,与色度不同,LINTDB提供了多租赁支持。
有关使用LINTDB的详细文档,请参阅官方文档
LINTDB已获得Apache 2.0许可证的许可。有关详细信息,请参见许可证文件。
我们需要您的帮助!如果您想要一个托管的lintDB,请伸出手并告诉我们。
创始人日历上的预订时间:https://calendar.app.google/fsymsztvt8sip9xxx6