Text2Cypher - 自然语言查询

本文档涉及 NeoDash 的不受支持版本,它是 Neo4j Labs 的一部分。对于支持的 NeoDash 产品的用户,请参阅 NeoDash 商业版

在 NeoDash 中使用自然语言生成 Cypher 查询。通过 API 连接到大型语言模型 (LLM),让 NeoDash 使用您的数据库模式和报告类型自动生成查询。

工作原理

此扩展功能允许用户使用自然语言与 NeoDash 交互,以生成用于查询 Neo4j 图数据库的 Cypher 查询。此集成利用语言模型 (LLM) 来解释用户输入,并根据提供的模式定义生成 Cypher 查询。

配置

要在 NeoDash 中启用自然语言查询,请按照以下配置步骤操作

  1. 打开 NeoDash 并导航到左侧边栏的“扩展”部分。

  2. 找到“Text2Cypher”扩展并单击它以激活。

  3. 激活后,屏幕顶部将出现一个新按钮,带有一个红色感叹号 (⚠️)。单击此按钮。

  4. 在配置窗口中,系统会提示您提供连接语言模型 (LLM) 的必要信息。输入模型提供商、API 密钥、模型提供商需要的部署 URL,并选择要使用的模型。

  5. 提供所需信息后,单击“开始查询”按钮以完成配置。

Configuration settings for the Natural Language Queries extension

用法

配置扩展后,您可以在 NeoDash 报告中开始使用它。方法如下:

  1. 打开所需报告的报告设置。

  2. 在报告设置中,您会在编辑器上方找到一个切换开关。此开关允许您在 Cypher 和英语之间切换。

  3. 由于您已启用扩展并提供了 API 密钥进行身份验证,您可以切换到英语模式。

  4. 开始用简单的英语制定您的查询,使用自然语言表达来描述您想要检索的数据。

  5. 撰写查询后,您有两个进一步操作的选项:

    • 翻译:单击“翻译”按钮,您的查询将使用语言模型翻译成 Cypher。切换到 Cypher 视图时,翻译的 Cypher 查询将显示在编辑器中。这允许您在执行之前查看和修改生成的 Cypher 查询。

    • 运行:如果您希望直接执行查询并查看结果,请单击右上角的“运行”按钮。查询的执行将取决于所选的报告类型,结果将相应地显示。

Example of the English editor in NeoDash

使用自定义提示提高准确性

为了提高语言模型的准确性,您可以提供自己的示例查询作为提示的输入。指定特定于您的数据模型 & 使用案例的查询可以显著提高 Text2Cypher 翻译的质量。

要访问模型示例屏幕,请打开扩展的设置。指定提供商和模型后,单击窗口左下角的“调整提示”按钮。这将带您进入示例界面。

Custom Examples for your prompt

在此界面中,您可以指定发送到语言模型的一个或多个示例。一个示例包括一个 Cypher 查询及其对应的自然语言表达。您可以创建任意数量的示例,但让它们与您的用户查询接近将产生最佳结果。

底层功能

  • 检索模式:系统在交互开始时提示检索数据库模式。这确保生成的查询符合提供的模式以及可用的关系类型和属性。

  • 用英语提示:检索模式后,您可以开始用简单的英语提示您的查询。NeoDash 在 LLM 的支持下,将解释您的英语查询并根据提供的模式生成相应的 Cypher 查询。

  • 自动查询生成:NeoDash 会自动为您生成 Cypher 查询,并考虑您指定的报告类型。无论是表格、图表、柱状图、折线图还是任何其他支持的报告类型,生成的查询都将根据报告要求检索必要的数据。

  • 重试逻辑:为了增强生成查询的可靠性,我们实现了重试逻辑。如果在查询生成过程中出现任何问题或错误,系统将最多尝试重试三次,并提供有效的查询以确保查询顺利执行。

提示技巧

在 NeoDash 中使用自然语言查询时,请记住以下技巧以提升您的体验:

  1. 在您的查询中要清晰具体:详细描述您想要检索的数据,包括节点标签、关系类型和属性值。

  2. 使用关键词和短语:结合您的数据上下文中常用的相关关键词和短语,以提高查询准确性。

  3. 提出精确的问题:将您的查询表述为问题以获取特定信息。例如,不要说“显示所有客户”,而是尝试说“上个月有哪些客户进行了购买?”

  4. 尝试不同的措辞:如果您没有得到预期的结果,请尝试使用同义词或替代表达方式重新表述您的查询。

  5. 避免模糊的查询:模糊或笼统的查询可能会产生意外结果。确保提供足够的上下文并澄清任何歧义。

  6. 验证和查看生成的查询:务必查看生成的 Cypher 查询,以确保它们准确地表达了您的意图并产生了预期的结果。

重要注意事项

将自然语言查询与语言模型结合使用时,请务必注意以下事项:

  1. 多个模型提供商:根据您的配置,您的查询可能由不同的模型提供商处理。请注意,这意味着您的数据会被发送到不同的提供商。

  2. 非确定性:语言模型可能产生非确定性输出。即使使用相同的输入提示,生成的查询在不同运行中也可能不同。验证生成的查询并进行彻底测试以确保正确性。

  3. 潜在的幻觉:语言模型可能会生成与特定模式或数据约束不符的输出。请谨慎并验证结果,以防止潜在的不准确或幻觉。

© . All rights reserved.