Langchain构建向量数据库和检索器
·
1、安装向量数据库
pip install langchain-chroma
2、代码示例
2.1、向量数据库检索文档
#!/usr/bin/env python
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage
from langchain_core.messages import HumanMessage
import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = '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' #langsmith监控key
os.environ["OPENAI_API_KEY"] = 'aHP78iUOsuamufjyc2lkt0KD0iOFRKfly8fQ74QcdWrPbyrm' #openai的key
model = ChatOpenAI(model="gpt-4-turbo")
#构建测试文档数据(真实是从数据库中来)
documents = [
Document(
page_content="狗是伟大的伴侣,以其忠诚和友好而闻名。",
metadata={"source":"哺乳动物宠物文档"}),
Document(
page_content="猫是伟大的伴侣,通常喜欢自己的空间。",
metadata={"source":"哺乳动物宠物文档"})
]
#实例化一个向量数据库
vector_store = Chroma.from_documents(documents , embedding = OpenAIEmbeddings())
#相似度查询,分数越低相似度越高
print(vector_store.similarity_search_with_score('加菲猫'))
测试结果:

2.2、检索器

多个相似度的查询。
2.3、检索器与模型结合


这里我们使用模型链,里面有retriever上下文,这样就会根据文档的上下文做回答,如果没有的话,大模型会根据网上搜索进行一个笼统的回答。
更多推荐
所有评论(0)