当我把代码从我的代码编辑器放到网页浏览器中时,我的代码工作正常,但是当我把它上传到Hostinger并访问我自己的网站时,我不断地收到错误401,因为我请求openai的文本完成。我试图通过一些愚蠢的方式给予我的apikey请求,但这甚至不是问题所在。因为即使我把我的Key复制到请求中,并且不使用变量或任何东西,它仍然显示Apikey没有被定义。下面是应该执行请求的代码:
`let cache = {};
document.getElementById("logo1").addEventListener("click", async function() {
if (!information1.value || information1.value === "Option 1" || !information2.value || information2.value === "information 2") {
alert("Please write something in the text fields");
return;
}
const topic = information2.value + information1.value;
if (cache[topic]) {
window.alert(cache[topic]);
return;
}
for (let i = 0; i < bannedKeywords.length; i++) {
if (topic.toLowerCase().includes(bannedKeywords[i])) {
alert("The topic contains inappropriate content, please try another topic");
return;
}
}
const response = await fetch("https://api.openai.com/v1/engines/text-davinci-003/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
'Authorization': `Bearer ${apikey}`,
"OpenAI-Organization": "XY"
},
body: JSON.stringify({
prompt: `prompt`,
temperature: 1,
max_tokens: 214,
top_p: 0.7,
frequency_penalty: 0,
presence_penalty: 0,
})
});
const data = await response.json();
let words = "";
data.choices[0].text.split(" ").forEach(word => {
words += word + " ";
});
cache[topic] = words;
window.alert(words);
});
'
我尝试通过Hostinger共享主机托管代码,但无法生成结果
1条答案
按热度按时间rkttyhzu1#
首先,所有Engines endpoints都已弃用。
更改此URL ...
......到这个。
但是,不要忘记添加
model
参数,如下所示:第二,错误
401
意味着Unauthorized
。我猜你的OpenAI API密钥有问题。请尝试以下操作:
当然,正如其他人提到的您不应该在生产中泄漏OpenAI API密钥。但这只是出于测试目的。如果这起作用,则OpenAI API密钥设置为环境变量时有问题。
告诉我发生了什么。