我一直在使用deeplake创建一个向量数据库,效果很好,我的问题是我不确定如何从数据库中检索向量,即构成嵌入向量的物理数字(例如[0.2143, 1.2332, 2.223, -0.23123, ...., 1.23242] 或无论它们是什么)。
我在这里找到了这段代码: https://docs.activeloop.ai/tutorials/vector-store/deep-lake-vector-store-in-langchain
# LangChain Vector Store
db = DeepLake(dataset_path=dataset_path)
# Deep Lake Vector Store object
ds = db.vectorstore
# Deep Lake Dataset object
ds = db.vectorstore.dataset
这似乎是我正在寻找的东西,但它并不像广告中那样起作用。它返回一个错误,指出矢量存储不存在。
我尝试了以下几种形式,试图使其发挥作用。
from langchain.vectorstores import DeepLake
import tqdm
import os
# Load the vector store
vector_store_path = '/path_to_deeplakestorage/DeeplakeStorage'
vector_store = DeepLake(dataset_path=vector_store_path, read_only=True, verbose=False)
all_vecs = vector_store.vectorstore.dataset. # This does not work
再次强调,我只是想返回在该数据库中找到的所有 id 和向量。结果应返回向量列表或 ID 和向量一起。
非常感谢任何帮助。谢谢你。
您想要检索存储在数据集中的所有嵌入以及 id 吗?如果是这样,您可以执行以下操作:
from langchain.vectorstores import DeepLake
import tqdm
import os
# Load the vector store
vector_store_path = '/path_to_deeplakestorage/DeeplakeStorage'
vector_store = DeepLake(dataset_path=vector_store_path, read_only=True, verbose=False)
embeddings = vector_store.vectorstore.embedding.data()['value']
ids = vector_store.vectorstore.id.data()['value']