前阵子我在咖啡厅写代码,隔壁桌俩程序员聊得火热。一个说:"我们公司刚接了个活儿,客户要求所有数据处理必须在本地完成,不上云。"另一个问:"那AI咋搞?调用OpenAI API不就违规了吗?"第一个人神秘一笑:“上Ollama啊,笔记本都能跑。”

这段对话挺有意思。过去咱们玩AI,第一反应是找API Key,现在风向变了——数据不出域、模型本地跑成了刚需。不管是金融行业的合规要求,还是个人隐私的考量,亦或是单纯的"我就不想联网",本地部署大模型已经从极客玩具变成了生产工具。

但问题来了:网上一搜本地部署,满屏的Python脚本、Conda环境、CUDA版本地狱,看得.NET开发者直摇头。咱就想用熟悉的C#写个控制台程序,调个模型聊聊天,咋就这么难?

今天这篇就教你一套纯C#方案:Ollama负责本地跑模型,Semantic Kernel当"交通指挥员",全程无需Python环境,Windows、macOS、Linux通吃。

第一部分:先搞懂这俩"神器"是干嘛的

1.1 Ollama:你的本地模型"应用商店"

想象一下,如果Docker是专门用来装各种模型的,那就是Ollama。它是个开源工具(MIT许可证),干的事儿很简单:把大模型打包成标准化容器,一键下载,一键运行。

你不需要懂什么GGUF格式、量化位数、CUDA配置,就一条命令:

ollama run llama3.2

啪,一个3B参数的小模型就在你电脑上跑起来了,默认开在localhost:11434端口。

2026年主流可选的模型有哪些?(都是Ollama官方库真实存在的):

  • Llama 3.2(1B/3B):Meta出品,手机都能跑,适合快速原型

  • Llama 3.3(70B):性能对标405B大模型,但需要好显卡

  • Qwen3(0.6B到235B):阿里最新一代,中文理解能力强

  • Phi-4(14B):微软的小钢炮,代码能力惊艳

  • DeepSeek-R1(1.5B到671B):推理能力接近o1的开源模型

  • Gemma 3(2B/4B/12B/27B):Google出品,单GPU友好

1.2 Semantic Kernel:微软出的"AI胶水"

如果说Ollama是发动机,Semantic Kernel(简称SK)就是变速箱。这是微软开源的SDK,专门解决一个问题:怎么让AI模型和你的C#代码无缝协作。

它提供了一套统一的API,不管你后面接的是OpenAI、Azure OpenAI,还是本地的Ollama,前面的代码几乎不用改。就像ADO.NET对不同数据库的统一访问一样,SK就是AI界的"数据库抽象层"。

最新版本是1.54.0,已经内置了Ollama的官方连接器(虽然还在alpha阶段,但功能完整)。

第二部分:环境准备,别急着写代码

2.1 安装Ollama(这一步必须做)

去官网下载对应系统的安装包,Windows用户直接双击.exe,macOS用Homebrew:

brew install ollama

装完后,在命令行拉一个轻量级模型试试水。我推荐Qwen3的1.7B版本,中文支持好,4GB内存就能跑:

ollama pull qwen3:1.7b

下载完成后,启动服务:

ollama serve

看到Listening on 127.0.0.1:11434就说明成功了。这时候你可以另开个终端测试:

ollama run qwen3:1.7b

如果能聊天,说明地基打好了。

2.2 硬件配置参考(真实的,不吹牛)

别听网上那些"消费级显卡跑70B模型"的鬼话,我列个实际能跑的配置表:

轻量级:Qwen3:1.7b、Llama 3.2:3b|8GB内存|无(CPU)/4GB(GPU)|文本生成、简单问答

进阶级:Phi-4:14b、Qwen3:14b|16GB内存|8GB+显存|代码生成、复杂推理

旗舰级:Llama 3.3:70b、DeepSeek-R1:32b|64GB内存|24GB+显存|企业级应用

重要提示:如果是Windows用户且没有NVIDIA显卡,Ollama会自动调用CPU运行,速度慢点但能用。苹果M系列芯片原生支持Metal加速,速度反而比同配置Intel快。

