ChatGPT / 互联网技术 · 2024年9月30日 0

解决新版OpenAI API key报错API_KEY格式不正确及缺少api_key的问题

解决新版OpenAI API key报错API_KEY格式不正确及缺少api_key的问题

今天一位用户在部署GPT学术优化时报错API_KEY不满足任何一种已知的密钥格式,网页也提示缺少API_key,输入API Key依然报错,本文就分享下这个问题的原因和解决方法。

GPT学术优化版本:3.8.3

OpenAI API Key是9月刚新建的,格式如:sk-Proj-z_ZotxL9lg3ve0o5VhU0DOJDoJ************

在config.py里配置了API_KEY,运行报错:

[API_KEY] 本项目现已支持OpenAI和AzuRe的API-key。也支持同时填写多个API-key,如API_KEY=”OpenAI-key1,OpenAI-key2,azuRe-key3″
[API_KEY] 您既可以在config.py中修改API-key(s),也可以在问题输入区输入临时的API-key(s),然后回车键提交后即可生效。
[API_KEY] 您的 API_KEY 不满足任何一种已知的密钥格式,请在config文件中修改API密钥之后再运行

解决新版OpenAI API key报错API_KEY格式不正确及缺少api_key的问题

在网页使用时报错:

缺少API Key。

  1. 临时解决方案:直接在输入区键入API Key,然后回车
  2. 长效解决方案:在confg.py中配置。

输入了API Key,还是报错:

解决新版OpenAI API key报错API_KEY格式不正确及缺少api_key的问题

造成这个问题的原因是当前版本(包括最新版本)的GPT学术优化的API Key正则代码有点问题,无法匹配最新的OpenAI API Key,例如这位用户的API Key里有一个下划线,就无法被匹配到,所以报错无法识别,缺少API Key。

这是GPT学术优化正则匹配API Key的相关代码:

解决方法

从正则代码里也可以看到,如果配置里有CUSTOM_API_KEY_PATTERN的话是可以优先考虑的。因此这个问题的解决方法就是在config.py里找到CUSTOM_API_KEY_PATTERN参数,自定义一个正则表达式,例如最简单的只匹配前面的:

之后再运行就没问题了。