帮我写个代码,调用openai createChatCompletion 且用代理方式,用JavaScript代码
首先,你需要使用一个HTTP代理来访问OpenAI API,这可以通过使用一个HTTP库来实现,例如axios或node-fetch。在这个例子中,我们将使用axios:
const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent');
const API_KEY = 'YOUR_API_KEY';
const API_URL = 'https://api.openai.com/v1/engines/davinci-codex/completions';
const PROXY_HOST = 'YOUR_PROXY_HOST';
const PROXY_PORT = 'YOUR_PROXY_PORT';
const PROXY_USERNAME = 'YOUR_PROXY_USERNAME';
const PROXY_PASSWORD = 'YOUR_PROXY_PASSWORD';
const agent = new HttpsProxyAgent({
host: PROXY_HOST,
port: PROXY_PORT,
auth: `${PROXY_USERNAME}:${PROXY_PASSWORD}`
});
async function generateCompletion(prompt) {
const response = await axios.post(API_URL, {
prompt: prompt,
max_tokens: 100,
n: 1,
stop: '\n',
temperature: 0.7,
frequency_penalty: 0,
presence_penalty: 0,
engine: 'davinci-codex'
}, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`
},
httpsAgent: agent
});
return response.data.choices[0].text;
}
(async () => {
console.log(await generateCompletion('Hello, my name is'));
})();
在这里,我们首先导入所需的库和变量。然后,我们创建了一个HttpsProxyAgent对象,该对象使用提供的代理主机、端口、用户名和密码来创建一个代理连接。接下来,我们定义了一个异步函数generateCompletion,该函数接受一个字符串参数prompt,并使用axios库的post方法向OpenAI API发送一个生成完成请求。在请求的正文中,我们指定了生成完成请求的参数,例如max_tokens、temperature和engine。我们还将httpsAgent选项设置为我们创建的代理代理,以确保请求通过代理连接。最后,我们返回OpenAI API的响应中的文本输出。
最后,我们在自执行函数中调用generateCompletion函数,打印出生成的完成文本。
请记住,这个例子中的许多变量和选项都需要替换为你自己的值,例如YOUR_API_KEY和YOUR_PROXY_HOST。
原文地址: https://www.cveoy.top/t/topic/wQl 著作权归作者所有。请勿转载和采集!