Windows下OpenAI API微调curie模型时密钥401报错如何解决
问题根因
微调启动命令的参数写法错误:你在fine_tunes.create后追加的'openai.api_key = <API key>'是无效参数,Windows命令行不识别这种单引号包裹的类Python赋值写法,会导致CLI读取到格式异常的密钥值,触发401鉴权失败。另外你之前已经通过set命令配置过密钥环境变量,不需要重复在命令里传密钥参数。
解决步骤
- 第一步修正微调命令,删掉多余的错误传参,注意执行完
prepare_data预处理后,工具会生成带_prepared后缀的合规数据集,优先用这个处理后的文件启动微调,在当前配置好密钥的命令行窗口执行:
openai api fine_tunes.create -t "train_data_prepared.jsonl" -m curie
- 如果执行后仍然报401,先校验当前窗口的环境变量配置是否正确,执行以下命令打印已配置的密钥,核对是否存在多打空格、多余引号、字符漏抄的问题:
echo %OPENAI_API_KEY%
注意:配置密钥时不要保留<>尖括号,密钥前后不要加空格,不要额外包裹单/双引号,必须是sk-开头的完整字符串。
- 如果核对密钥字符串完全正确仍报错,可以在启动命令中通过标准参数显式传入密钥,注意Windows命令行下不要用单引号包裹参数值:
openai api fine_tunes.create -t "train_data_prepared.jsonl" -m curie --api_key 替换为你的完整sk开头密钥
- 以上操作都无效时,排查账号状态:确认账号余额充足、密钥未被手动禁用、当前账号有对应模型的微调权限,必要时重新生成新的API密钥替换原有配置即可。
踩坑提示:不要把Python代码里的
openai.api_key = 密钥赋值语句当命令行参数传给OpenAI CLI工具,Windows命令行和类Unix shell的语法规则有差异,不要直接照搬其他系统下带单引号的命令写法。
内容的提问来源于stack exchange,提问作者Rupesh Chandgude
相关产品推荐
相关产品推荐

