使用Cypher的Amazon Neptune
Amazon Neptune 是一个高性能的图分析数据库和无服务器数据库,具有卓越的可扩展性和可用性。
此示例展示了使用
openCypher
查询Neptune
图数据库的QA链,并返回人类可读的响应。Cypher 是一种声明式图查询语言,允许在属性图中进行表达性强且高效的数据查询。
openCypher 是 Cypher 的开源实现。# Neptune Open Cypher QA 链 这个 QA 链使用 openCypher 查询 Amazon Neptune 并返回人类可读的响应
LangChain 支持 Neptune Database 和 Neptune Analytics 与 NeptuneOpenCypherQAChain
Neptune 数据库是一种无服务器图数据库,旨在实现最佳的可扩展性和可用性。它为需要扩展到每秒 100,000 次查询、多可用区高可用性和多区域部署的图数据库工作负载提供了解决方案。您可以将 Neptune 数据库用于社交网络、欺诈警报和客户 360 应用程序。
Neptune Analytics 是一种分析数据库引擎,能够快速分析内存中的大量图数据,以获取洞察并发现趋势。Neptune Analytics 是一种用于快速分析现有图数据库或存储在数据湖中的图数据集的解决方案。它使用流行的图分析算法和低延迟的分析查询。
使用Neptune数据库
from langchain_community.graphs import NeptuneGraph
host = "<neptune-host>"
port = 8182
use_https = True
graph = NeptuneGraph(host=host, port=port, use_https=use_https)
API Reference:NeptuneGraph
使用Neptune Analytics
from langchain_community.graphs import NeptuneAnalyticsGraph
graph = NeptuneAnalyticsGraph(graph_identifier="<neptune-analytics-graph-id>")
API Reference:NeptuneAnalyticsGraph
使用 NeptuneOpenCypherQAChain
此问答链使用openCypher查询Neptune图数据库,并返回人类可读的响应。
from langchain.chains import NeptuneOpenCypherQAChain
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(temperature=0, model="gpt-4")
chain = NeptuneOpenCypherQAChain.from_llm(llm=llm, graph=graph)
chain.invoke("how many outgoing routes does the Austin airport have?")
API Reference:NeptuneOpenCypherQAChain | ChatOpenAI
'The Austin airport has 98 outgoing routes.'