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
相关产品推荐
相关产品推荐

