引言

随着人工智能(AI)技术的迅猛发展,开发者对简单、高效的AI开发工具需求日益增加。微软 .NET 团队最近发布了 .NET AI 模板的 Preview 2 版本,这一更新为开发者带来了诸多令人兴奋的新功能和改进。本文将深入探讨 .NET AI 模板 Preview 2 的新特性,分析其核心优势,并提供详细的使用指南,帮助开发者快速上手并加速AI项目的开发进程。


.NET AI 模板 Preview 2 的新特性

1. .NET AI 模板简介

.NET AI 模板是微软专为 .NET 开发者设计的一套工具集,旨在简化AI应用的开发流程。它提供了预配置的项目模板,开发者可以基于这些模板快速搭建AI应用的基础架构。自首次发布以来,.NET AI 模板已经受到广泛关注,而 Preview 2 版本则在原有基础上进一步扩展了功能,引入了更强大的工具支持和灵活性。

这些模板不仅适用于传统的桌面开发,还通过与云原生技术的深度集成,为现代分布式应用的开发提供了便利。无论是构建简单的聊天机器人,还是开发复杂的语义搜索系统,.NET AI 模板都能显著减少开发者的上手难度。


2. Preview 2 的新功能

Preview 2 版本带来了多项重要更新,以下是其核心亮点:

2.1 .NET Aspire 支持

.NET Aspire 是微软推出的一款全新框架,专注于云原生应用的开发。它提供了一套工具和组件,帮助开发者更轻松地构建和管理分布式系统。在 Preview 2 中,.NET AI 模板集成了 .NET Aspire,使得开发者可以利用其编排功能(Orchestration)来配置和管理AI服务。这种集成不仅提升了开发效率,还为本地和云端AI模型的部署提供了无缝支持。

2.2 Qdrant 向量数据库

Qdrant 是一个专为AI应用设计的高性能向量数据库,能够高效存储和查询向量数据。Preview 2 提供了一个与 Qdrant 集成的示例项目,开发者可以利用它快速原型化并扩展基于向量数据的应用。这对于需要处理大规模语义搜索或推荐系统的场景尤为重要。

2.3 VS Code 配置支持

对于使用 Visual Studio Code(VS Code)的开发者,Preview 2 增加了对 C# Dev Kit 扩展的增强支持。现在,开发者可以在创建项目时选择配置额外的选项,例如指定AI模型服务提供商(Model Service Provider)和向量存储(Vector Store)。这一改进使得 VS Code 用户能够更灵活地定制项目设置。


3. 安装和使用指南

要开始使用 .NET AI 模板的 Preview 2 版本,你需要先安装模板包。以下是具体步骤:

3.1 安装模板

在终端运行以下命令以安装 Microsoft.Extensions.AI.Templates

dotnet new install Microsoft.Extensions.AI.Templates

安装过程

安装完成后,你可以通过以下方式创建新项目:

  • Visual Studio:在“文件 > 新建项目”中搜索“AI Chat”模板。
  • VS Code:使用 C# Dev Kit 扩展,通过 .NET: New Project... 命令选择“AI Chat Web App”模板。
  • .NET CLI:在终端运行以下命令:
dotnet new aichatweb

3.2 项目配置

创建项目时,你可以选择AI模型提供商(如 GitHub Models、OpenAI 或 Azure OpenAI)和向量存储(如本地存储、Azure AI Search 或 Qdrant)。这些选项为开发者提供了高度的灵活性。


4. .NET Aspire 的集成


.NET Aspire 的集成

.NET Aspire 的引入是 Preview 2 的一个重要亮点。它通过以下方式增强了 .NET AI 模板的功能:

4.1 本地模型支持:Ollama

Ollama 是一个开源工具,允许开发者在本地通过容器化方式部署AI模型。借助 .NET Aspire 的社区工具包(Community Toolkit),开发者可以通过 docker.io/ollama/ollama 镜像轻松运行本地模型。这种方式非常适合快速原型设计和测试。

4.2 云端模型支持

Preview 2 支持与多种云端AI服务集成,包括:

  • GitHub Models:提供便捷的模型访问。
  • OpenAI 和 Azure OpenAI:通过 .NET Aspire 的 Azure OpenAI 集成,开发者可以连接到这些强大的语言模型。
  • Azure AI Search 和 Qdrant:提供增强的语义搜索功能,支持高效的向量数据索引和查询。

模型支持

4.3 使用示例

在启用 .NET Aspire 编排后,模板会生成一个包含 .AppHost 项目的解决方案。这个项目负责配置AI服务和向量存储的集成,开发者只需简单调整即可投入使用。


选中Aspire后的项目结构

5. 在开发工具中使用模板

5.1 Visual Studio