第三部分:写代码!三种集成方式任你选

3.1 方式一:纯Semantic Kernel原生(推荐)

这是微软官方支持的路子,NuGet包已经准备好:

dotnet new console -n LocalAI_Demo

cd LocalAI_Demo

dotnet add package Microsoft.SemanticKernel --version 1.54.0

dotnet add package Microsoft.SemanticKernel.Connectors.Ollama --version 1.54.0-alpha

Program.cs(完整可运行):

using Microsoft.SemanticKernel;

using Microsoft.SemanticKernel.ChatCompletion;

using Microsoft.SemanticKernel.Connectors.Ollama;

var builder = Kernel.CreateBuilder();

builder.AddOllamaChatCompletion(

    modelId: "qwen3:1.7b",

    endpoint: new Uri("http://localhost:11434")

);

var kernel = builder.Build();

var chatService = kernel.GetRequiredService
();

var history = new ChatHistory();

history.AddSystemMessage("你是一个专业的.NET技术顾问,回答简洁且幽默。");

Console.WriteLine("本地AI已就绪,开始聊天(输入exit退出):\n");

while (true)

{

    Console.Write("你:");

    var input = Console.ReadLine();

    if (string.IsNullOrWhiteSpace(input) || input.ToLower() == "exit")

        break;

    history.AddUserMessage(input);

    Console.Write("AI:");

    var response = "";

    await foreach (var chunk in chatService.GetStreamingChatMessageContentsAsync(history))

    {

        Console.Write(chunk.Content);

        response += chunk.Content;

    }

    history.AddAssistantMessage(response);

    Console.WriteLine("\n");

}
  1. AddOllamaChatCompletion是SK 1.54版本新增的扩展方法,专门对接Ollama原生API

  2. ChatHistory对象会自动维护多轮对话的上下文,不用你自己拼字符串

  3. GetStreamingChatMessageContentsAsync实现流式输出,大段文字不会卡顿

3.2 方式二:OpenAI兼容模式(灵活度高)

Ollama有个隐藏技能:它同时提供了OpenAI格式的API端点(/v1/chat/completions)。这意味着你可以用SK的OpenAI连接器来访问本地模型:

dotnet add package Microsoft.SemanticKernel.Connectors.OpenAI --version 1.54.0

代码差异点:

builder.AddOpenAIChatCompletion(

    modelId: "llama3.2",

    apiKey: "ollama",

    endpoint: new Uri("http://localhost:11434/v1")

);

这种方式的好处是:如果你的项目之前对接过OpenAI,改个URL就能切到本地模型,零成本迁移。

3.3 方式三:原生OllamaSharp(控制力最强)

如果你想用Ollama的一些高级功能(比如查看本地已下载的模型列表、拉取新模型、查看模型详情),可以用社区维护的OllamaSharp库,这是Ollama官方推荐的.NET SDK。

dotnet add package OllamaSharp --version 5.0.0

列出本地模型示例:

using OllamaSharp;

var client = new OllamaApiClient("http://localhost:11434");

var models = await client.ListLocalModelsAsync();

Console.WriteLine("你电脑里住着这些模型:");

foreach (var model in models)

{

    Console.WriteLine($"- {model.Name} ({model.Size / 1024 / 1024}MB)");

}

await foreach (var status in client.PullModelAsync("phi4:latest"))

{

    Console.Write($"\r下载进度:{status.Percent}%");

}

第四部分:进阶玩法,让本地AI更"聪明"

4.1 加上"外挂":文本嵌入与RAG

本地模型不仅能聊天,还能做检索增强生成(RAG)。比如你有一堆技术文档,想让AI基于这些文档回答问题,而不是瞎编。

第一步:下载嵌入模型

ollama pull nomic-embed-text

这是专门把文字变成向量的模型,占用很小(几百MB)。

第二步:C#代码实现简易RAG

using Microsoft.SemanticKernel.Embeddings;

using Microsoft.SemanticKernel.Connectors.Ollama;

