我正在做一个chrome扩展,它使用聊天GPT 3.5,并编写了一个简单的提示,使用openai api发送到API,并在控制台中返回一个值。
我有我的代码下面,并不断得到这个错误...
error:
code: null
message: "you must provide a model parameter"
param: null
type: "invalid_request_error"
虽然我有一个模型参数。
// Define the API key
const API_KEY = "API KEY";
// Define the endpoint URL
const endpointUrl = "https://api.openai.com/v1/chat/completions";
// Define the headers
const headers = {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`,
};
// Define the maximum number of completions to return
const maxCompletions = 1;
// Define the prompt to send to the API
const prompt = {
model: "gpt-3.5-turbo",
prompt: "Hello, world!",
temperature: 0.5,
};
// Send a POST request to the endpoint with the prompt and headers
fetch(endpointUrl, {
method: "POST",
headers,
body: JSON.stringify({
prompt,
max_completions: maxCompletions,
}),
})
.then((response) => response.json())
.then((data) => {
// Log the response data to the console
console.log(data);
})
.catch((error) => {
console.error(error);
});
1条答案
按热度按时间rvpgvaaj1#
我使用了你的代码,并经历了同样的错误。我调查了网络请求,发现有效载荷格式错误:
因此,就ChatGPT的API而言,您只发送
prompt
和max_completions
。您请求以这种方式形成的原因是因为您正在将填充有其他对象的对象传递到JSON.stringify()
中。此外,我不确定您从哪里获得
max_completions
属性,因为它不在API文档中,所以我省略了它。以下是您需要做出的改变:另一个问题是,您正在调用create chat completion端点,但发送的属性不正确。您需要发送:
*型号:字符串
*留言:[{role:string,content:字符串
所以,你也需要在这里进行编辑:
干杯!