在 Visual Studio 中,安装模板后,你可以通过以下步骤创建项目:

  1. 打开“文件 > 新建项目”。
  2. 在搜索框中输入“AI Chat”或选择“AI”项目类型。
  3. 配置项目名称、位置,并选择AI模型提供商和向量存储。

搜索AI Chat模版

配置AI Chat模版

5.2 Visual Studio Code

在 VS Code 中,使用 C# Dev Kit 扩展:

  1. 运行 .NET: New Project... 命令。
  2. 选择“AI Chat Web App”模板。
  3. 默认情况下,项目将使用 GitHub Models 和本地向量存储,你也可以根据需要调整配置。

创建AI Chat项目

选择向量数据库

为了更好地使用Qdrant向量数据库,有兴趣的朋友可以看看我的这篇关于.NET 原生驾驭 AI 新基建实战系列(四):Qdrant ── 实时高效的向量搜索利器


6. 实际应用场景

.NET AI 模板 Preview 2 的设计充分考虑了实际开发需求,以下是几个典型应用场景:

6.1 聊天应用

基于 RAG(Retrieval Augmented Generation,检索增强生成)模式,开发者可以构建与自定义数据交互的聊天应用。例如,你可以用它创建一个能够回答企业内部文档相关问题的智能助手。

6.2 数据摄取

模板内置了数据摄取功能,支持从多种数据源(如 PDF 文件)中提取信息,并进行缓存和处理。这大大简化了数据预处理的工作。

6.3 自定义开发

生成的代码结构清晰,易于修改。开发者可以根据项目需求调整聊天交互逻辑、添加引用跟踪功能,或实现后续建议提示。


7. 性能优化建议

为了提升项目的性能和稳定性,以下是一些实用建议:

  • 持久化存储:在 program.cs 文件中,使用 SQLite 数据库替代默认的内存存储,以避免每次启动项目时重复处理数据。例如:
    builder.Services.AddDbContext(options => options.UseSqlite("Data Source=ingestioncache.db"));
  • 向量存储选择:对于大规模数据,推荐使用 Azure AI Search 或 Qdrant,而不是本地存储,以获得更好的性能和扩展性。

8. 未来展望

微软计划在未来版本中进一步扩展 .NET AI 模板的功能,包括:

  • Console 和 Minimal API 模板:支持更多类型的项目。
  • Azure AI Foundry 支持:提供更丰富的云端AI工具。
  • Semantic Kernel 集成:与 Semantic Kernel 团队合作,增强语义处理能力。

此外,模板预计将默认包含在 .NET SDK 中,进一步降低使用门槛。


结语

.NET AI 模板的 Preview 2 版本为开发者提供了一个功能强大且易于使用的工具集,极大地简化了AI应用的开发流程。通过集成 .NET Aspire、Qdrant 等先进技术,它不仅提升了开发效率,还为云原生AI应用的构建提供了坚实支持。无论你是想快速原型化一个聊天应用,还是开发复杂的AI驱动系统,这个模板都值得一试。相信未来随着社区的持续参与和微软的不断迭代,.NET AI 模板必将成为 .NET 生态中不可或缺的一部分。

参考链接

​.NET AI Preview 2 发布:支持 Aspire 与 Qdrant 向量库集成,加速云原生 AI 开发​的更多相关文章

  1. 解锁云原生 AI 技能 - 开发你的机器学习工作流

    按照上篇文章<解锁云原生 AI 技能 | 在 Kubernetes 上构建机器学习系统>搭建了一套 Kubeflow Pipelines 之后,我们一起小试牛刀,用一个真实的案例,学习如何 ...

  2. 公有云上构建云原生 AI 平台的探索与实践 - GOTC 技术论坛分享回顾

    7 月 9 日,GOTC 2021 全球开源技术峰会上海站与 WAIC 世界人工智能大会共同举办,峰会聚焦 AI 与云原生两大以开源驱动的前沿技术领域,邀请国家级研究机构与顶级互联网公司的一线技术专家 ...

  3. 云原生 AI 前沿:Kubeflow Training Operator 统一云上 AI 训练

    分布式训练与 Kubeflow 当开发者想要讲深度学习的分布式训练搬上 Kubernetes 集群时,首先想到的往往就是 Kubeflow 社区中形形色色的 operators,如 tf-operat ...

  4. 解锁云原生 AI 技能|在 Kubernetes 上构建机器学习系统

    本系列将利用阿里云容器服务,帮助您上手 Kubeflow Pipelines. 介绍 机器学习的工程复杂度,除了来自于常见的软件开发问题外,还和机器学习数据驱动的特点相关.而这就带来了其工作流程链路更 ...

  5. 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台

    美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...

  6. 云原生的弹性 AI 训练系列之一:基于 AllReduce 的弹性分布式训练实践

    引言 随着模型规模和数据量的不断增大,分布式训练已经成为了工业界主流的 AI 模型训练方式.基于 Kubernetes 的 Kubeflow 项目,能够很好地承载分布式训练的工作负载,业已成为了云原生 ...

  7. 顶会两篇论文连发,华为云医疗AI低调中崭露头角

    摘要:2020年国际医学图像计算和计算机辅助干预会议(MICCAI 2020),论文接收结果已经公布.华为云医疗AI团队和华中科技大学合作的2篇研究成果入选. 同时两篇研究成果被行业顶会收录,华为云医 ...

  8. 灵雀云发布云原生制品仓库Harbor企业版(Alauda Registry Service for Harbor)

      灵雀云发布云原生制品仓库Harbor企业版(Alauda Registry Service for Harbor) 近日,国内领先的云原生全栈私有云提供商灵雀云宣布,推出企业版云原生制品仓库Ala ...

  9. [翻译] .NET Core 2.1 Preview 1 发布

    [翻译] .NET Core 2.1 Preview 1 发布 原文: Announcing .NET Core 2.1 Preview 1 今天,我们宣布发布 .NET Core 2.1 Previ ...

  10. 【翻译】.NET 5 Preview 1 发布

    .NET 5 Preview 1 发布 去年年底,我们发布了.NET Core 3.0和3.1.这些版本添加了桌面应用程序模型Windows Forms(WinForms)和WPF,ASP.NET B ...

