Amazon Neptune 是一个高性能图形分析和无服务器数据库,具有卓越的可扩展性和可用性。 此示例展示了使用LangChain 使用openCypher查询Neptune图形数据库并返回人类可读响应的 QA 链。 Cypher 是一种声明式图查询语言,允许在属性图中进行表达性高效的数据查询。 openCypher 是 Cypher 的开源实现。# Neptune Open Cypher QA 链 此 QA 链使用 openCypher 查询 Amazon Neptune 并返回人类可读的响应
create_neptune_opencypher_qa_chain 支持 Neptune 数据库 和 Neptune Analytics。 Neptune 数据库是一个无服务器图数据库,专为优化可扩展性和可用性而设计。它为需要扩展到每秒 100,000 次查询、多可用区高可用性和多区域部署的图数据库工作负载提供了解决方案。您可以将 Neptune 数据库用于社交网络、欺诈警报和客户 360 应用程序。 Neptune Analytics 是一种分析数据库引擎,可以快速分析内存中的大量图数据以获取洞察和发现趋势。Neptune Analytics 是用于快速分析现有图数据库或存储在数据湖中的图数据集的解决方案。它使用流行的图分析算法和低延迟分析查询。使用 Neptune 数据库
使用 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 被调用,响应将在对话中先前查询的上下文中返回。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。