首先,你需要使用一个HTTP代理来访问OpenAI API,这可以通过使用一个HTTP库来实现,例如axiosnode-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_tokenstemperatureengine。我们还将httpsAgent选项设置为我们创建的代理代理,以确保请求通过代理连接。最后,我们返回OpenAI API的响应中的文本输出。

最后,我们在自执行函数中调用generateCompletion函数,打印出生成的完成文本。

请记住,这个例子中的许多变量和选项都需要替换为你自己的值,例如YOUR_API_KEYYOUR_PROXY_HOST

帮我写个代码,调用openai createChatCompletion 且用代理方式,用JavaScript代码

原文地址: https://www.cveoy.top/t/topic/wQl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录