随机推荐

  1. 考拉 T_Q_X 的博客搬运(搬运)

    博客搬迁现场直播 各位观众们大家好,欢迎来到新闻透视 今天为您直播某菜鸡oier tqx 的博客搬迁现场. Q:请问tqx,您为什么要将博客从CSDN搬迁到博客园呢? tqx:懂得都懂,不懂的我也不多 ...

  2. 烟草行业如何用低代码+ BI 实现数字化转型?

    在数字经济的大潮中,烟草行业正迎来重大的发展契机.国家层面的政策引导和战略规划为行业的数字化转型提供了明确的方向.<数字中国>的愿景逐步变为现实,国家信息化发展战略的深入推进,为烟草行业的 ...

  3. 【忍者算法】从生活场景理解链表反转:最重要的基础算法|LeetCode第206题 反转链表

    从生活场景理解链表反转:最重要的基础算法 为什么这道题如此重要 反转链表看似简单,却是链表操作的基石.就像建房子要先打好地基,做复杂的链表操作前必须深刻理解反转原理.无数高频面试题都建立在这个基础之上 ...

  4. AI如何改变数据驱动决策的方式

    导语 在这个信息爆炸的时代,数据成为了企业和组织最为宝贵的资源.然而,单纯的数据堆积并没有太大价值,只有通过分析和挖掘,才能真正发挥数据的潜力.随着AI技术的飞速发展,我们正见证着数据驱动决策方式发生 ...

  5. 解决2023新版Edge浏览器页面加载不出来问题

    如果你遇到2023新版Edge浏览器页面无法加载的问题,可以尝试以下几种解决方法: 检查网络连接:确保你的网络连接正常,可以尝试打开其他网页或使用其他应用程序进行网络测试. 清除浏览器缓存:打开Edg ...

  6. 批处理脚本(.bat)实现实时监测文件夹并执行命令 [假设有新文件则拷贝到远程文件夹内]

    想到一个情景.程序实时监测文件夹情况,如果有新文件进入,分析其文件名,然后如果满足预设条件,则做相应操作.比如扫描仪扫描了文件,会将新文件保存进特定文件夹内,可以使用该程序来做处理. 在Windows ...

  7. 机器人技术的突破让OpenAI过时了

    机器人技术的突破让OpenAI过时了 Ignacio de Gregorio 最近,Figure AI,一家价值数十亿美元的AI机器人公司,宣布取消与OpenAI的合作伙伴关系,这一举动看起来是相当大 ...

  8. Selenium KPI接口 附件上传

    实现功能 拖拽图片到百度上传图片搜索功能区域. 定位.send_keys(r'图片路径') 导入相关包 from selenium import webdriver from time import ...

  9. Web前端入门第 12 问:HTML 常用属性一览

    HELLO,这里是大熊学习前端开发的入门笔记. 本系列笔记基于 windows 系统. HTML 常用属性大约 70 个,是否又头大了?脸上笑嘻嘻,心里嘛...嘿嘿... 温馨提示:属性不用死记硬背, ...

  10. Win10下子系统Unbuntu18.04安装nginx

    1.Nginx的软件包在Ubuntu默认软件仓库中可用. 安装非常简单,只需键入以下命令: sudo apt update sudo apt install nginx 2.安装完成后,检查Nginx ...