【C#程序员入门AI】环境一键搭建:.NET 8+AI开发环境(Semantic Kernel/ML.NET/ONNX Runtime)配置

文章目录

      • [🚀 开篇唠两句](#🚀 开篇唠两句)
      • 一、先搞懂:我们要搭啥?(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开发)
        • [1. 安装ML.NET NuGet包](#1. 安装ML.NET NuGet包)
        • [2. 可选:安装ML.NET Model Builder(Visual Studio专用)](#2. 可选:安装ML.NET Model Builder(Visual Studio专用))
        • [3. 快速测试:ML.NET Hello World(鸢尾花分类)](#3. 快速测试:ML.NET Hello World(鸢尾花分类))
      • [五、第四步:搭建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最新版)
bash 复制代码
dotnet --version

出现 8.0.x 版本号,说明安装成功!

2. 可选:安装Visual Studio 2022(推荐)

三、第二步:搭建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图像分类

创建 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
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环境避坑指南(少走弯路)

  1. 版本统一:所有NuGet包尽量用最新稳定版,避免版本冲突
  2. 路径问题:模型、数据文件放在项目根目录,或用绝对路径
  3. 权限问题:Windows下用管理员身份运行终端,避免安装失败
  4. 网络问题:国内安装NuGet包慢,可配置镜像(https://nuget.cdn.azure.cn/v3/index.json)
  5. 本地模型 :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?

环境搭建过程中遇到啥问题了?

评论区留言,我帮你解决!


相关推荐
shangjian0071 小时前
AI大模型-深度学习-卷积神经网络-残差网络
人工智能·深度学习·cnn
哈哈哈也不行吗1 小时前
回归数学教学的本源:大角几何Beta版如何重塑函数可视化教学
人工智能·在线工具·大角几何·动态数学
飞睿科技1 小时前
解析ESP-SparkBot开源大模型AI桌面机器人的ESP32-S3核心方案
人工智能·嵌入式硬件·物联网·机器人·esp32·乐鑫科技·ai交互
线束线缆组件品替网1 小时前
服务器高速互连测试中的 CableMAX 高速线缆实践
运维·服务器·人工智能·自动化·硬件工程·材料工程
2501_948120152 小时前
语音识别在儿科医疗语音交互中的应用
人工智能·交互·语音识别
应用市场2 小时前
CNN池化层深度解析:从原理到PyTorch实现
人工智能·pytorch·python
星爷AG I2 小时前
9-4 大小知觉(AGI基础理论)
人工智能·agi
User_芊芊君子2 小时前
听歌不再只存于耳机!MusicCard 解锁音乐分享新方式,cpolar局域网外访问更自由
人工智能·ai·测评
小柔说科技2 小时前
AI销售机器人助理是做什么的?AI销售客服源码系统怎么收费?销冠留不住?
人工智能·ai·软件开发