Diffbot 是一套基于机器学习的产品,可轻松对网络数据进行结构化处理。 Diffbot 的自然语言处理 API 支持从非结构化文本数据中提取实体、关系和语义含义。![]()
使用场景
文本数据通常包含丰富的关系和洞察,可用于各种分析、推荐引擎或知识管理应用。 通过将Diffbot 的 NLP API 与图数据库 Neo4j 结合使用,您可以基于从文本中提取的信息创建强大的动态图结构。这些图结构完全可查询,并可集成到各种应用中。
这种组合支持以下使用场景:
- 从文本文档、网站或社交媒体数据流构建知识图谱(如 Diffbot 的知识图谱)。
- 基于数据中的语义关系生成推荐。
- 创建能够理解实体间关系的高级搜索功能。
- 构建允许用户探索数据中隐藏关系的分析仪表板。
概述
LangChain 提供与图数据库交互的工具:- 使用图转换器和存储集成
从文本构建知识图谱 - 使用链进行查询创建和执行
查询图数据库 - 使用智能体进行稳健灵活的查询
与图数据库交互
环境准备
首先,安装所需包并设置环境变量:Diffbot NLP API
Diffbot 的 NLP API 是一款从非结构化文本数据中提取实体、关系和语义上下文的工具。
提取的信息可用于构建知识图谱。
要使用该 API,您需要从 Diffbot 获取免费 API 令牌。
DiffbotGraphTransformer 提取实体和关系。
DiffbotGraphTransformer 输出结构化数据 GraphDocument,可用于填充图数据库。
注意:由于 Diffbot 的每次 API 请求字符限制,应避免文本分块。
将数据加载到知识图谱
您需要一个正在运行的 Neo4j 实例。一种选择是在 Aura 云服务中创建免费 Neo4j 数据库实例。您也可以使用 Neo4j Desktop 应用程序在本地运行数据库,或运行 Docker 容器。可以通过执行以下脚本在本地运行 Docker 容器:add_graph_documents 方法将 GraphDocuments 加载到知识图谱中。
刷新图模式信息
如果数据库的模式发生变化,您可以刷新生成 Cypher 语句所需的模式信息查询图
现在我们可以使用图 Cypher QA 链向图提问。建议使用 gpt-4 构建 Cypher 查询以获得最佳体验。通过 MCP 将这些文档连接到 Claude、VSCode 等工具,获取实时解答。

