langchain Chroma 构建本地向量数据库
from langchain.vectorstores import DPRVectorStore, OpenAIVectorStore
from langchain.llms import ChatOpenAI
from langchain.chat_models import ChatOpenAIChatModel
from langchain.vectorstores import Chroma
# 初始化一个向量存储实例,这里以DPRVectorStore为例
dpr_vector_store = DPRVectorStore.from_pretrained("castorini/dpr-ctx_enc")
# 初始化一个OpenAI向量存储实例
openai_vector_store = OpenAIVectorStore(llm=ChatOpenAI())
# 初始化Chroma向量存储,将DPR和OpenAI作为向量源
chroma = Chroma(
vector_stores=[dpr_vector_store, openai_vector_store],
query_vector_store_ids=["dpr", "openai"],
query_vector_store_weights=[0.5, 0.5],
)
# 示例:使用Chroma进行向量搜索
query = "Which movie is considered the best?"
results = chroma.search(query, k=5)
for result in results:
print(result)
这段代码展示了如何初始化一个Chroma向量存储系统,并使用它进行向量搜索。首先,我们初始化了两个向量存储源:DPRVectorStore和OpenAIVectorStore,然后将它们作为向量数据源加入到Chroma中。最后,我们使用Chroma进行向量搜索,并打印出搜索结果。这个过程展示了如何将多个向量数据源整合到一个向量数据库中,并通过一个统一的接口进行查询。
评论已关闭