@azure/openai与OpenAI API是否支持图像交互功能的技术咨询
关于OpenAI/Azure OpenAI API支持图片提问的说明
API层面支持图片输入提问,但并非通过普通文本版的ChatCompletion调用方式,而是需要使用带视觉能力的模型,并在请求中构造包含图片的多模态消息结构。
OpenAI原生API实现方式
- 支持的模型:
gpt-4o、gpt-4-turbo(具备视觉能力的版本)、gpt-4-vision-preview - 调用
ChatCompletion接口时,用户消息的content字段需传入数组,同时包含文本和图片元素。图片可以是公网URL,也可以是Base64编码的本地图片(格式为data:image/[格式];base64,[编码内容])
示例代码:
from openai import OpenAI client = OpenAI(api_key="你的API密钥") response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ {"type": "text", "text": "请描述这张图片的内容"}, {"type": "image_url", "image_url": {"url": "https://example.com/sample-image.jpg"}} ] } ] ) print(response.choices[0].message.content)
Azure OpenAI实现方式
- 需先在Azure平台部署支持视觉的模型(如
gpt-4o、gpt-4-vision-preview) - 调用逻辑与原生API一致,仅客户端初始化需指定Azure专属的端点、密钥和API版本
示例代码:
from openai import AzureOpenAI client = AzureOpenAI( azure_endpoint="你的Azure OpenAI端点", api_key="你的Azure API密钥", api_version="2024-02-01" ) response = client.chat.completions.create( model="你的模型部署名称", messages=[ { "role": "user", "content": [ {"type": "text", "text": "分析这张图片里的关键信息"}, {"type": "image_url", "image_url": {"url": "https://example.com/sample-image.jpg"}} ] } ] ) print(response.choices[0].message.content)
注意事项
- 若仅使用纯文本模型(如
gpt-3.5-turbo),ChatCompletion接口确实只支持文本输入,无法处理图片 - 图片大小、分辨率有一定限制,需符合官方文档的要求
内容的提问来源于stack exchange,提问作者meds
相关产品推荐
相关产品推荐

