目录
前言
首先,非常感谢所有为开源模型和架构做过贡献的开发者和作者们。
再我们使用开源模型的时候会设置一些openai风格的api供给前端或者后端调用
很多开发者会使用本地的开源模型对自己的保密数据集进行训练和微调,因此在抛出api的时候希望自己设置api_key,防止其他人调用LLM导致数据泄露。此文章以Fastchat为例演示如何对openai风格的api设置api_key,并成功调用。
设置api_key
在Fastchat中能找到一个openai_api_server.py的文件,其他很多使用openai风格的api文件也是按照这种形式进行api抛出
运行之后,会有以下提示,展示api的基本参数(-host -port -api_keys 是否开启了ssl等)。
python3 -m fastchat.serve.openai_api_server
可以看到目前api_key为None,也就是空值,在调用此api的时候不会进行api_key的验证
因此可以知道api_keys可以直接进行设置
python3 -m fastchat.serve.openai_api_server --api-keys 12369874
输入之后可以看到基础设置中api_keys不是None,而是自己设置的密码
Postman调用
在没有api_key时在书写请求体的时候直接按照模型的要求进行设置,然后send即可发送请求,模型也会正常返回,如图
如果你设置了api_key,上面的步骤也要做,但是此时请求会进行api_key的验证,如果key不符合就不会调用模型
因此我们需要多传进一个参数来加入我们的api_key,按照图中的东西严格填入
唯一要变化的位置:Value中的12369874是你自己在后台设置好的api_key
检查参数
在Headers中检查我们添加的参数,第一行“Authorization”便是我们添加的api_key的参数了,只要请求体没有问题,这时候模型就会返回结果了