我正在尝试编写一个简单的JavaScript脚本,它使用ChatGPT API来提出问题并获得响应。
但是,我收到以下错误消息:
“CORS策略阻止了从源”https://wordpress-..... www.example.com“获取”https://api.chatgpt.com/answer?question = How%20are%20you?& api_key = sk-U3 BPK...“的访问权限cloudwaysapps.com:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no-cors”以在禁用CORS的情况下提取资源。”
我已经在我的托管环境中启用了CORS标头服务器端。但是错误仍然存在。
此问题的原因是什么?如何解决此问题?
下面是我的代码:
<html>
<head>
<script>
function askQuestion() {
var question = document.getElementById("questionInput").value;
var apiKey = document.getElementById("apiKey").value;
// access chatgpt's API and pass in the question and API key as parameters
fetch("https://api.chatgpt.com/answer?question=" + question + "&api_key=" + apiKey)
.then(response => {
if (!response.ok) {
throw new Error("Failed to fetch answer from API");
}
return response.json();
})
.then(data => {
// get the answer from the API response and display it in the textbox
document.getElementById("answerBox").value = data.answer;
})
.catch(error => {
console.error("Error fetching answer from API: ", error);
});
}
function askFollowUpQuestion() {
var followUpQuestion = document.getElementById("followUpQuestionInput").value;
var apiKey = document.getElementById("apiKey").value;
// access chatgpt's API and pass in the follow-up question and API key as parameters
fetch("https://api.chatgpt.com/answer?question=" + followUpQuestion + "&api_key=" + apiKey)
.then(response => {
if (!response.ok) {
throw new Error("Failed to fetch answer from API");
}
return response.json();
})
.then(data => {
// get the answer from the API response and display it in the textbox
document.getElementById("followUpAnswerBox").value = data.answer;
})
.catch(error => {
console.error("Error fetching answer from API: ", error);
});
}
</script>
</head>
<body>
<input type="text" id="questionInput" placeholder="Enter your question here"></input>
<br>
<input type="text" id="apiKey" placeholder="Enter your API key"></input>
<br>
<button onclick="askQuestion()">Ask</button>
<br>
<textarea id="answerBox" readonly></textarea>
<br>
<input type="text" id="followUpQuestionInput" placeholder="Enter your follow-up question here"></input>
<br>
<button onclick="askFollowUpQuestion()">Ask Follow-up</button>
<br>
<textarea id="followUpAnswerBox" readonly></textarea>
</body>
</html>
1条答案
按热度按时间vq8itlhq1#
更新日期:2023年3月1日
ChatGPT API现已可用
如官方OpenAI blog中所述:
ChatGPT和Whisper模型现在可在我们的API上使用,让开发人员可以使用最先进的语言(不仅仅是聊天!)和语音到文本功能。通过一系列系统范围的优化,自去年12月以来,我们已经实现了ChatGPT成本降低90%;我们现在将这些节省的成本转嫁给API用户。开发人员现在可以在API中使用我们的开源Whisper large-v2模型,速度更快,成本效益更高。ChatGPT API用户可以期待持续的模型改进,并可以选择专用容量来更深入地控制模型。我们还密切听取了开发人员的反馈,并完善了我们的API服务条款,以更好地满足他们的需求。
参见documentation。
ChatGPT API尚不可用
正如官方OpenAI Twitter profile所述:
我们从ChatGPT研究预览中学到了很多,并根据用户反馈进行了重要更新。ChatGPT将很快应用于我们的API和Microsoft Azure OpenAI服务。
你是指GPT-3 API吗?如果是,请阅读documentation,查看所有可用的GPT-3 models列表,并学习如何使用Completions endpoint编写代码。