知识库是存储和管理信息的系统,LangChain 提供了多种方法来与知识库集成。
示例:使用向量数据库
以下是一个简单的示例,展示如何使用向量数据库作为知识库:
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
# 初始化嵌入模型
embeddings = OpenAIEmbeddings()
# 创建向量数据库
vectorstore = FAISS(embeddings)
# 添加文档
vectorstore.add_texts(["文档1", "文档2", "文档3"])
# 查询数据库
results = vectorstore.similarity_search("查询内容")
print(results)
示例:使用关系数据库
您还可以使用关系数据库作为知识库:
from langchain.chains import SQLDatabaseChain
from langchain.sql_database import SQLDatabase
# 初始化数据库
db = SQLDatabase.from_uri("sqlite:///example.db")
# 创建链
chain = SQLDatabaseChain(llm=llm, database=db)
# 查询数据库
result = chain.run("查询内容")
print(result)
选择合适的知识库类型取决于您的具体需求和数据规模。