Text2Cypher - 自然语言查询
|
本文档涉及 Neo4j Labs 旗下不受支持的 NeoDash 版本。如需使用受支持的 NeoDash 产品,请参阅 NeoDash 商业版。 |
在 NeoDash 中使用自然语言生成 Cypher 查询。通过 API 连接到大语言模型(LLM),让 NeoDash 结合您的数据库架构和报表类型自动生成查询。
工作原理
此扩展功能允许用户使用自然语言与 NeoDash 交互,从而为查询 Neo4j 图数据库生成 Cypher 查询。该集成利用大语言模型(LLM)来解释用户输入,并根据提供的架构定义生成 Cypher 查询。
配置
要启用 NeoDash 中的自然语言查询功能,请按照以下配置步骤进行操作
-
打开 NeoDash,导航到左侧边栏中的“Extensions”(扩展)部分。
-
找到“Text2Cypher”扩展并点击以激活它。
-
激活后,屏幕上方会出现一个带有红色感叹号(⚠️)的新按钮。点击此按钮。
-
在配置窗口中,系统会提示您提供连接到大语言模型(LLM)所需的信息。输入模型提供商、API 密钥、如有需要请提供部署 URL,并选择您想要使用的模型。
-
提供所需信息后,点击“Start Querying”(开始查询)按钮以完成配置。
使用
配置好扩展程序后,即可开始在 NeoDash 报表中使用它。具体方法如下
-
打开所需报表的“Report settings”(报表设置)。
-
在报表设置中,编辑器上方会有一个切换开关。该开关允许您在 Cypher 语言和英语之间进行切换。
-
由于您已启用该扩展并提供了 API 密钥进行身份验证,因此您可以切换到英语模式。
-
开始用简单的英语撰写查询,使用自然语言表达式来描述您想要检索的数据。
-
撰写完查询后,您有两种进一步操作的选择
-
翻译:点击“Translate”(翻译)按钮,您的查询将通过大语言模型翻译成 Cypher。当切换回 Cypher 视图时,翻译后的 Cypher 查询将显示在编辑器中。这使您能够在执行前检查并修改生成的 Cypher 查询。
-
运行:如果您希望直接执行查询并查看结果,请点击右上角的“Run”(运行)按钮。查询的执行将取决于所选的报表类型,结果也将相应显示。
-
通过自定义提示词提高准确性
为了提高大语言模型的准确性,您可以提供自己的示例查询以输入到提示词中。指定针对您的数据模型和用例的特定查询,可以显著提高 Text2Cypher 翻译的质量。
要访问模型示例界面,请打开扩展程序的设置。在指定提供商和模型后,点击窗口左下角的“Tweak Prompts”(调整提示词)按钮。这将带您进入示例界面。
在此界面中,您可以指定发送给大语言模型的一个或多个示例。示例包含一个 Cypher 查询及其对应的自然语言描述。您可以创建任意数量的示例,但保持示例与您的用户查询风格接近将获得最佳结果。
底层功能
-
检索架构:系统在交互开始时会提示检索数据库架构。这确保了生成的查询符合提供的架构以及可用的关系类型和属性。
-
使用英语进行提示:检索架构后,您可以开始用简单的英语输入查询。NeoDash 在 LLM 的支持下,将解释您的英语查询,并根据提供的架构生成相应的 Cypher 查询。
-
自动查询生成:NeoDash 会自动为您生成 Cypher 查询,同时考虑您指定的报表类型。无论是表格、图表、柱状图、折线图还是其他任何支持的报表类型,生成的查询都将根据报表要求检索必要的数据。
-
重试逻辑:为了提高生成查询的可靠性,我们实现了重试逻辑。如果在查询生成过程中出现任何问题或错误,系统最多将尝试三次重试,以提供有效的查询,确保查询顺利执行。
提示词技巧
在 NeoDash 中使用自然语言查询时,请记住以下技巧以提升您的体验
-
查询要清晰且具体:详细描述您想要检索的数据,包括节点标签、关系类型和属性值。
-
使用关键词和短语:加入您的数据上下文中常用的相关关键词和短语,以提高查询准确性。
-
提出精确的问题:将查询表述为问题以获取特定信息。例如,不要说“显示所有客户”,而应尝试“哪些客户在上个月有过购买记录?”
-
尝试不同的措辞:如果得不到预期的结果,请尝试使用同义词或替代表达方式来改写查询。
-
避免模糊的查询:模糊或含糊的查询可能会产生意想不到的结果。请确保提供足够的上下文并澄清任何歧义。
-
验证和检查生成的查询:务必查看生成的 Cypher 查询,以确保它们准确代表了您的意图并能产生预期的结果。