今天一位用户在部署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密钥之后再运行。
在网页使用时报错:
缺少API Key。
- 临时解决方案:直接在输入区键入API Key,然后回车
- 长效解决方案:在confg.py中配置。
输入了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参数,自定义一个正则表达式,例如最简单的只匹配前面的:
之后再运行就没问题了。