json 为什么会出现这个错误:POST https://api.openai.com/v1/chat/completions

yzuktlbb  于 2023-05-23  发布在  其他
关注(0)|答案(2)|浏览(764)

下面是我的代码:

export async function getStructuredMessage(messageText) {
    const response = await fetch('https://api.openai.com/v1/chat/completions', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            Authorization: `Bearer ${API_KEY}`,
        },
        body: JSON.stringify({
            messages: [{ role: 'system', content: messageText }],
        }),
    });

    const data = await response.json();
    return data.choices[0].message.content;
}

为什么会出现这个错误:POST https://api.openai.com/v1/chat/completions 400?
这里我使用函数

async function fetchStructuredMessage() {
    const response = await getStructuredMessage(message.text);
    setStructuredMessage(response);
}
qyyhg6bp

qyyhg6bp1#

斯蒂芬·克利里是对的,你需要提供所需的型号。您可以找到here的要求。
你可以改变你的身体:

JSON.stringify({
            model: 'gpt-3.5-turbo',
            messages: [{ role: 'system', content: messageText }],
        })

虽然我不会使用角色'system',但对于单个消息使用'user'。“系统”更多的是指模型的系统消息/指令。

ncgqoxb0

ncgqoxb02#

/v1/chat/completions端点有4个必需的参数,如官方OpenAI documentation所述:

  • model
  • messages
  • role
  • content

您没有提供model参数。
试试这个:

export async function getStructuredMessage(messageText) {
    const response = await fetch('https://api.openai.com/v1/chat/completions', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            Authorization: `Bearer ${API_KEY}`,
        },
        body: JSON.stringify({
            model: 'gpt-3.5-turbo', /* Add this */
            messages: [{ role: 'system', content: messageText }],
        }),
    });

    const data = await response.json();
    return data.choices[0].message.content;
}

相关问题