FLAML调用gpt-4报InvalidRequestError:API KEY配置无效求助
解决FLAML AutoGen调用gpt-4时的权限/模型不存在错误
针对你遇到的InvalidRequestError: The model 'gpt-4' does not exist or you do not have access to it错误,按以下步骤排查解决:
1. 检查OAI_CONFIG_LIST配置文件
- 确保文件是合法JSON格式,每个配置项必须包含
api_key和model字段,且model值为OpenAI官方标准ID(带横杠,比如gpt-4而非gpt4)。示例正确格式:
[ { "model": "gpt-4", "api_key": "你的API密钥" }, { "model": "gpt-4-32k", "api_key": "你的API密钥" } ]
- 确认文件放在代码的工作目录下,或者在
config_list_from_json中指定完整路径(比如"./config/OAI_CONFIG_LIST")。
2. 验证API密钥的权限
- 登录OpenAI平台,确认账号已开通gpt-4访问权限:个人账号需申请开通,付费团队账号需管理员分配权限;部分地区可能无法访问gpt-4服务。
- 直接用curl测试API可用性(替换你的密钥),排除FLAML框架问题:
curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 你的API密钥" \ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "测试"}] }'
如果这个请求同样报错,说明是账号权限或密钥问题,与FLAML无关。
3. 修正代码中的模型过滤规则
你的代码中filter_dict里写的是"gpt4"(无横杠),但OpenAI官方模型ID是gpt-4(带横杠),这会导致过滤掉配置文件中正确的模型项,最终代码可能尝试调用无权限的模型。修改过滤规则:
filter_dict={ "model": ["gpt-4", "gpt-4-32k", "gpt-4-32k-0314", "gpt-4-32k-v0314"], },
4. 针对Azure OpenAI的额外配置
如果你使用的是Azure OpenAI服务,配置文件需要补充api_base、api_type和api_version字段:
[ { "model": "gpt-4", "api_key": "你的Azure密钥", "api_base": "https://你的资源名.openai.azure.com/", "api_type": "azure", "api_version": "2023-07-01-preview" } ]
内容的提问来源于stack exchange,提问作者jacopo salmistrari
相关产品推荐
相关产品推荐

