我试图通过html中的js发送请求,以便openai分析它并发送响应,但是如果在js中我放置了以下内容:
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: "sk-0000000000000ZXXXXXXXXXXXXXX",
});
const openai = new OpenAIApi(configuration);
async function test() {
console("test")
const response = await openai.createCompletion("text-davinci-002", {
prompt: "hello",
temperature: 0.7,
max_tokens: 64,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
});
console.log(response)
}
test();返回控制台这些错误
Uncaught ReferenceError: require is not defined
at buttons.js:94:38我尝试过用node.js安装它,它运行得很好,但是我不知道如何在我自己的html中工作。
发布于 2022-05-23 22:10:29
我花了一点时间才弄清楚这件事。
https://reqbin.com/req/javascript/c-wyuctivp/convert-curl-to-javascript.
H 110转到:将代码从"curl“复制到"javascript/AJAX”。这将把它从"curl“改为javascript/AJAX XMLHttpRequest.像往常一样使用javascript。代码将记录响应。您可以将其更改为在代码中以其他方式使用响应。
测试和工作示例(您只需调整这些示例以满足您的需要):
定期提示:
let open_ai_response;
openai_test();
async function openai_test() {
var url = "https://api.openai.com/v1/engines/text-davinci-002/completions";
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer YOUR_OPEN_AI_KEY_GOES_HERE");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
console.log(xhr.status);
console.log(xhr.responseText);
open_ai_response = xhr.responseText;
console.log(open_ai_response);
}};
var data = `{
"prompt": "YOUR TEXT HERE.",
"temperature": 0.7,
"max_tokens": 256,
"top_p": 1,
"frequency_penalty": 0.75,
"presence_penalty": 0
}`;
xhr.send(data);
}
使用变量作为提示符:
let open_ai_response;
openai_test();
async function openai_test() {
var prompt_text = "YOUR TEXT HERE."
var prompt_text2 = "MORE TEXT HERE."
var url = "https://api.openai.com/v1/engines/text-davinci-002/completions";
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer YOUR_OPEN_AI_KEY_GOES_HERE");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
console.log(xhr.status);
console.log(xhr.responseText);
open_ai_response = xhr.responseText;
console.log(open_ai_response);
}};
var data = `{
"prompt": "${prompt_text + prompt_text2}",
"temperature": 0.7,
"max_tokens": 256,
"top_p": 1,
"frequency_penalty": 0.75,
"presence_penalty": 0
}`;
xhr.send(data);
}
https://stackoverflow.com/questions/72139717
复制相似问题