功能文档

来源

本地文件上传

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

文件类型 支持的扩展名

Microsoft Office

.docx、.pptx、.xls

PDF

.pdf

图像

.jpeg、.jpg、.png、.svg

文本

.html、.txt、.md

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

  • YouTube 转录

  • 维基百科页面

  • 网页

该应用程序将解析并使用 YouTube 解析器将上传的 YouTube 视频(转录)存储为图中的 Document 节点。

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

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

云存储

AWS S3

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

Google Cloud Storage

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

LLM 模型

该应用程序使用 ML 模型将 PDF、网页和 YouTube 视频转录转换为实体及其关系的知识图。可以设置 ENV 变量来配置/启用/禁用特定模型。

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

  • OpenAI GPT 3.5 和 4o

  • VertexAI (Gemini 1.0),

  • Diffbot

  • Bedrock,

  • Anthropic

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

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

图增强

图模式

llm graph builder taxonomy

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

您可以:

删除断开连接的节点

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

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

可视化

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

图可视化

您有两种选择——要么使用表格末尾的放大镜图标对每个文档进行可视化,要么使用“预览图”按钮对所有选定文档进行可视化。

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

  • 词汇图 - 文档和块节点及其关系

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

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

在 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 仓库中找到。