.NET AI 模板
引言
随着人工智能技术的快速发展,AI应用开发已成为开发者必备的技能之一。然而,对于许多.NET开发者来说,如何快速上手AI开发仍然是一个挑战。微软推出的.NET AI模板预览版正是为了解决这一问题而生,为开发者提供了构建智能聊天应用的脚手架和最佳实践指南。
本文将详细介绍如何安装和使用这个模板,探索其核心功能,并通过实际案例展示如何扩展其能力,帮助.NET开发者快速进入AI开发领域。
1. 安装与基本使用
1.1 安装模板
要开始使用.NET AI模板,首先需要在终端中运行以下命令安装模板包:
dotnet new install Microsoft.Extensions.AI.Templates
安装完成后,您可以通过多种方式创建新项目:
- 在Visual Studio中通过"文件 > 新建 > 项目"菜单
- 在Visual Studio Code中使用C# Dev Kit扩展
- 直接在命令行运行:
dotnet new aichatweb
1.2 项目结构概览
该模板生成的项目包含以下关键组件:
- Blazor Web应用:基于现代Web技术构建的聊天界面
- Microsoft.Extensions.AI抽象库:提供与AI模型交互的统一接口
- Microsoft.Extensions.VectorData:处理向量数据的核心组件
- 数据提取与处理服务:位于
/Services/Ingestion/DataIngestor.cs
1.3 快速启动
默认配置使用GitHub Models作为AI提供商和本地向量存储,几乎不需要额外设置即可开始开发。这种设计大大降低了入门门槛,开发者可以立即专注于业务逻辑而非基础设施。

2. 核心功能解析
与自定义数据聊天:该模板允许您创建基于聊天的 UI,与示例 PDF 或您的自定义数据进行交互。
本地与 Azure 集成:支持本地向量存储以进行原型开发,同时也支持 Azure AI Search 以实现更高级的配置。
可自定义的代码:生成的代码包含用于聊天交互、引用追踪和后续建议的 UI 组件,您可以根据需要自定义或移除这些组件。
数据提取:模板包含数据提取、缓存和处理的代码,使您能够处理各种数据源和格式。
3. 开发环境集成
3.1 Visual Studio体验
在VS中创建项目的步骤:
- 通过模板安装后,搜索"AI Chat"
- 选择项目名称和位置
- 配置AI提供商和向量存储
- 开始开发
3.2 VS Code配置
对于VS Code用户需要:
- 安装C# Dev Kit扩展
- 使用".NET: New Project..."命令
- 选择AI聊天模板
- 同样配置提供商和存储选项

3.3 跨平台支持
模板完全支持:
- Windows开发环境
- macOS开发
- Linux开发(需.NET支持)
4. 扩展功能开发
4.1 添加自定义工具
通过Microsoft.Extensions.AI可以轻松扩展功能。例如添加天气查询:
private async Task<string> GetWeather([Description("The city, correctly capitalized")] string city)
{
string[] weatherValues = ["Sunny", "Cloudy", "Rainy", "Snowy", "Balmy", "Bracing"];
return city == "London" ? "Drizzle" : weatherValues[Random.Shared.Next(weatherValues.Length)];
}
然后注册到聊天选项:
chatOptions.Tools =
[
AIFunctionFactory.Create(SearchAsync),
AIFunctionFactory.Create(GetWeather)
];