builder.AddOllamaTextEmbeddingGeneration(

    modelId: "nomic-embed-text",

    endpoint: new Uri("http://localhost:11434")

);

var kernel = builder.Build();

var embeddingService = kernel.GetRequiredService
();

var documents = new[]

{

    "Semantic Kernel支持函数调用,可以让AI执行C#方法",

    "Ollama的Windows版本支持GPU加速,需要CUDA 11.8+",

    "Qwen3模型支持128K上下文长度,适合长文档分析"

};

var embeddings = await embeddingService.GenerateEmbeddingsAsync(documents);

Console.WriteLine($"已生成{embeddings.Count}个文档向量,每个维度{embeddings[0].Length}");

有了向量,你就可以做相似度搜索,把最相关的文档片段塞给大模型作为上下文,实现"基于私有数据的问答"。

4.2 函数调用:让AI能操作你的代码

Semantic Kernel最酷的功能是Function Calling——AI可以决定调用你写的C#方法。比如让AI查天气,实际上触发的是你本地写的API。

定义一个可被AI调用的函数:

using System.ComponentModel;

using Microsoft.SemanticKernel;

public class WeatherPlugin

{

    [KernelFunction("get_weather")]

    [Description("获取指定城市的当前天气")]

    public string GetWeather([Description("城市名称,如北京、上海")] string city)

    {

        return $"{city}当前天气:晴天,25℃";

    }

}

注册插件并调用:

builder.Plugins.AddFromType
();

var kernel = builder.Build();

var settings = new OllamaPromptExecutionSettings { ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions };

var result = await chatService.GetChatMessageContentAsync(

    "今天北京天气怎么样?",

    settings,

    kernel

);

Console.WriteLine(result.Content);

注意:不是所有本地模型都支持函数调用。目前实测Qwen3、Llama 3.2/3.3、Phi-4支持得比较好,小模型可能会胡言乱语。

第五部分:踩坑实录与性能调优

5.1 模型下载慢?换镜像源

Ollama默认从官网下载模型,国内速度感人。可以在系统环境变量里设置镜像:

Windows PowerShell

$env:OLLAMA_HOST="0.0.0.0"

$env:OLLAMA_MODELS="D:\OllamaModels"

或者使用社区维护的国内镜像(具体地址请自行搜索可靠的社区镜像站)。

5.2 显存爆了?上量化版

如果你跑14B模型时爆显存,Ollama其实会自动帮你把部分权重放到内存(CPU offload),但速度会变慢。更好的方案是下载量化版:

ollama pull qwen3:14b-q4_K_M

Ollama的模型标签(Tags)里通常包含量化信息,如q4_0(4位量化)、q8_0(8位量化),在官网模型页面能看到详细说明。

5.3 并发性能差?这是正常的

本地模型不像云API那样有集群支持。Ollama默认是单线程处理请求,如果有并发需求,需要:

  • 启动多个Ollama实例(改端口)

  • 或者使用vLLM(更适合高并发,但配置复杂)

对于个人开发或者企业内部工具,单线程通常够用。

结尾:本地AI的未来已来

写完这篇,我特意看了一眼Task Manager——我的笔记本上,Ollama进程正安安静静占用着6GB内存,跑着Qwen3 14B模型。不需要VPN,没有API调用限制,也不需要担心数据泄露。

对于.NET开发者来说,这套技术栈的意义在于:我们终于可以把AI能力真正集成到自己的桌面应用、Windows服务或者ASP.NET Core后端里,而不是永远依赖外部API。

微软的Semantic Kernel团队还在快速迭代,据说下一个稳定版会进一步优化本地模型的Agent能力。而Ollama社区更是热闹,连OpenAI开源的GPT-OSS(20B和120B版本)都已经支持一键下载。

技术的门槛在降低,创意的门槛在升高。现在,打开你的Visual Studio,试试在本地跑起第一个AI应用吧。毕竟,能在断网情况下还稳定运行的AI,才是真正意义上的"个人智能助手"。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2026 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2026 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