冠军

导航

使用 AI app 模板扩展来创建基于订制数据进行聊天的 .NET AI 应用

https://learn.microsoft.com/en-us/dotnet/ai/quickstarts/ai-templates?tabs=visual-studio%2Cconfigure-visual-studio&pivots=github-models

前置条件

  • .NET 9 SDK
  • Visual Studio 2022
  • Visual Studio Code

安装 .NET AI 应用模板

AI Chat Web App 模板可以通过安装 Microsoft.Extensions.AI.Templates 模板包来使用。使用 dotnet new install 命令来安装它

> dotnet new install Microsoft.Extensions.AI.Templates
将安装以下模板包:
   Microsoft.Extensions.AI.Templates

成功: Microsoft.Extensions.AI.Templates::9.5.0-preview.2.25270.5 已安装以下模板:
模板名           短名称     语言  标记
---------------  ---------  ----  --------------------------------
AI Chat Web App  aichatweb  [C#]  Common/AI/Web/Blazor/.NET Aspire

创建 .NET AI 应用

在安装 AI 应用模板之后,你就可以使用它来创建一个应用的脚手架。

在 VS Code 中

  1. 打开命令窗口

  2. 使用 dotnet new 命令和如下参数来创建应用

    dotnet new aichatweb --Framework net9.0 --provider githubmodels --vector-store local
    
  3. 打开应用进行编辑

探索示例应用

你刚刚创建的应用是一个交互式的 Blazor 服务,使用预先配置的常见 AI 和数据服务。这个应用可以处理:

  • 在项目文件中,包括了基本的 Microsoft.Extensions.AI 包和其它依赖,来帮助你开始使用 AI
  • 创建了多个 AI 服务并通过依赖注入注册
    • IChatClient 服务,与模型进行聊天
    • IEmbeddingGenerator 服务,用来支持向量搜索支持,生成嵌入
    • JsonVectorStore 作为内存中的向量存储
  • 注册一个 SQLite 数据库上下文服务以处理文档的接收。该应用程序已预配置为接收您添加到项目的 Data 文件夹中的任何文档,包括提供的示例文件。
  • 使用 Blazor 组件提供完整的聊天用户界面。用户界面处理 AI 响应的丰富格式,并提供诸如响应数据的引用等功能。

配置访问 GitHub 模型

为了通过你的代码来访问 GitHub 模型,你需要创建 GitHub 个人访问令牌

  1. 在你的 GitHub 账号配置中,找到 Personal access tokens
  2. 选择 Generate new token
  3. 输入一个令牌的名称,然后在页面底部选择 Generate token
  4. 将生成的访问令牌复制到前面的代码中

配置应用

AI 聊天网页应用程序几乎准备就绪,只需创建即可使用。然而,您需要配置该应用程序以使用您为GitHub Modelsfor 设置的个人访问令牌。默认情况下,应用程序模板会在项目的本地.NET用户机密中搜索此值。您可以使用Visual Studio UI或.NET CLI来管理用户机密。

dotnet user-secrets set GitHubModels:Token <your-personal-access-token>

默认情况下,应用程序模板使用 gpt-4o-mini 和 text-embedding-3-small 模型。要尝试其他模型,请在 Program.cs 中更新名称参数:

var chatClient = ghModelsClient.AsChatClient("gpt-4o-mini");
var embeddingGenerator = ghModelsClient.AsEmbeddingGenerator("text-embedding-3-small");

运行和测试应用

1.

在 Visual Studio 顶部选择运行按钮以启动应用程序。过一会儿,您应该会在浏览器中看到以下用户界面加载:

2.

在输入框中输入提示,例如“生存工具包中有哪些必要工具?”以向您的AI模型询问有关示例文件中摄取数据的问题。

该应用会回答问题,并提供其找到数据的引用。您可以点击其中一个引用,以便跳转到示例文件的相关部分。

posted on 2025-09-22 10:29  冠军  阅读(92)  评论(0)    收藏  举报