使用 GPT 进行 AI 编程#
自托管版本不可用。
不支持 Python。
///
在 Code 节点中使用 AI#
功能可用性
Code 节点中的 AI 辅助功能仅对 Cloud 用户开放,自托管的 n8n 不支持此功能。
AI 生成的代码会覆盖原有代码
如果您已经在 Code 选项卡中编写了部分代码,AI 生成的代码将会替换它。n8n 建议将 AI 作为创建初始代码的起点,然后根据需要再进行编辑。
使用 ChatGPT 在 Code 节点中生成代码的步骤:
- 在 Code 节点中,将 Language 设置为 JavaScript。
- 选择 Ask AI 选项卡。
- 输入您的查询内容。
- 点击 Generate Code。n8n 会将您的查询发送给 ChatGPT,然后在 Code 选项卡中显示结果。
使用限制#
在试用阶段没有使用限制。如果 n8n 将该功能永久保留,可能会根据您的定价层级设置使用限制。
功能限制#
n8n 中的 ChatGPT 实现有以下限制:
- AI 编写的代码只能操作来自 n8n 工作流的数据,不能要求它从其他来源获取数据。
- AI 不了解您的实际数据,只了解数据结构,因此您需要告诉它如何查找要提取的数据或如何检查空值。
- Code 节点之前的节点必须先执行并将数据传递给 Code 节点,然后才能运行 AI 查询。
- 不适用于传入的大型数据结构。
- 如果 Code 节点之前有大量节点,可能会出现问题。
编写优质提示词#
编写优质的提示词能提高获取有用代码的概率。
以下是一些通用建议:
- 提供示例:如有可能,给出期望输出的样例。这有助于AI更好地理解你期望的转换逻辑或处理方式。
- 描述处理步骤:如果数据需要经过特定处理步骤或逻辑,请按顺序列出。例如:"首先过滤掉所有18岁以下的用户,然后按姓氏对剩余用户进行排序。"
- 避免歧义:虽然AI能理解各种指令,但清晰直接的表达能确保获得最准确的代码。与其说"获取年长用户",不如明确说明"筛选60岁及以上的用户"。
- 明确输出预期:你希望数据被转换、过滤、聚合还是排序?尽可能提供详细说明。
以下是与n8n相关的具体建议:
- 考虑输入数据:确保ChatGPT知道你需要访问哪些数据字段,以及输入数据的含义。可能需要告知ChatGPT关于n8n内置方法和变量的可用性。
- 声明节点间交互:如果你的逻辑涉及多个节点的数据,需明确它们如何交互。"基于'userID'属性将'节点A'的输出与'节点B'合并"。如果希望只使用特定节点的数据,需明确说明:"仅考虑'Purchases'节点的数据,忽略'Refunds'节点。"
- 确保输出与n8n兼容。更多关于n8n所需数据结构的信息,请参考数据结构。
提示词示例#
以下示例展示了各种可能的提示词和任务类型。
示例1:在第二个数据集中查找特定数据#
要亲自尝试此示例,请下载示例工作流并导入到n8n中。
在第三个代码节点中输入以下提示:
Slack数据仅包含一项。输入数据代表所有Notion用户。有时包含邮箱的person属性可能为空。我想找到Slack用户对应的notionId并返回。
查看AI生成的代码。
这是您需要的JavaScript代码:
1 2 3 4 5 6 7 8 9 |
|
示例2:数据转换#
要亲自尝试此示例,请下载示例工作流并导入到n8n中。
在合并项代码节点中输入以下提示:
返回一行文本,其中包含所有用逗号分隔的用户名。每个用户名应该用双引号括起来。
查看AI生成的代码。
这是您需要的JavaScript代码:
1 2 3 4 |
|
示例3:汇总数据并创建Slack消息#
要亲自尝试此示例,请下载示例工作流并导入到n8n中。
在Summarize代码节点中,输入以下提示:
为Slack创建一个markdown文本,统计已提交的想法、功能和错误的数量。提交类型保存在property_type字段中。功能标记为"Feature",错误标记为"Bug",想法标记为"Bug"。同时在该消息中列出按投票数排名前五的提交。使用"
"作为链接的markdown格式。
查看AI生成的代码。
这是您需要的JavaScript代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
显式引用输入节点数据#
如果您的输入数据包含嵌套字段,使用点表示法引用它们可以帮助 AI 理解您需要的数据。
要亲自尝试此示例,请下载示例工作流并导入到 n8n 中。
在第二个代码节点中输入以下提示:
"Mock data"中的数据代表人员列表。为每个人返回一个新项,包含 personal_info.first_name 和 work_info.job_title。
这是您需要的 JavaScript 代码:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
相关资源#
Pluralsight 提供了一份简短指南:如何使用 ChatGPT 编写代码,其中包含示例提示。
修复代码#
AI 生成的代码可能无需修改即可工作,但您可能需要对其进行编辑。您需要了解 n8n 的数据结构。您可能还会发现 n8n 的内置方法和变量很有用。