Amazon Neptune 是一款高性能图分析及无服务器数据库,具备卓越的可扩展性和可用性。 本示例展示了使用LangChain 通过openCypher查询Neptune图数据库并返回人类可读响应的 QA 链。 Cypher 是一种声明式图查询语言,支持对属性图进行富有表达力且高效的数据查询。 openCypher 是 Cypher 的开源实现。# Neptune Open Cypher QA Chain 本 QA 链使用 openCypher 查询 Amazon Neptune 并返回人类可读的响应
create_neptune_opencypher_qa_chain 同时支持 Neptune Database 和 Neptune Analytics。
Neptune Database 是一款无服务器图数据库,专为最佳可扩展性和可用性而设计。它为需要扩展至每秒 10 万次查询、Multi-AZ 高可用性和多区域部署的图数据库工作负载提供解决方案。您可以将 Neptune Database 用于社交网络、欺诈预警和 Customer 360 应用。
Neptune Analytics 是一款分析数据库引擎,可快速在内存中分析大量图数据,从而获取洞察并发现趋势。Neptune Analytics 是快速分析现有图数据库或存储在数据湖中的图数据集的解决方案,它使用流行的图分析算法和低延迟分析查询。
使用 Neptune Database
使用 Neptune Analytics
使用 Neptune openCypher QA 链
该 QA 链使用 openCypher 查询 Neptune 图数据库并返回人类可读的响应。添加消息历史
Neptune openCypher QA 链可以被RunnableWithMessageHistory 包装。这为链添加了消息历史,让我们可以创建一个能在多次调用中保持对话状态的聊天机器人。
首先,我们需要一种存储和加载消息历史的方式。为此,每个线程将被创建为 InMemoryChatMessageHistory 的实例,并存储到字典中以便重复访问。
(另请参见:python.langchain.com/docs/versions/migrating_memory/chat_history/#chatmessagehistory)
RunnableWithMessageHistory。请注意,我们必须将 query 设置为输入键,以匹配基础链所期望的格式。
session_id,以便新的 InMemoryChatMessageHistory 记住该对话。
session_id 调用已启用消息历史的链。
session_id 被调用,响应将在对话中先前查询的上下文中返回。
通过 MCP 将这些文档连接到 Claude、VSCode 等工具,获取实时解答。

