You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure OpenAI GPT-4 API图片转文本报错问题咨询

Azure OpenAI GPT-4 图片转文本描述实现方案

可行性说明

可以实现图片转文本描述,但前提是你部署的是GPT-4 Turbo with Vision(即GPT-4V)模型,普通的GPT-4文本模型不具备视觉识别能力。

错误原因分析

你当前代码报错是因为使用了错误的请求格式:GPT-4V需要通过messages参数传递对话内容,而非旧版的prompt参数,且图片必须以结构化格式传入,直接在prompt里拼接URL会被识别为无效数据类型。

修正后的代码

import openai

# 配置Azure OpenAI参数
openai.api_type = "azure"
openai.api_version = "2024-02-15-preview"  # 推荐使用较新的API版本
openai.api_base = 'https://xxxxxx.openai.azure.com/'
openai.api_key = "xxxxxxxxxxxxx"

image_url = "https://cdn.repliers.io/IMG-X5925532_9.jpg"

def generate_image_description(image_url):
    response = openai.ChatCompletion.create(
        engine="GPT4v0314",  # 确保该部署名称对应GPT-4V模型
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "What is in this image?"},
                    {"type": "image_url", "image_url": {"url": image_url}}
                ]
            }
        ],
        max_tokens=1024,
        temperature=0.0
    )
    description = response.choices[0].message.content.strip()
    return description

# 调用函数测试
print(generate_image_description(image_url))

关键改动说明

  • 替换prompt参数为messages数组,符合Chat Completion标准交互格式
  • 用户消息的content改为数组结构,同时包含文本指令和图片URL的结构化对象
  • 升级API版本至较新的2024-02-15-preview,避免旧版本的兼容性问题
  • 从response.choices[0].message.content获取返回结果,而非旧版的text字段

内容的提问来源于stack exchange,提问作者Zohaib Ramzan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:30:00