一、方案概述
在企业级应用中,数据安全与合规要求往往不允许调用公有云大模型 API。基于 .NET 技术栈搭建私有化 AI 后端服务,可实现大模型完全本地化运行,数据不出内网,同时具备灵活的扩展能力与可控的成本。
本文采用 ASP.NET Core Web API + Semantic Kernel + Ollama 的技术路线,提供一套完整的私有化 AI 服务落地方案。
二、环境准备
1. 安装 Ollama 本地运行时
Ollama 是封装了 llama.cpp 的模型运行工具,支持一键拉取并运行各类开源大模型。
2. 创建 .NET 项目

三、核心架构设计
服务采用分层架构,自上而下分为:
-
API 层:RESTful 接口,提供对话、补全、Embedding 等能力
-
Kernel 层:Semantic Kernel 编排,管理 Prompt、插件、记忆
-
模型接入层:通过 Ollama HTTP API 对接本地大模型
-
基础设施层:配置管理、日志、缓存、向量存储
四、完整源码实现
1. 配置文件 appsettings.json

2. 配置选项类

3. Semantic Kernel 服务注册

4. 对话服务接口与实现


5. Web API 控制器

6. Program.cs 入口

五、向量检索增强(RAG)扩展
1. 添加向量存储支持

2. 知识库检索服务

六、部署与运行
1. 本地启动

访问 https://localhost:5001/swagger 即可在线调试接口。
2. Docker 容器化部署

3. 性能优化建议
-
模型量化:优先使用 Q4_K_M 量化版本,内存占用降低 70%+
-
硬件加速:配置 Ollama 启用 GPU 加速(NVIDIA CUDA / Apple Metal)
-
并发控制:设置请求队列与限流,避免模型过载
-
缓存策略:对高频问题启用语义缓存,降低推理成本
七、扩展能力
-
多轮会话:接入 Redis 存储 ChatHistory,支持会话上下文
-
函数调用:通过 Semantic Kernel 插件调用本地业务 API
-
多模型路由:根据业务场景自动切换不同规格模型
-
监控埋点:集成 OpenTelemetry 全链路追踪推理耗时与 Token 消耗
-
权限管控:对接企业 SSO,实现细粒度 API 鉴权