文章目录
-
-
- [🚀 开篇唠两句](#🚀 开篇唠两句)
- 一、先搞懂:我们要搭啥?(2026最新版)
- [二、第一步:安装.NET 8 SDK(地基先打好)](#二、第一步:安装.NET 8 SDK(地基先打好))
-
- [1. 下载安装(2026最新版)](#1. 下载安装(2026最新版))
- [2. 可选:安装Visual Studio 2022(推荐)](#2. 可选:安装Visual Studio 2022(推荐))
- [三、第二步:搭建Semantic Kernel环境(LLM开发核心)](#三、第二步:搭建Semantic Kernel环境(LLM开发核心))
-
- [1. 创建SK项目(控制台版,最简单)](#1. 创建SK项目(控制台版,最简单))
- [2. 安装OpenAI .NET SDK(调用云端大模型)](#2. 安装OpenAI .NET SDK(调用云端大模型))
- [3. 安装向量库SDK(RAG必备)](#3. 安装向量库SDK(RAG必备))
- [4. 快速测试:10行代码调用GPT-4o](#4. 快速测试:10行代码调用GPT-4o)
- 四、第三步:搭建ML.NET环境(传统ML开发)
- [五、第四步:搭建ONNX Runtime环境(本地模型部署)](#五、第四步:搭建ONNX Runtime环境(本地模型部署))
-
- [1. 安装ONNX Runtime NuGet包](#1. 安装ONNX Runtime NuGet包)
- [2. 快速测试:运行ResNet50图像分类](#2. 快速测试:运行ResNet50图像分类)
- 六、第五步:可选安装Ollama(本地大模型神器)
-
- [1. 下载安装Ollama](#1. 下载安装Ollama)
- [2. 运行本地大模型(Llama 3.2)](#2. 运行本地大模型(Llama 3.2))
- 3. C#调用Ollama(用SK)
- [七、2026年C# AI环境避坑指南(少走弯路)](# AI环境避坑指南(少走弯路))
- [🎯 结尾总结](#🎯 结尾总结)
- [💬 互动一下](#💬 互动一下)
-
目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步。想要系统学习AI知识的朋友可以看看我的教程http://blog.csdn.net/jiangjunshow,教程通俗易懂,风趣幽默,从深度学习基础原理到各领域实战应用都有讲解。
🚀 开篇唠两句
各位C#老铁,上一篇我们画好了2026年C# AI的路线图,今天直接开干------环境一键搭建!
C# AI环境搭建主打一个简单、干净、一步到位。这篇用大白话+复制粘贴级命令,带你把.NET 8 + Semantic Kernel + ML.NET + ONNX Runtime 全套AI开发环境搭好,10分钟搞定,直接开写AI代码!
一、先搞懂:我们要搭啥?(2026最新版)
一句话:一套能跑LLM、传统ML、本地模型的C# AI全能环境 。
核心三件套(必装):
- .NET 8 SDK:地基,所有C# AI开发的基础
- Semantic Kernel (SK):大模型调度神器,管LLM、RAG、Agent
- ML.NET:C#原生机器学习库,做分类、回归、异常检测
- ONNX Runtime:本地模型运行时,跑Llama、ResNet等预训练模型
- Ollama(可选):本地大模型管理器,一键跑Llama 3.2、Phi-4
二、第一步:安装.NET 8 SDK(地基先打好)
1. 下载安装(2026最新版)
- 官网下载:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
- 选择对应系统(Windows/macOS/Linux),一路下一步即可
- 验证安装:打开终端/CMD,输入
bash
dotnet --version
出现 8.0.x 版本号,说明安装成功!
2. 可选:安装Visual Studio 2022(推荐)
- 下载:https://visualstudio.microsoft.com/zh-hans/vs/
- 安装时勾选 .NET桌面开发 、ASP.NET和Web开发 、数据存储和处理
- 好处:自带ML.NET Model Builder可视化工具,调试AI代码更方便
三、第二步:搭建Semantic Kernel环境(LLM开发核心)
1. 创建SK项目(控制台版,最简单)
打开终端,依次输入:
bash
# 创建控制台项目
dotnet new console -n CSharpAI_Demo
cd CSharpAI_Demo
# 安装Semantic Kernel最新版(2026稳定版)
dotnet add package Microsoft.SemanticKernel --version 1.15.0
2. 安装OpenAI .NET SDK(调用云端大模型)
bash
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.14
3. 安装向量库SDK(RAG必备)
bash
# Chroma(轻量本地向量库)
dotnet add package Microsoft.SemanticKernel.Connectors.Chroma --version 1.15.0
# Pinecone(云端向量库,可选)
dotnet add package Microsoft.SemanticKernel.Connectors.Pinecone --version 1.15.0
4. 快速测试:10行代码调用GPT-4o
打开 Program.cs,替换为以下代码(记得替换API Key):
csharp
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;
// 1. 构建Kernel
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
"gpt-4o", // 部署名
"https://xxx.openai.azure.com/", // 终结点
"你的API Key" // 替换为你的Azure OpenAI Key
);
var kernel = builder.Build();
// 2. 获取聊天服务
var chat = kernel.GetRequiredService<IChatCompletionService>();
var history = new ChatHistory();
history.AddUserMessage("用C#写一个Hello AI程序,2026最新版");
// 3. 调用AI并输出结果
var response = await chat.GetChatMessageContentAsync(history);
Console.WriteLine("AI回复:" + response.Content);
运行:
bash
dotnet run
看到AI回复,说明SK环境搭建成功!
四、第三步:搭建ML.NET环境(传统ML开发)
1. 安装ML.NET NuGet包
bash
# 回到项目目录
cd CSharpAI_Demo
# 安装ML.NET核心包
dotnet add package Microsoft.ML --version 3.0.1
# 安装ML.NET自动训练工具(可选,可视化)
dotnet add package Microsoft.ML.AutoML --version 0.21.0
2. 可选:安装ML.NET Model Builder(Visual Studio专用)
- 打开Visual Studio → 扩展 → 管理扩展 → 搜索 ML.NET Model Builder → 安装
- 重启VS后,右键项目 → 添加 → 机器学习,即可可视化训练模型
3. 快速测试:ML.NET Hello World(鸢尾花分类)
创建 IrisData.cs:
csharp
public class IrisData
{
[LoadColumn(0)] public float SepalLength;
[LoadColumn(1)] public float SepalWidth;
[LoadColumn(2)] public float PetalLength;
[LoadColumn(3)] public float PetalWidth;
[LoadColumn(4)] public string Label;
}
public class IrisPrediction
{
[ColumnName("PredictedLabel")] public string PredictedSpecies;
}
修改 Program.cs:
csharp
using Microsoft.ML;
// 1. 创建ML上下文
var mlContext = new MLContext();
// 2. 加载数据(下载鸢尾花数据集:https://archive.ics.uci.edu/ml/datasets/iris)
var data = mlContext.Data.LoadFromTextFile<IrisData>("iris.data", separator:',');
// 3. 划分训练集和测试集
var trainTest = mlContext.Data.TrainTestSplit(data, testFraction: 0.2);
// 4. 构建训练管道
var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label")
.Append(mlContext.Transforms.Concatenate("Features", "SepalLength", "SepalWidth", "PetalLength", "PetalWidth"))
.Append(mlContext.MulticlassClassification.Trainers.SdcaMaximumEntropy("Label", "Features"))
.Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel"));
// 5. 训练模型
var model = pipeline.Fit(trainTest.TrainSet);
// 6. 评估模型
var predictions = model.Transform(trainTest.TestSet);
var metrics = mlContext.MulticlassClassification.Evaluate(predictions);
Console.WriteLine($"准确率:{metrics.MacroAccuracy:P2}");
// 7. 预测新数据
var predictor = mlContext.Model.CreatePredictionEngine<IrisData, IrisPrediction>(model);
var newFlower = new IrisData { SepalLength = 5.1f, SepalWidth = 3.5f, PetalLength = 1.4f, PetalWidth = 0.2f };
var prediction = predictor.Predict(newFlower);
Console.WriteLine($"预测品种:{prediction.PredictedSpecies}");
运行:
bash
dotnet run
看到准确率和预测结果,说明ML.NET环境搭建成功!
五、第四步:搭建ONNX Runtime环境(本地模型部署)
1. 安装ONNX Runtime NuGet包
bash
cd CSharpAI_Demo
dotnet add package Microsoft.ML.OnnxRuntime --version 1.17.0
dotnet add package Microsoft.ML.OnnxRuntime.Managed --version 1.17.0
2. 快速测试:运行ResNet50图像分类
- 下载ResNet50 ONNX模型:https://github.com/onnx/models/raw/main/vision/classification/resnet/model/resnet50-v2-7.onnx
- 下载测试图片:https://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Microsoft_.NET_logo.svg/200px-Microsoft_.NET_logo.svg.png
- 将模型和图片放入项目根目录
创建 OnnxImageClassifier.cs:
csharp
using Microsoft.ML.OnnxRuntime;
using Microsoft.ML.OnnxRuntime.Tensors;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
public class OnnxImageClassifier
{
private readonly InferenceSession _session;
private readonly string[] _labels = File.ReadAllLines("imagenet_classes.txt");
public OnnxImageClassifier(string modelPath)
{
_session = new InferenceSession(modelPath);
}
public string ClassifyImage(string imagePath)
{
// 1. 加载并预处理图片
using var image = Image.Load<Rgb24>(imagePath);
image.Mutate(x => x.Resize(224, 224));
var tensor = new DenseTensor<float>(new[] { 1, 3, 224, 224 });
for (int y = 0; y < 224; y++)
{
for (int x = 0; x < 224; x++)
{
var pixel = image[x, y];
tensor[0, 0, y, x] = (pixel.R / 255f - 0.485f) / 0.229f;
tensor[0, 1, y, x] = (pixel.G / 255f - 0.456f) / 0.224f;
tensor[0, 2, y, x] = (pixel.B / 255f - 0.406f) / 0.225f;
}
}
// 2. 运行推理
var inputs = new List<NamedOnnxValue> { NamedOnnxValue.CreateFromTensor("input", tensor) };
using var results = _session.Run(inputs);
var output = results.First().AsTensor<float>();
// 3. 获取预测结果
var maxIndex = output.ToArray().AsSpan().IndexOf(output.ToArray().Max());
return _labels[maxIndex];
}
}
修改 Program.cs:
csharp
var classifier = new OnnxImageClassifier("resnet50-v2-7.onnx");
var result = classifier.ClassifyImage("dotnet_logo.png");
Console.WriteLine($"图片分类结果:{result}");
安装ImageSharp:
bash
dotnet add package SixLabors.ImageSharp --version 2.1.3
运行:
bash
dotnet run
看到分类结果,说明ONNX Runtime环境搭建成功!
六、第五步:可选安装Ollama(本地大模型神器)
1. 下载安装Ollama
- 官网:https://ollama.com/
- 一键安装,支持Windows/macOS/Linux
2. 运行本地大模型(Llama 3.2)
bash
ollama run llama3.2
3. C#调用Ollama(用SK)
bash
dotnet add package Microsoft.SemanticKernel.Connectors.Ollama --version 1.15.0
修改SK测试代码:
csharp
builder.AddOllamaChatCompletion("llama3.2", new Uri("http://localhost:11434"));
运行,即可调用本地Llama 3.2,无需云端API!
七、2026年C# AI环境避坑指南(少走弯路)
- 版本统一:所有NuGet包尽量用最新稳定版,避免版本冲突
- 路径问题:模型、数据文件放在项目根目录,或用绝对路径
- 权限问题:Windows下用管理员身份运行终端,避免安装失败
- 网络问题:国内安装NuGet包慢,可配置镜像(https://nuget.cdn.azure.cn/v3/index.json)
- 本地模型 :Ollama默认存C盘,可修改环境变量
OLLAMA_MODELS到其他盘
🎯 结尾总结
2026年C# AI环境搭建,真的很简单!
- .NET 8:地基,10分钟装好
- Semantic Kernel:LLM调度,1行命令安装
- ML.NET:传统ML,原生支持,无需Python
- ONNX Runtime:本地模型,一键运行
- Ollama:本地大模型,隐私友好,免费好用
跟着这篇文章,复制粘贴命令,10分钟搞定全套环境,直接进入AI开发实战!
💬 互动一下
你用的是Windows/macOS/Linux?
环境搭建过程中遇到啥问题了?
评论区留言,我帮你解决!
