Text2Cypher - 自然语言查询
本文档涉及 NeoDash 的不受支持版本,它是 Neo4j Labs 的一部分。对于支持的 NeoDash 产品的用户,请参阅 NeoDash 商业版。 |
在 NeoDash 中使用自然语言生成 Cypher 查询。通过 API 连接到大型语言模型 (LLM),让 NeoDash 使用您的数据库模式和报告类型自动生成查询。
工作原理
此扩展功能允许用户使用自然语言与 NeoDash 交互,以生成用于查询 Neo4j 图数据库的 Cypher 查询。此集成利用语言模型 (LLM) 来解释用户输入,并根据提供的模式定义生成 Cypher 查询。
配置
要在 NeoDash 中启用自然语言查询,请按照以下配置步骤操作
-
打开 NeoDash 并导航到左侧边栏的“扩展”部分。
-
找到“Text2Cypher”扩展并单击它以激活。
-
激活后,屏幕顶部将出现一个新按钮,带有一个红色感叹号 (⚠️)。单击此按钮。
-
在配置窗口中,系统会提示您提供连接语言模型 (LLM) 的必要信息。输入模型提供商、API 密钥、模型提供商需要的部署 URL,并选择要使用的模型。
-
提供所需信息后,单击“开始查询”按钮以完成配置。

用法
配置扩展后,您可以在 NeoDash 报告中开始使用它。方法如下:
-
打开所需报告的报告设置。
-
在报告设置中,您会在编辑器上方找到一个切换开关。此开关允许您在 Cypher 和英语之间切换。
-
由于您已启用扩展并提供了 API 密钥进行身份验证,您可以切换到英语模式。
-
开始用简单的英语制定您的查询,使用自然语言表达来描述您想要检索的数据。
-
撰写查询后,您有两个进一步操作的选项:
-
翻译:单击“翻译”按钮,您的查询将使用语言模型翻译成 Cypher。切换到 Cypher 视图时,翻译的 Cypher 查询将显示在编辑器中。这允许您在执行之前查看和修改生成的 Cypher 查询。
-
运行:如果您希望直接执行查询并查看结果,请单击右上角的“运行”按钮。查询的执行将取决于所选的报告类型,结果将相应地显示。
-

使用自定义提示提高准确性
为了提高语言模型的准确性,您可以提供自己的示例查询作为提示的输入。指定特定于您的数据模型 & 使用案例的查询可以显著提高 Text2Cypher 翻译的质量。
要访问模型示例屏幕,请打开扩展的设置。指定提供商和模型后,单击窗口左下角的“调整提示”按钮。这将带您进入示例界面。

在此界面中,您可以指定发送到语言模型的一个或多个示例。一个示例包括一个 Cypher 查询及其对应的自然语言表达。您可以创建任意数量的示例,但让它们与您的用户查询接近将产生最佳结果。
底层功能
-
检索模式:系统在交互开始时提示检索数据库模式。这确保生成的查询符合提供的模式以及可用的关系类型和属性。
-
用英语提示:检索模式后,您可以开始用简单的英语提示您的查询。NeoDash 在 LLM 的支持下,将解释您的英语查询并根据提供的模式生成相应的 Cypher 查询。
-
自动查询生成:NeoDash 会自动为您生成 Cypher 查询,并考虑您指定的报告类型。无论是表格、图表、柱状图、折线图还是任何其他支持的报告类型,生成的查询都将根据报告要求检索必要的数据。
-
重试逻辑:为了增强生成查询的可靠性,我们实现了重试逻辑。如果在查询生成过程中出现任何问题或错误,系统将最多尝试重试三次,并提供有效的查询以确保查询顺利执行。
提示技巧
在 NeoDash 中使用自然语言查询时,请记住以下技巧以提升您的体验:
-
在您的查询中要清晰具体:详细描述您想要检索的数据,包括节点标签、关系类型和属性值。
-
使用关键词和短语:结合您的数据上下文中常用的相关关键词和短语,以提高查询准确性。
-
提出精确的问题:将您的查询表述为问题以获取特定信息。例如,不要说“显示所有客户”,而是尝试说“上个月有哪些客户进行了购买?”
-
尝试不同的措辞:如果您没有得到预期的结果,请尝试使用同义词或替代表达方式重新表述您的查询。
-
避免模糊的查询:模糊或笼统的查询可能会产生意外结果。确保提供足够的上下文并澄清任何歧义。
-
验证和查看生成的查询:务必查看生成的 Cypher 查询,以确保它们准确地表达了您的意图并产生了预期的结果。