OpenAI 聊天模型节点常见问题#
以下是使用 OpenAI 聊天模型节点 时常见的错误和问题,以及相应的解决或排查步骤。
处理参数#
OpenAI 聊天模型节点是一个 子节点(sub-node)。当使用表达式处理多个数据项时,子节点的行为与其他节点不同。
大多数节点(包括 根节点(root nodes))可以接收任意数量的数据项作为输入,逐个处理并输出结果。你可以使用表达式引用输入项,节点会依次为每个输入项解析该表达式。例如,如果有五个姓名值作为输入,表达式 {{ $json.name }} 会依次解析为每一个姓名。
而在子节点中,表达式始终只解析为第一个输入项。例如,即使有五个姓名值作为输入,表达式 {{ $json.name }} 始终只会解析为第一个姓名。
服务收到来自您的请求过多#
当你超过了 OpenAI 的速率限制(rate limits) 时,会出现此错误。
有两种方法可以绕过此问题:
- 使用 Loop Over Items 节点将数据拆分为较小的批次,并在末尾添加一个 Wait 节点,设置适当的等待时间以避免触发限流。复制下方代码并粘贴到工作流中,可作为模板使用。
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106| ``` { "nodes": [ { "parameters": {}, "id": "35d05920-ad75-402a-be3c-3277bff7cc67", "name": "When clicking ‘Execute workflow’", "type": "n8n-nodes-base.manualTrigger", "typeVersion": 1, "position": [ 880, 400 ] }, { "parameters": { "batchSize": 500, "options": {} }, "id": "ae9baa80-4cf9-4848-8953-22e1b7187bf6", "name": "Loop Over Items", "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [ 1120, 420 ] }, { "parameters": { "resource": "chat", "options": {}, "requestOptions": {} }, "id": "a519f271-82dc-4f60-8cfd-533dec580acc", "name": "OpenAI", "type": "n8n-nodes-base.openAi", "typeVersion": 1, "position": [ 1380, 440 ] }, { "parameters": { "unit": "minutes" }, "id": "562d9da3-2142-49bc-9b8f-71b0af42b449", "name": "Wait", "type": "n8n-nodes-base.wait", "typeVersion": 1, "position": [ 1620, 440 ], "webhookId": "714ab157-96d1-448f-b7f5-677882b92b13" } ], "connections": { "When clicking ‘Execute workflow’": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "Loop Over Items": { "main": [ null, [ { "node": "OpenAI", "type": "main", "index": 0 } ] ] }, "OpenAI": { "main": [ [ { "node": "Wait", "type": "main", "index": 0 } ] ] }, "Wait": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] } }, "pinData": {} }
---|--- 2. 使用带有内置批处理限制(batch-limit)选项的 HTTP Request 节点调用 OpenAI API,而不是使用 OpenAI 节点。
配额不足#
配额问题 OpenAI 存在多种与配额相关的问题,包括在最近充值后仍出现失败的情况。为避免此类问题,请确保账户中有可用余额,并从 API 密钥页面 重新生成一个新的 API 密钥。 当你的 OpenAI 账户没有足够的信用额度或容量来满足请求时,会显示此错误。这可能意味着你的 OpenAI 试用期已结束、账户需要充值,或者你已超出使用限制。 要排查此错误,请访问你的 OpenAI 设置 页面:
- 在左上角的第一个选择器中,选择与你的 API 密钥对应的正确组织(organization)。
- 在左上角的第二个选择器中,选择与你的 API 密钥对应的正确项目(project)。
- 查看组织级别的 账单概览 页面,确认该组织有足够的信用额度。请再次确认你选择了正确的组织。
- 查看组织级别的 使用限制 页面。请再次确认你选择了正确的组织,并滚动到 Usage limits(使用限制) 部分,检查是否已超出组织的使用限额。
- 检查你的 OpenAI 项目的使用限制。请再次确认你在左上角第二个选择器中选择了正确的项目。点击 Project(项目) > Limits(限制) 可查看或修改项目限制。
- 确认 OpenAI API 当前运行正常。
余额等待期 在充值后,你的 OpenAI 账户余额可能会有延迟才能更新。 在 n8n 中:
- 检查 OpenAI 凭据 是否使用了已充值账户的有效 OpenAI API 密钥
- 确保将 OpenAI 节点 连接到正确的 OpenAI 凭据
如果你发现自己经常用完账户额度,可以考虑在你的 OpenAI 账单设置 中开启自动充值功能。当余额为 $0 时,系统将自动为你续充额度。
## 错误请求 — 请检查你的参数#
当请求出错但 n8n 无法解析来自 OpenAI 的错误信息时,会显示此错误。
要开始排查问题,建议尝试使用 HTTP Request 节点执行相同的操作,这通常能提供更详细的错误信息。