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

是否有官方OpenAI NuGet包?VS控制台项目API调用相关咨询

关于在Visual Studio控制台项目中使用OpenAI API的问题解答

一、官方NuGet包情况

你听说的“OpenAI未发布官方NuGet包”并不属实,OpenAI官方已经推出了针对.NET平台的正式NuGet包,包名为OpenAI。你可以通过以下方式安装:

  • 在Visual Studio的NuGet包管理器中搜索OpenAI,选择官方发布的包(发布者为OpenAI)进行安装
  • 使用Package Manager Console执行命令:
    Install-Package OpenAI
    
  • 使用.NET CLI执行命令:
    dotnet add package OpenAI
    

二、快速测试API的方式

方式1:使用官方NuGet包(推荐)

安装完成后,可通过以下简单代码在控制台项目中调用API:

using OpenAI;
using OpenAI.Chat;

// 建议通过环境变量或配置文件管理API密钥,避免硬编码
var apiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY");
var client = new OpenAIClient(apiKey);

var chatRequest = new ChatCompletionCreateRequest
{
    Messages = new List<ChatMessage>
    {
        new ChatMessage(ChatRole.User, "请用一句话介绍OpenAI API")
    },
    Model = "gpt-3.5-turbo"
};

var response = await client.ChatEndpoint.CreateCompletionAsync(chatRequest);
foreach (var choice in response.Choices)
{
    Console.WriteLine("AI回复:");
    Console.WriteLine(choice.Message.Content);
}

方式2:手动发送HTTP请求(无需NuGet包)

如果不想依赖官方包,可直接使用HttpClient发送HTTP请求调用API,示例代码如下:

using System.Net.Http;
using System.Text;
using System.Text.Json;

// 同样建议通过环境变量获取API密钥
var apiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY");
var requestUrl = "https://api.openai.com/v1/chat/completions";

// 构造请求体
var requestBody = new
{
    model = "gpt-3.5-turbo",
    messages = new[]
    {
        new { role = "user", content = "请用一句话介绍OpenAI API" }
    }
};

var jsonContent = JsonSerializer.Serialize(requestBody);
var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");

using var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");

var response = await httpClient.PostAsync(requestUrl, content);
response.EnsureSuccessStatusCode();

var responseJson = await response.Content.ReadAsStringAsync();
var resultDoc = JsonDocument.Parse(responseJson);
var aiReply = resultDoc.RootElement
    .GetProperty("choices")[0]
    .GetProperty("message")
    .GetProperty("content")
    .GetString();

Console.WriteLine("AI回复:");
Console.WriteLine(aiReply);

注意事项

  • 务必妥善保管你的OpenAI API密钥,不要将其硬编码到代码中或提交到版本控制系统,建议使用环境变量、配置文件等方式管理
  • 确保你的API账户有可用额度,避免因额度不足导致请求失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:25:36