由于国内对openai的API接口网址进行了屏蔽,因此需要科学上网或对API进行反向代理才能使用API接口,那么该怎么使用反向代理的API接口呢?
1. 对于Nodejs
1.1 方法一:使用自己反向代理的API地址
在Configuration列表中添加一项basePath即可,下面是代码:
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
basePath: "https://api.youraddress.com",//在这里设置就可以了
});
const openai = new OpenAIApi(configuration);
const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: {role: "user", content: "Hello world"},
});
console.log(completion.data.choices0.message);
1.2 方法二:在Nodejs中使用正向代理
在nodejs的代码中配置代理,添加下面的代码在nodejs 的正式代码之前:
process.env.HTTP_PROXY = "http://your.proxy.address:port"
process.env.HTTPs_PROXY = "http://your.proxy.address:port"
2. 对于Python
2.1 方法一:使用自己反向代理的API地址
对openai对象设置api_base 的参数即可:
openai.api_base = "https://api.youraddress.com/v1" #在这里设置即可,需要特别注意这里的/v1是必须的,否则报错。前面的地址注意替换即可。
2.2 方法二:在python中使用正向代理
直接通过openai.proxy设置openai的代理:
import os
import openai
openai.api_key = "yourAPIKey"
openai.proxy = "http://your.proxy.address:port" #在这里设置你的代理信息即可