我试图使用HTML和JavaScript创建一个简单的网站,使用OpenAI API,用户输入查询,模型生成响应。每当我在文本框中键入一些东西并单击按钮生成一些东西时,它总是会显示错误。这是CORS限制的问题,还是我的代码的问题?
下面是我的JavaScript代码:
function generateOutput() {
var userInput = document.getElementById("input").value;
fetch("https://api.openai.com/v1/engines/davinci-codex/completions", {
method:"POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer 'MY_API'"
},
body: JSON.stringify({
prompt: userInput,
max_tokens:50,
model: "text-davinci-003"
}),
})
.then(response => {
if (response.ok) {
return response.json();
}else{
throw new Error("Error occurred while communicating with the API.")
}
})
.then(data => {
const output = data.choices[0].text.trim();
document.getElementById("output").textContent = output;
})
.catch(error => {
document.getElementById("errorMessage").textContent = "Error occurred while communicating with the API: " + error.message;
});
}
字符串
在这段代码中,用户可以键入一些内容,然后通过单击按钮生成响应。如果有错误,它将显示文本“Error occurred while communicating with the API.”我试过没有错误函数的情况下,它只是在生成我的请求时什么都不显示。
1条答案
按热度按时间xqnpmsa81#
所有Engines API endpoints都已弃用。
x1c 0d1x的数据
从此更改URL...
字符串
...这个
型
您可能使用ChatGPT编写了这段代码。问题是,即使是最新的OpenAI模型(即GPT-3.5和GPT-4)也使用了截至2021年6月/9月的数据进行训练,当时引擎API端点仍在使用。ChatGPT不知道,截至2023年6月,它应该建议您使用Completions API endpoint而不是Engines API端点。
试试这个:
型