功能文档

来源

本地文件上传

您可以将文件拖放到左侧第一个输入区域。应用程序将使用 LangChain 加载器(PDFLoader 和 Unstructured Loader)将上传的源存储为图中的文档节点。

文件类型 支持的扩展名

Microsoft Office

.docx, .pptx, .xls

PDF

.pdf

图像

.jpeg, .jpg, .png, .svg

文本

.html, .txt, .md

第二个输入区域处理网络链接。

  • YouTube 字幕

  • 维基百科页面

  • 网页

应用程序将使用 YouTube 解析器解析并存储上传的 YouTube 视频(字幕)作为图中的文档节点。

对于维基百科链接,我们使用维基百科加载器。例如,您可以提供 https://en.wikipedia.org/wiki/Neo4j,它将加载 Neo4j 维基百科页面。

对于网页,我们使用 Unstructured Loader。例如,您可以提供来自 https://theguardian.com/ 的文章,它将加载文章内容。

云存储

AWS S3

此 AWS S3 集成允许您连接到 S3 存储桶并从中加载文件。您需要提供您的 AWS 凭据和存储桶名称。

Google Cloud Storage

此 Google Cloud Storage 集成允许您连接到 GCS 存储桶并从中加载文件。您需要提供您的 GCS 存储桶名称,以及可选的文件夹,并遵循身份验证流程以授予应用程序访问存储桶的权限。

LLM 模型

应用程序使用机器学习模型将 PDF、网页和 YouTube 视频字幕转换为实体及其关系的知识图谱。可以设置环境变量来配置/启用/禁用特定模型。

配置了以下模型(但只有前三个在公开托管版本中可用)

  • OpenAI GPT 3.5 和 4o

  • VertexAI (Gemini 1.0),

  • Diffbot

  • Bedrock,

  • Anthropic

  • 与 OpenAI API 兼容的模型,如 Ollama、Groq、Fireworks

所选的 LLM 模型将用于处理新上传的文件以及为聊天机器人提供支持。请注意,这些模型具有不同的功能,因此它们的效果不尽相同,尤其是在提取方面。

图增强

图模式

llm graph builder taxonomy

如果您想使用预定义的或您自己的图模式,您可以在“图增强”弹出窗口中执行此操作。这也会在您第一次构建图时显示,并且模型配置的状态列在连接信息下方。

您可以:* 从顶部的下拉列表中选择预定义的模式,* 通过输入节点标签和关系来使用您自己的模式,* 从现有的 Neo4j 数据库中获取现有模式(“使用现有模式”),* 或复制/粘贴文本或模式描述(也适用于 RDF 本体或 Cypher/GQL 模式),并要求 LLM 分析它并提出建议的模式(“从文本获取模式”)。

删除断开连接的节点

在提取实体时,可能会发生在提取后,一些节点仅连接到文本片段,而不是连接到其他实体。这会导致实体图中出现断开的实体。

虽然它们可以保存与问答相关的信息,但它们可能会影响您的下游使用。因此,在此视图中,您可以选择应删除哪些仅连接到文本片段的实体。

可视化

您可以可视化提取文档的词法实体图或完整的知识图。

图可视化

您有两个选项 - 可以在表格末尾使用放大镜图标逐个文档进行可视化,或者使用“预览图”按钮对所有选定的文档进行可视化。

图可视化将在弹出窗口中显示相关文件,您可以筛选要查看的图类型

  • 词法图 - 文档和片段节点及其关系

  • 实体图 - 实体节点及其关系

  • 完整图 - 所有节点和关系

在 Neo4j Bloom 中探索

使用“在 Neo4j Bloom 中探索”按钮,您可以在 Neo4j Workspace 中打开构建的知识图谱,以进行进一步的可视化探索、查询和分析。

在 Bloom/Explore 中,您可以运行基于低代码模式的查询(或使用副驾驶)从图中提取数据并成功扩展。如果您针对启用了 GDS 的实例运行,您还可以运行图算法并可视化结果。您还可以交互式地编辑和添加到图中。

在 Neo4j 数据导入器中,您还可以从 CSV 文件导入结构化数据并将其连接到提取的知识图谱。

在 Neo4j 查询中,您可以编写 Cypher 查询(或使用副驾驶)从数据库中提取表格和图数据。

聊天机器人

工作原理

当用户提出问题时,我们使用配置的 RAG 模式来使用提取文档的图中的数据回答它。这意味着问题可以转换为嵌入或图查询,或者更高级的 RAG 方法。

我们还会总结聊天历史记录并将其用作丰富上下文的元素。

功能

  • 选择 RAG 模式您可以选择仅向量或 GraphRAG(向量+图)模式

  • 与选定的文档聊天:将仅使用选定的文档进行 RAG,使用预过滤来实现这一点

  • 详细信息:将打开一个检索信息弹出窗口,显示有关 RAG 代理如何收集和使用源(文档)、片段和实体的详细信息。还提供有关所用模型和令牌消耗的信息。

  • 清除聊天:将删除当前会话的聊天历史记录。

  • 扩展视图:将在全屏模式下打开聊天机器人界面。

  • 复制:将响应内容复制到剪贴板。

  • 文字转语音:将大声朗读响应内容。

GraphRAG

对于 GraphRAG,我们使用 Neo4j 向量索引(以及用于混合搜索的全文索引)和检索查询来查找最相关的片段和连接到这些片段的实体,然后沿着实体关系向上追溯 2 个跳跃的深度。

仅向量 RAG

对于仅向量 RAG,我们仅使用向量和全文索引(混合)搜索结果,不包含实体图中的其他信息。

答案生成

各种输入和确定的源(问题、向量结果、实体(名称+描述)、关系对、聊天历史记录)都作为自定义提示中的上下文信息发送到所选的 LLM 模型,要求根据提供的元素和上下文提供和格式化对所提问题的响应。

当然,提示中还有更多“魔法”,例如格式化、要求引用来源、如果答案未知则不要推测等。完整的提示和说明可以在GitHub 存储库中找到。