功能文档

来源

本地文件上传

您可以将文件拖放到左侧的第一个输入区域。应用程序将使用 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 维基百科页面。

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

云存储

AWS S3

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

Google Cloud Storage

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

LLM 模型

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

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

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

© . All rights reserved.