Amazon Neptune 是一个高性能的图分析和无服务器数据库,具有卓越的可扩展性和可用性。 此示例展示了使用openCypher查询Neptune图数据库并返回人类可读响应的 QA 链。 Cypher 是一种声明式图查询语言,允许在属性图中进行富有表现力和高效的数据查询。 openCypher 是 Cypher 的开源实现。
Neptune Open Cypher QA 链
此 QA 链使用 openCypher 查询 Amazon Neptune 并返回人类可读的响应。 LangChain 通过create_neptune_opencypher_qa_chain 同时支持 Neptune Database 和 Neptune Analytics。
Neptune Database 是一个无服务器图数据库,旨在实现最佳的可扩展性和可用性。它为需要扩展到每秒 100,000 次查询、多可用区高可用性和多区域部署的图数据库工作负载提供了解决方案。您可以将 Neptune Database 用于社交网络、欺诈警报和客户 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 设置为输入键,以匹配基础链期望的格式。
InMemoryChatMessageHistory 将记住的对话生成一个唯一的 session_id。
session_id 调用启用了消息历史记录的链。
session_id 被调用,响应将在对话中先前查询的上下文中返回。
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

