提到大模型开发,很多人第一反应就是 Python,但对于深耕 .NET 生态的开发者来说,完全没必要为了做 AI 应用切换技术栈!
C# 凭借强类型、高性能、原生对接 Windows 生态的优势,搭配简洁的 HTTP 请求、官方 / 社区 SDK,就能轻松对接通义千问、文心一言、GPT、DeepSeek 等主流大模型,快速开发桌面端、Web 端、服务端 AI 应用。
🌈今天就用纯 C# 代码,从零带你实现大模型对接,包含基础对话、流式输出两大核心场景,开箱即用!
⭐️本文相关《学习资料》及项目实战在最下面,可直接得 ↓↓↓
一、核心思路:C# 对接大模型的原理
所有大模型都提供标准 HTTP API 接口,C# 只需要做 3 件事:
- 构造请求参数(API Key、模型名称、对话内容);
无需复杂依赖,.NET 自带的 HttpClient 就能搞定,新手也能快速上手。
二、环境准备(1 分钟完成)
- 开发工具:Visual Studio 2022 / Rider / VS Code(.NET 6+ 即可);
- 创建项目:控制台应用 /ASP.NET Core 均可(本文以控制台应用为例);
- 必备包:
System.Text.Json(.NET 自带,无需安装); - 关键信息:申请任意大模型的 API Key 和 接口地址(以通义千问为例)。
三、场景 1:基础对话(非流式)
最常用的基础功能:发送问题,等待大模型返回完整回答。
完整代码
using System.Text;using System.Text.Json;// 大模型配置(替换成你的 API Key 和接口地址)const string apiKey = "你的大模型 API Key";const string apiUrl = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation";const string modelName = "qwen-turbo"; // 模型名称// 1. 构造对话请求参数var request = new{ model = modelName, input = new { messages = new[] { new { role = "user", content = "用 C# 写一个简单的 Hello World 代码" } // 你的问题 } }, parameters = new { temperature = 0.7 } // 随机性参数,0~1 之间};// 2. 发送 HTTP 请求using var client = new HttpClient();client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");var jsonRequest = JsonSerializer.Serialize(request);var content = new StringContent(jsonRequest, Encoding.UTF8, "application/json");var response = await client.PostAsync(apiUrl, content);response.EnsureSuccessStatusCode(); // 抛出请求异常// 3. 解析返回结果var jsonResponse = await response.Content.ReadAsStringAsync();using var doc = JsonDocument.Parse(jsonResponse);var aiReply = doc.RootElement .GetProperty("output") .GetProperty("text") .GetString();// 输出结果Console.WriteLine("🤖 AI 回复:");Console.WriteLine(aiReply);
代码说明
- 配置替换:把 apiKey、apiUrl、modelName 换成你使用的大模型信息;
- 请求结构:严格遵循大模型官方的入参格式(不同模型仅字段名略有差异);
- 参数解释:temperature 控制回答随机性,值越小越精准,值越大越创意。
四、场景 2:流式输出(逐字打印)
进阶必备功能:像 ChatGPT 一样逐字输出回答,提升用户体验,适合桌面应用、Web 界面。
完整代码
using System.Text;using System.Text.Json;// 大模型配置const string apiKey = "你的大模型 API Key";const string apiUrl = "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation";const string modelName = "qwen-turbo";// 1. 构造流式请求参数(新增 stream: true)var request = new{ model = modelName, input = new { messages = new[] { new { role = "user", content = "介绍一下 C# 对接大模型的优势" } } }, parameters = new { temperature = 0.7, stream = true } // 开启流式输出};// 2. 发送流式请求using var client = new HttpClient();client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");var jsonRequest = JsonSerializer.Serialize(request);var content = new StringContent(jsonRequest, Encoding.UTF8, "application/json");using var response = await client.PostAsync(apiUrl, content, HttpCompletionOption.ResponseHeadersRead);response.EnsureSuccessStatusCode();// 3. 逐行解析流式结果using var stream = await response.Content.ReadAsStreamAsync();using var reader = new StreamReader(stream);Console.WriteLine("🤖 AI 流式回复:");while (!reader.EndOfStream){ var line = await reader.ReadLineAsync(); if (string.IsNullOrWhiteSpace(line) || !line.StartsWith("data:")) continue; // 提取 JSON 数据 var json = line["data:".Length..]; using var doc = JsonDocument.Parse(json); // 提取逐字回复内容 if (doc.RootElement.TryGetProperty("output", out var output) && output.TryGetProperty("text", out var text)) { Console.Write(text.GetString()); }}
核心亮点
- 代码结构和基础对话几乎一致,仅增加
stream: true 和流式解析逻辑;
五、通用适配:对接其他大模型
只需要修改 3 个配置项,上述代码就能无缝对接任意大模型:
| | | |
|---|
| | https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation | qwen-turbo |
| | https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-lite-8k | ernie-lite-8k |
| | https://api.deepseek.com/chat/completions | deepseek-chat |
| | https://api.openai.com/v1/chat/completions | gpt-3.5-turbo |
小提示:不同模型的入参字段名略有不同(比如 GPT 用 messages 直接传参),对照官方文档微调即可,核心逻辑完全不变。六、C# 做 AI 应用的 3 大优势
- 全栈无缝衔接:不用跨语言,直接在 WPF/WinForms/ASP.NET Core 项目中集成 AI;
- 性能更稳定:C# 强类型校验,减少运行时错误,服务端长期运行更可靠;
- Windows 原生适配:开发桌面 AI 工具(如 AI 助手、文档总结工具),C# 是最优解。
七、避坑
- API Key 安全:不要硬编码在代码中,推荐用配置文件 / 环境变量存储;
- 请求异常:添加 try-catch捕获网络错误、密钥错误、额度不足等问题;
- 模型限流:免费模型有调用频率限制,正式项目建议升级付费版。
总结
不用 Python,C# 一样能轻松玩转大模型!
从基础对话到流式输出,一套代码适配所有主流大模型,.NET 开发者可以直接在现有项目中快速落地 AI 功能,真正做到「开箱即用」。
后续还能基于这套代码扩展:AI 文档总结、代码生成、智能客服、多轮对话等高级功能,让你的 C# 应用直接拥有 AI 能力!
【最后福利】关注回复‘’888‘’得最新最细相关项目实战资料:↓↓↓
--- 👇 技术交流/视频+课件源码/C#&上位机面试题库👇---
欢迎扫码添加,备注【888】
微信YDT2308