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

ASP.NET Core集成ChatGPT-4 Vision API:Python转C#方案咨询

解决OpenAI Vision API的C#调用问题

首先确保安装最新版的OpenAI .NET SDK,通过NuGet安装OpenAI包:

Install-Package OpenAI -Version latest

或使用.NET CLI:

dotnet add package OpenAI

以下是对应你Python测试代码的C#实现:

using OpenAI;
using OpenAI.Chat;

var apiKey = "你的API密钥";
var client = new OpenAIClient(apiKey);

var chatMessages = new List<ChatMessage>
{
    new ChatMessage(
        role: ChatRole.User,
        content: new List<ChatMessageContentPart>
        {
            new TextContentPart("Does this image show a Fender Stratocaster Electric Guitar? Respond with yes or no."),
            new ImageUrlContentPart(new Uri("https://toneshapers.com/cdn/shop/files/Les-Paul-Standard-Front.jpg"))
        }
    )
};

var chatCompletionOptions = new ChatCompletionOptions
{
    Model = "gpt-4-vision-preview",
    MaxTokens = 300
};

var response = await client.ChatCompletions.CreateAsync(chatMessages, chatCompletionOptions);

Console.WriteLine(response.Choices[0].Message.Content);

关键说明:

  • 新版本OpenAI .NET SDK中,聊天补全功能通过OpenAIClient.ChatCompletions.CreateAsync方法调用,而非直接的chat.completions属性,这是你之前找不到对应选项的核心原因。
  • 多模态消息(文本+图片)需要用ChatMessageContentPart的子类拆分处理:TextContentPart对应文本内容,ImageUrlContentPart对应图片URL内容。
  • 必须使用支持视觉能力的模型(如gpt-4-vision-preview),同时确保你的API密钥拥有该模型的调用权限。

若使用Azure OpenAI服务,仅需替换为Azure.AI.OpenAI包并调整客户端初始化逻辑,核心的消息构造与调用逻辑保持一致。

内容的提问来源于stack exchange,提问作者Tim Eggenberger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:22:17