- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是我的 GPT-3 API 的工作代码。我在将其转换为与 chatGPT-3.5 一起使用时遇到问题。
<?php include('../config/config.php'); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Chatbot</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<link href="style.css" rel="stylesheet">
</head>
<body>
<div class="container py-5">
<h1 class="mb-5 text-center">
<div class="logo"> <img src="/images/Logo-PocketAI.svg" height="80" width="210" aria-label="PocketAI.Online Logo" title="PocketAI.Online Logo" alt="SPocketAI.Online Logo" class="img-fluid"> </div>
</h1>
<div class="form-floating mb-3">
<select class="form-select" id="tab-select" aria-label="Select your purpose">
<option value="exam" selected>Exam</option>
<option value="feedback">Feedback</option>
</select>
<label for="tab-select">Select your purpose:</label>
</div>
<div class="input-group mb-3">
<div class="form-floating">
<textarea class="form-control" placeholder="Enter your question or comment here" id="prompt"></textarea>
<label for="prompt">Enter your question or comment here</label>
</div>
<div class="input-group-append username w-100 mt-3 mb-4">
<button class="btn btn-outline-primary w-100" type="button" id="send-button">Send</button>
</div>
</div>
<div id="output" class="mb-3" style="height: 300px; overflow: auto; border: 1px solid lightgray; padding: 10px;"></div>
<div id="exam-instructions" class="mb-3" style="display: block;">
<h3>Exam</h3>
<p>PocketAI can create multiple choice and true false questions in a format that enables import into Brightspace D2L quizzes using Respondus. Place PocketAI output into a Word document before importing with Respondus. Ask PocketAI questions like the following: <br>
<br>
Create 3 multiple choice questions about carbohydrates for a freshman Nutrition online college course.<br>
Create 2 true false questions about business for a sophomore Business face to face college course.</p>
</div>
<div id="feedback-instructions" class="mb-3" style="display: none;">
<h3>Feedback</h3>
<p>Enter text to receive writing feedback.</p>
</div>
</div>
<script>
const previousPrompts = [];
const userName = "<strong>User</strong>";
const chatbotName = "<strong>PocketAI</strong>";
const selectDropdown = document.getElementById("tab-select");
selectDropdown.addEventListener("change", function() {
const activeTabId = this.value;
// hide all instruction sections
document.querySelectorAll("[id$='-instructions']").forEach(function(instructionSection) {
instructionSection.style.display = "none";
});
// show the instruction section for the active tab
document.getElementById(`${activeTabId}-instructions`).style.display = "block";
});
document.getElementById("send-button").addEventListener("click", function() {
const prompt = document.getElementById("prompt").value;
const activeTabId = selectDropdown.value;
const endpoint = "https://api.openai.com/v1/completions";
const apiKey = "<?=$OPEN_AI_KEY;?>";
document.getElementById("send-button").innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Sending...';
let promptText = "";
switch (activeTabId) {
case "exam":
promptText = "Create quiz questions in the following format: Begin each question with a number followed by a period, and then include the question wording. For each question, include four answer choices listed as letters (A, B, C, D) followed by a period and at least one space before the answer wording. Designate the correct answer by placing an asterisk (*) directly in front of the answer letter (do not put a space between the asterisk and the answer choice). Place the asterisk in front of the answer letter, only the front. It is important that correct answers are identified. Don't make up answers, only select factual answers. For example formatting (don't use this specific example), \"1. What is the recommended daily intake of dietary fiber? A. 10 grams B. 25 grams *C. 50 grams D. 75 grams\". Format true false questions the same way. If you are unsure of the correct answer, don't create the question. Every quiz question and answer must be 100% correct and factual. Do not make up answers. All answers must be correct.";
break;
case "feedback":
promptText = "Can you provide feedback on the writing, grammar, sentence structure, punctuation, and style of this student's paper? The paper should be analyzed for its strengths and weaknesses in terms of written communication. Please provide suggestions for improvement and examples to help the student understand how to make the writing better. The feedback should be specific and provide actionable steps that the student can take to improve their writing skills. Please include at least three examples of areas that could be improved and specific suggestions for how to improve them, such as correcting grammar errors, restructuring sentences, or improving the use of punctuation.";
break;
}
const requestData = {
prompt: previousPrompts.join("\n") + promptText + "\n" + prompt,
max_tokens: 400,
model: "text-davinci-003",
n: 1,
stop: "",
temperature: 0.5,
top_p: 0.0,
frequency_penalty: 0.0,
presence_penalty: 0
};
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKey}`,
},
body: JSON.stringify(requestData),
};
fetch(endpoint, requestOptions)
.then(response => response.json())
.then(data => {
const reply = data.choices[0].text;
// Add the user message to the chat history
const userMessage = `<div class="message-container">
<div class="username">${userName}: </div>
<div class="user-message">${prompt}</div>
</div>`;
document.getElementById("output").innerHTML += userMessage;
const chatbotMessage = `<div class="message-container">
<div class="username">${chatbotName}: </div>
<div class="chatbot-message" style="white-space: pre-wrap">${reply}<i class="bi bi-clipboard-check copy-button" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Copy to clipboard" data-text="${reply}" style="cursor: pointer;"></i></div>
</div>`;
document.getElementById("output").innerHTML += chatbotMessage;
// Add an event listener to each "Copy to Clipboard" button
document.addEventListener("click", function(event) {
if (event.target.classList.contains("copy-button")) {
const textToCopy = event.target.dataset.text;
navigator.clipboard.writeText(textToCopy);
}
});
// Scroll to the bottom of the chat history
document.getElementById("output").scrollTop = document.getElementById("output").scrollHeight;
// Clear the user input field
document.getElementById("prompt").value = "";
previousPrompts.push(prompt);
// Clear the spinner and show the "Send" button again
document.getElementById("send-button").innerHTML = 'Send';
})
.catch(error => {
console.error(error);
// Hide the spinner and show the "Send" button again
document.getElementById("send-button").innerHTML = 'Send';
});
});
document.getElementById("prompt").addEventListener("keydown", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("send-button").
click();
}
});
</script>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
</body>
</html>
我已阅读https://openai.com/blog/introducing-chatgpt-and-whisper-apis并提到这个 - OpenAI ChatGPT (gpt-3.5-turbo) API: How to access the message content?但仍然无法使其工作。
我尝试将 requestData 更改为此,但没有成功:
const requestData = {
model: "gpt-3.5-turbo",
messages: [
{ role: "user", content: prompt }
],
max_tokens: 400,
temperature: 0.5,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0
};
任何帮助将不胜感激!
最佳答案
更好地检查您的 requestData
对象,GPT 3.5 Turbo 不需要这些 Prop
max_tokens,temperature,top_p: 1,frequency_penalty,presence_penalty
我也犯了同样的错误,GPT 3.5 Turbo 比我想象的更容易使用。这是 OpenAI 示例:
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [{role: "user", content: "Hello world"}],
});
console.log(completion.data.choices[0].message);
关于php - OpenAI 将 API 代码从 GPT-3 转换为 chatGPT-3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75640144/
我已经为此奋斗了几个小时。显然,我不是专家,但我已经做到了这一点 - api 设置,在前端运行,当我输入聊天提示时,它会出现错误,并且gunicorn 返回大长错误。 这是我的 ai_chat.py
我已经为此奋斗了几个小时。显然,我不是专家,但我已经做到了这一点 - api 设置,在前端运行,当我输入聊天提示时,它会出现错误,并且gunicorn 返回大长错误。 这是我的 ai_chat.py
尝试调用刚刚为 ChatGPT 发布的 got-3.5-turbo API,但收到错误请求错误? var body = new {
尝试调用刚刚为 ChatGPT 发布的 got-3.5-turbo API,但收到错误请求错误? var body = new {
最近我必须找到一种方法来区分虚拟机使用的分区类型,从虚拟磁盘读取原始数据我能够通过检查偏移量 1C2(GPT 的 EE)找到它,以防万一MBR 磁盘如果磁盘是动态的,1C2 的偏移量有 42,如果是基
我有一个 Android 应用程序,目前正在使用 chat gpt 3.0 进行补全,并且工作正常。现在,在他们发布 chat gpt 3.5 Turbo 后,我根据他们的请求示例做了一些更改,但抛出
我有一个 Android 应用程序,目前正在使用 chat gpt 3.0 进行补全,并且工作正常。现在,在他们发布 chat gpt 3.5 Turbo 后,我根据他们的请求示例做了一些更改,但抛出
创建微调模型后,如何在/v1/chat/completions 中使用它?我们尝试了这个,但出现了错误 curl --location 'https://api.openai.com/v1/chat/
我收到以下错误: [3067] NetworkUtility.shouldRetryException: Unexpected response code400 for https://api.ope
我收到以下错误: [3067] NetworkUtility.shouldRetryException: Unexpected response code400 for https://api.ope
创建微调模型后,如何在/v1/chat/completions 中使用它?我们尝试了这个,但出现了错误 curl --location 'https://api.openai.com/v1/chat/
我正在围绕 GPT-3 构建一个应用程序,我想知道我发出的每个请求使用了多少 token 。这可能吗?如何实现? 最佳答案 OPEN-AI 通过代币对 GPT-3 的使用进行收费,这包括提示和答案。对
kapt 和有什么区别和 implementation在 Gradle 中声明依赖项时以及何时应该在另一个上使用一个? 例子: //Room Components implementation "an
所以我在我的 React 应用程序中实现了 chat gpt 3.5 Turbo API。所以我的应用程序基本上就像招聘人员的助手。因此,招聘人员向应用程序提供了一个示例职位帖子,并将该帖子发送到聊天
所以我在我的 React 应用程序中实现了 chat gpt 3.5 Turbo API。所以我的应用程序基本上就像招聘人员的助手。因此,招聘人员向应用程序提供了一个示例职位帖子,并将该帖子发送到聊天
我有最新版本的 OpenAi,但缺少某些属性。我试过重新安装它,没有解决它。 GPT 和 Chat 是我发现还不能用的。 切记,我是 python 的新手并且具有该语言的基本知识。代码取自GitHub
我有最新版本的 OpenAi,但缺少某些属性。我试过重新安装它,没有解决它。 GPT 和 Chat 是我发现还不能用的。 切记,我是 python 的新手并且具有该语言的基本知识。代码取自GitHub
我使用的是 gpt-4-0613 模型,具有单个函数,并在系统提示符中包含一些自定义数据。 如果该函数在聊天中很早就被触发,在前两个请求内,它的功能就很好,并且 API 会要求用户提供调用该函数所需的
我使用的是 gpt-4-0613 模型,具有单个函数,并在系统提示符中包含一些自定义数据。 如果该函数在聊天中很早就被触发,在前两个请求内,它的功能就很好,并且 API 会要求用户提供调用该函数所需的
OpenAI 现在允许我们微调 GPT-3.5 模型。我已经使用自己的数据集测试和微调了模型,但问题是微调模型随机生成答案,而不是根据我的自定义数据集正确生成答案。 有什么方法可以让模型仅根据我自己的
我是一名优秀的程序员,十分优秀!