.NET AI Preview 2 发布:从 .NET Aspire 支持到 Qdrant 向量数据库集成,助你快速构建云原生 AI 应用

引言

随着人工智能(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 生态中不可或缺的一部分。

参考链接

相关推荐
weixin_4239950014 分钟前
unity 读取csv
unity·c#
绿龙术士1 小时前
C#核心知识
c#·.net
wkj0011 小时前
java 和 C#操作数据库对比
java·数据库·c#
慕雪华年2 小时前
【Python】使用uv管理python虚拟环境
开发语言·python·ai·uv·mcp
时光追逐者4 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 36 期(2025年4.21-4.27)
c#·.net·.netcore
lancoff5 小时前
(七)深入浅出WPF——深入浅出话属性
前端·c#
CHQIUU5 小时前
在 C# .NET 中驾驭 JSON:使用 Newtonsoft.Json 进行解析与 POST 请求实战
c#·json·.net
o0向阳而生0o6 小时前
27、Session有什么重⼤BUG?微软提出了什么⽅法加以解决?
c#·.net