OpenAI 聊天模型节点常见问题#
以下是 OpenAI 聊天模型节点的一些常见错误和问题,以及解决方法或排查步骤。
参数处理问题#
OpenAI 聊天模型节点是一个子节点。在使用表达式处理多个项目时,子节点的行为与其他节点不同。
大多数节点(包括根节点)可以接受任意数量的输入项,处理这些项目并输出结果。您可以使用表达式引用输入项,节点会依次为每个项目解析表达式。例如,给定五个名称值作为输入,表达式 {{ $json.name }}
会依次解析为每个名称。
而在子节点中,表达式总是解析为第一个项目。例如,给定五个名称值作为输入,表达式 {{ $json.name }}
总是解析为第一个名称。
服务接收了过多来自您的请求#
当您超过 OpenAI 的速率限制 时,会出现此错误。
有两种方法可以解决此问题:
- 使用 循环处理项 节点将数据拆分为较小的块,并在最后添加一个 等待 节点,设置适当的等待时间。复制以下代码并将其粘贴到工作流中作为模板使用。
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": {} }
- 使用 HTTP 请求 节点并启用内置的批量限制选项来调用 OpenAI API,而不是使用 OpenAI 节点。
配额不足#
配额问题
OpenAI 存在多个与配额相关的问题,包括最近刚充值配额后仍出现失败的情况。为避免这些问题,请确保账户中有足够的余额,并从 API 密钥页面 重新生成一个新的 API 密钥。
当您的 OpenAI 账户没有足够的额度或容量来处理请求时,会出现此错误。这可能意味着您的 OpenAI 试用期已结束、账户需要充值或已超出使用限制。
要排查此错误,请在 OpenAI 设置 页面执行以下操作:
- 在左上角的第一个选择器中,选择与您的 API 密钥对应的正确组织
- 在左上角的第二个选择器中,选择与您的 API 密钥对应的正确项目
- 检查组织级别的 账单概览 页面,确保组织有足够余额。请再次确认您为此页面选择了正确的组织
- 检查组织级别的 使用限制 页面。请再次确认您为此页面选择了正确的组织,并滚动至 使用限制 部分,确认未超出组织的使用限制
- 检查您的 OpenAI 项目使用限制。请再次确认在左上角的第二个选择器中选择了正确的项目。选择 项目 > 限制 可查看或更改项目限制
- 检查 OpenAI API 是否正常运行
余额更新延迟
充值后,OpenAI 账户可能需要一段时间才能显示新的余额。
在 n8n 中:
- 检查 OpenAI 凭据 是否使用了您已充值的账户的有效 OpenAI API 密钥
- 确保将 OpenAI 节点 连接到正确的 OpenAI 凭据
如果您经常遇到账户额度不足的情况,可以考虑在 OpenAI 账单设置 中开启自动充值功能,当余额降至 $0 时自动为账户充值。
错误请求 - 请检查您的参数#
当请求导致错误但 n8n 无法解析来自 OpenAI 的错误消息时,会显示此错误。
开始排查时,可以尝试使用 HTTP 请求节点运行相同的操作,该节点通常会提供更详细的错误信息。