结论
.NET AI模板预览版为开发者提供了快速进入AI领域的捷径,其核心价值体现在:
- 降低门槛:通过预制模板和默认配置,开发者无需深入了解AI基础设施即可构建智能应用
- 灵活扩展:基于Microsoft.Extensions.AI的架构允许深度定制和功能扩展
- 生产就绪:支持从原型到生产的全流程,特别是与Azure服务的无缝集成
- 现代开发体验:完美融入Visual Studio和VS Code工作流,符合.NET开发者习惯
.NET AI 模板的更多相关文章
- 【AI】Android Pie中引入的AI功能
前言 “无AI,不未来”,绝对不是一句豪情壮语,AI早已进入到了我们生活当中.去年Google发布的Android Pie系统在AI功能方面就做了重大革新,本文就对Google在新系统中引入的AI功能 ...
- AI开发利器:HiLens Studio技术解读
摘要:传统的AI应用开发和部署意味着高成本和高门槛,借助HiLens Studio,AI应用开发和部署仅需要三步. 曾几何时, 在我们青春年少时, 当我们看到某篇AI的技术文章时, 心中总不免想要在一 ...
- PLC_SIM 出现I/O访问错误-技术论坛-工业支持中心-西门子中国
PLC_SIM 作为SIEMENS S7-300/400 系列PLC 的仿真软件,在使用时需要有些注意事项,毕竟任何的仿真软件和真正的设备还是有一定差异的,由此而产生的误会经常会令很多客户摸不着头脑, ...
- 【转】iOS 7免费设计资源汇总
原文链接:http://mobile.51cto.com/hot-406317.htm#585532-tsina-1-28470-7e393678b940a4d55500bf3feae3d2e9 以下 ...
- Grafana-监控-报警-运维文档
Grafana运维文档 2019/09/23 Chenxin Wuweiwei 参考资料 https://grafana.com/grafana https://blog.52itstyle.vip/ ...
- 一款批量修改AE模板的工具
一.需求分析 对于视频后期剪辑及相关从业人员来说,AE(After Effects)模板效果是一个不错的开始点.在模板效果的基础上,可以很快的做出各种炫酷的后期效果.但是在网上下载的模板工程中,往往包 ...
- MMORPG大型游戏设计与开发(服务器 AI 控制器)
上一篇我们说了基础接口的组成,想必大家对AI中的基础方法有了一定的了解,而基础接口只能一个通用的,要实现不同的类别还需子类中实现,这就形成了玩家.主动.被动.木桩这些类型.不同类型的AI需要有一个统一 ...
- MMORPG大型游戏设计与开发(服务器 AI 概述)
游戏世界中我们拥有许多对象,常见的就是角色自身以及怪物和NPC,我们可以见到怪物和NPC拥有许多的行为,比如说怪物常常见到敌对的玩家就会攻击一样,又如一些NPC来游戏世界中走来走去,又有些怪物和NPC ...
- VBA嘘嘘嘘(1)——将Excel数据填入到已存在的Word模板表格(实例应用)
傻瓜可以写出机器读懂得代码,但写出让人能读懂的代码的是优秀程序员 Sub 填充() Application.ScreenUpdating = False 'ScreenUpdating 是控制你的ex ...
- [AHOI 2009] 维护序列(线段树模板题)
1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小 ...
随机推荐
- C# 计算代码的运行时间
用法 主要通过Stopwatch类来实现... 在开发.调试.测试.分析中非常实用. Stopwatch sw = new Stopwatch(); sw.Start(); // 某些耗时的计算或任务 ...
- Win10怀旧--win7体验
右键菜单变窄(1903以后失效) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\FlightedFeatures Immer ...
- 创建windows脚本bat/cmd或jar为windows服务完整教程
一.将windows bat/cmd脚本创建为windows服务 1.下载winsw工具 https://gitee.com/colinisg/winsw/releases/download/v2 ...
- 第八届机械工程与应用复合材料国际会议(MEACM 2025)
第八届机械工程与应用复合材料国际会议(MEACM 2025) 吉隆坡,马来西亚 2025年8月25-27日 会议简介:2025年第八届机械工程与应用复合材料国际会议(MEACM 2025)将于2025 ...
- DPDI online在线调度系统环境部署
DPDI online简介: DPDI Online 是一款基于Kettle的强大在线任务调度平台,凭借其高效与灵活性,专为调度和监控Kettle客户端生成的ETL任务而设计 DPDI online部 ...
- 面试官:SpringBoot 工程启动以后,希望将数据库中已有的固定内容提前加载到 Redis 缓存中,应该如何处理
这个问题说白了就是希望通过预加载数据,达到提升系统性能和响应速度的效果.像目前在很多场景中都有使用: 电商平台的商品分类信息.用户基础资料:避免高并发时数据库被重复查询,降低响应延迟. 系统参数配置( ...
- 2个小时1.5w字| React & Golang 全栈微服务实战
目录 前言 Golang 入门教程 1. 下载与环境配置 安装 Go Windows 安装 macOS 安装 Linux 安装 理解 GOROOT 和 GOPATH GOROOT GOPATH Go ...
- Java编程--简单的Factory程序(工厂设计模式)
Factory类不是接口.抽象类,就是普通的类. Factory就像一个工厂一样,可以返回很多对象. 子类在继承.实现抽象类和接口后由Factory类处理,由于子类可能会有多个,Factory根据客户 ...
- Java中的位运算符、移位运算符
目录 1 概述 2 位运算符 2.1 $(与) 2.2 |(或) 2.3 ^(异或) 2.4 ~(非) 3 移位运算 3.1 左移运算符:<< 3.2 右移运算符:>> 3.3 ...
- TVM:Relay算子实现流程
转载:https://blog.csdn.net/zx_ros/article/details/123526147 自定义算子的步骤: 1.定义算子属性节点 2.编写算子的输入输出类型推导关系函数 3 ...