用图数据库建立问答应用
在本指南中,我们将介绍通过图形数据库创建问答链的基本方法。这些系统将允许我们询问有关图形数据库中的数据的问题并得到自然语言答案。
安全说明
构建图数据库的问答系统需要执行模型生成的图查询。这样做存在内在的风险。在满足您的链/智能体的需求下,确保您的数据库连接权限的范围始终尽可能缩小。这将减轻但不能消除构建模型驱动系统的风险。有关一般安全最佳实践的更多信息,请参阅 此处。
体系架构
从高层次来看,大多数图链的步骤是:
- 将问题转换为图数据库查询:模型将用户输入转换为图数据库查询(例如 Cypher)。
- 执行图数据库查询:执行图数据库查询。
- 回答问题:模型使用查询结果响应用户输入。
设置
首先,获取所需的包并设置环境 变量。在此示例中,我们将使用 Neo4j 图形数据库。
pip install --upgrade --quiet langchain langchain-community langchain-openai neo4j
在本指南中我们默认使用 OpenAI 模型。
import getpass
import os
os.environ["OPENAI_API_KEY"] = getpass.getpass()
# Uncomment the below to use LangSmith. Not required.
# os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()
# os.environ["LANGCHAIN_TRACING_V2"] = "true"