// 获取悬浮窗按钮和聊天界面元素
var chatgptBtn = document.getElementById("chatgpt-btn");
var chatgptContainer = document.getElementById("chatgpt-container");
// 点击悬浮窗按钮事件
chatgptBtn.onclick = function() {
chatgptContainer.style.display = "block";
};
// 点击关闭按钮事件
document.getElementById("chatgpt-close").onclick = function() {
chatgptContainer.style.display = "none";
};
// 提交表单事件
document.getElementById("chatgpt-form").onsubmit = function(event) {
event.preventDefault(); // 阻止表单默认提交行为
var question = this.question.value; // 获取用户输入问题
if (question.trim() === "") {
return;
}
// 发送POST请求给OpenAI API
var api_key = "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";
var model_id = "gpt-3.5-turbo";
var data = {
prompt: question,
temperature: 0.5,
max_tokens: 50
};
fetch(`https://api.openai.com/v1/engines/${model_id}/completions`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${api_key}`
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => {
var answer = result.choices[0].text;
// 在聊天界面中添加回答内容
var chatgptBody = document.getElementById("chatgpt-body");
chatgptBody.innerHTML += `我: ${question}
`;
chatgptBody.innerHTML += `ChatGPT: ${answer}
`;
// 清空输入框
document.getElementById("chatgpt-form").reset();
// 滚动到底部
chatgptBody.scrollTop = chatgptBody.scrollHeight;
})
.catch(error => console.error(error));
};