我正在尝试使用 Open ai 的 gpt-4-turbo 模型来生成图像到文本的描述 但我面临这个问题 - BadRequestError: 400 Invalid content type。 image_url 仅受某些型号支持。
app.post('/analyze-image', cors(corsOptions), async (req, res) => {
try {
const { image } = req.body;
const base64Image = await convertBufferToBase64(image);
// Pass base64Image to OpenAI API
const response = await openai.chat.completions.create({
model: "gpt-4-turbo",
messages: [
{
role: "user",
content: [
{ type: "text", text: "What's in this image?" },
{ type: "image_url", url: `data:image/jpeg;base64,${base64Image}` },
],
},
],
});
res.json(response.choices[0]);
} catch (error) {
console.error(error);
res.status(500).send('Error analyzing image');
}
});
即使我尝试使用网址,但该网址也出现同样的错误 如何解决这个问题?
发生这种情况是因为
GPT-4 turbo
模型不支持图像处理。如果您想将 GPT-4 与图像一起使用,请使用 GPT-4 Vision。
编辑后的代码:
app.post('/analyze-image', cors(corsOptions), async (req, res) => {
try {
const { image } = req.body;
const base64Image = await convertBufferToBase64(image);
// Pass base64Image to OpenAI API
const response = await openai.chat.completions.create({
model: "gpt-4-vision-preview",
messages: [
{
role: "user",
content: [
{ type: "text", text: "What's in this image?" },
{ type: "image_url", url: `data:image/jpeg;base64,${base64Image}` },
],
},
],
});
res.json(response.choices[0]);
} catch (error) {
console.error(error);
res.status(500).send('Error analyzing image');
}
});
注意:我没有测试代码,但它应该可以工作。