.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提供商和本地向量存儲,幾乎不需要額外設置即可開始開發。這種設計大大降低了入門門檻,開發者可以立即專注于業務邏輯而非基礎設施。

Image visual studio template options

2. 核心功能解析

  • 與自定義數據聊天:該模板允許您創建基于聊天的 UI,與示例 PDF 或您的自定義數據進行交互。

  • 本地與 Azure 集成:支持本地向量存儲以進行原型開發,同時也支持 Azure AI Search 以實現更高級的配置。

  • 可自定義的代碼:生成的代碼包含用于聊天交互、引用追蹤和后續建議的 UI 組件,您可以根據需要自定義或移除這些組件。

  • 數據提取:模板包含數據提取、緩存和處理的代碼,使您能夠處理各種數據源和格式。

3. 開發環境集成

3.1 Visual Studio體驗

在VS中創建項目的步驟:

  1. 通過模板安裝后,搜索"AI Chat"
  2. 選擇項目名稱和位置
  3. 配置AI提供商和向量存儲
  4. 開始開發
3.2 VS Code配置

對于VS Code用戶需要:

  1. 安裝C# Dev Kit擴展
  2. 使用".NET: New Project…"命令
  3. 選擇AI聊天模板
  4. 同樣配置提供商和存儲選項

Image AITemplatePreview VSCode

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)
];

Image weather code example

結論

.NET AI模板預覽版為開發者提供了快速進入AI領域的捷徑,其核心價值體現在:

  1. 降低門檻:通過預制模板和默認配置,開發者無需深入了解AI基礎設施即可構建智能應用
  2. 靈活擴展:基于Microsoft.Extensions.AI的架構允許深度定制和功能擴展
  3. 生產就緒:支持從原型到生產的全流程,特別是與Azure服務的無縫集成
  4. 現代開發體驗:完美融入Visual Studio和VS Code工作流,符合.NET開發者習慣

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88286.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88286.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88286.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EFK9.0.3 windows搭建

背景 最近某個功能要使用到ELK&#xff08;ElasticSearch、Logstash、Kibana&#xff09;采集日志&#xff0c;對數據進行分析&#xff0c;網上百度了一下&#xff0c;目前推薦不使用Logstash而使用Filebeat ,即EFK。 下載鏈接 Elasticsearch Kibana Filebeat 安裝前提 …

上海新華醫院奉賢院區:以元宇宙技術重構未來醫療生態

引言&#xff1a;當醫療遇上元宇宙在數字化轉型的浪潮中&#xff0c;上海新華醫院奉賢院區以"智慧醫院"為定位&#xff0c;率先構建了"元宇宙醫院"雛形。通過AI大模型、三維影像分析、AR手術導航等前沿技術的深度融合&#xff0c;醫院正在打造一個覆蓋全周…

知識競賽答題pk小程序用戶操作手冊

知識競賽答題 PK 小程序用戶操作手冊 一、注冊與登錄 用戶首次使用答題pk小程序需上傳頭像&#xff0c;輸入昵稱&#xff0c;并選擇加入團隊。如果是企業內部人員使用可開啟白名單功能。二、進入答題 PK 模式 登錄后&#xff0c;在小程序首頁&#xff0c;您可以看到 “單人挑戰…

等大小譜聚類

聚類是一種將具有相似特征的數據點進行分組的方法。它廣泛應用于探索性數據分析&#xff0c;并已被證明在模式識別、市場和客戶細分、推薦系統、數據壓縮以及生物數據分析等許多應用中都發揮著重要作用。 盡管聚類算法種類繁多&#xff0c;但沒有一種能夠生成點數均衡的聚類。…

〔從零搭建〕數據湖平臺部署指南

&#x1f525;&#x1f525; AllData大數據產品是可定義數據中臺&#xff0c;以數據平臺為底座&#xff0c;以數據中臺為橋梁&#xff0c;以機器學習平臺為中層框架&#xff0c;以大模型應用為上游產品&#xff0c;提供全鏈路數字化解決方案。 ?杭州奧零數據科技官網&#xff…

Java 導出pdf 寫出demo 1、需要設置自定義頁眉和文字 2、可以插入表格 3、可以插入圖片

以下是一個使用 iText 7 庫實現 PDF 導出的 Java 示例&#xff0c;包含自定義頁眉、文字、表格和圖片功能&#xff1a; 添加 Maven 依賴 <dependencies><!-- iText 7 Core --><dependency><groupId>com.itextpdf</groupId><artifactId>ite…

Ntfs!LfsReadRestart函數分析得到Ntfs!LFS_RESTART_PAGE_HEADER

第一部分&#xff1a;0: kd> p Ntfs!LfsPinOrMapData0x8c: f71797f6 ff15a40016f7 call dword ptr [Ntfs!_imp__CcPinRead (f71600a4)] 0: kd> t nt!CcPinRead: 80bf9a5a 6a2c push 2Ch 0: kd> kc# 00 nt!CcPinRead 01 Ntfs!LfsPinOrMapData 02 N…

skywalking-agent-docker鏡像

FROM centos:7.9.2009 USER root# 定義 Arthas 目錄環境變量 ENV ARTHAS_HOME/opt/arthas# 更改 YUM 源并清理緩存 RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak && \rm -rf /etc/yum.repos.d/* && \curl -o /etc/yum.rep…

數據庫開發運維的集成:彌合開發與運維之間的鴻溝

在傳統的軟件開發工作流程中&#xff0c;數據庫變更往往是事后才考慮的問題。應用程序代碼遵循定義明確的開發運維實踐&#xff0c;包括版本控制、自動測試和持續部署&#xff0c;而數據庫變更則經常是由數據庫管理員手動執行的高風險操作。這種脫節造成了瓶頸&#xff0c;帶來…

PiscTrace應用:從 YOLO-Pose 到深蹲與引體向上計數:實時健身動作分析與實現

隨著健身行業的發展&#xff0c;越來越多的智能應用涌現&#xff0c;用于幫助健身者更好地記錄和分析運動情況。特別是在體能訓練中&#xff0c;俯臥撐和引體向上是兩個非常常見的動作&#xff0c;它們通常用來鍛煉上半身力量和耐力。為了使訓練更加科學和高效&#xff0c;實時…

【unity】webCanvas.enabled = false;和webCanvas.gameObject.SetActive(false);的優缺點比較

在 Unity 中&#xff0c;webCanvas.gameObject.SetActive(false) 和 webCanvas.enabled false 是兩種不同的隱藏 UI 的方式&#xff0c;它們的核心區別在于作用范圍和對組件狀態的影響。理解這些差異能幫助你避免初始化失敗、性能問題和邏輯錯誤。 1核心區別 gameObject.SetAc…

深入探索 pnpm:高效磁盤利用與靈活的包管理解決方案

引言 在現代 JavaScript 開發中&#xff0c;依賴管理效率直接影響開發體驗。傳統工具如 npm 和 yarn 在大型項目中常面臨磁盤冗余和性能瓶頸。pnpm&#xff08;Performant npm&#xff09;通過創新的硬鏈接和符號鏈接機制&#xff0c;解決了這些痛點。本文將深入解析 pnpm 的核…

Hive MetaStore的實現和優化

在大數據領域&#xff0c;數據管理與存儲至關重要&#xff0c;Hive MetaStore&#xff08;HMS&#xff09;作為 Hive 數據倉庫的核心組件&#xff0c;承擔著元數據管理的關鍵職責。隨著數據規模不斷膨脹&#xff0c;其性能與穩定性面臨挑戰。本文將深入剖析 HMS 的實現機制&…

一文讀懂動態規劃:多種經典問題和思路

一、動態規劃算法的思想與核心概念框架 1. 動態規劃的基本思想 動態規劃&#xff08;Dynamic Programming, DP&#xff09;是一種通過將復雜問題分解為重疊子問題&#xff0c;并利用子問題的解來高效解決原問題的方法。其核心思想是避免重復計算&#xff0c;通過存儲中間結果&a…

阿幸課堂隨機點名

代碼功能 這個是一個HTML網頁端&#xff0c;簡單來說就是可以雙擊之后運行進行點名。 當然&#xff0c;不局限于課堂點名 代碼功能 Excel 導入增強&#xff1a; 增加了列選擇器&#xff0c;可以指定從哪一列讀取學生姓名 增加了起始行選擇器&#xff0c;可以跳過標題行或其…

LeetCode 560: 和為K的子數組

題目描述給定一個整數數組 nums 和一個整數 k&#xff0c;請統計并返回該數組中和為 k 的連續子數組的個數。示例 1&#xff1a;輸入&#xff1a;nums [1,1,1], k 2 輸出&#xff1a;2示例 2&#xff1a;輸入&#xff1a;nums [1,2,3], k 3 輸出&#xff1a;2提示&#xff…

微軟官方C++構建工具:歷史演變、核心組件與現代實踐指南

引言&#xff1a;C構建工具的戰略意義 在Windows生態系統中&#xff0c;??微軟C構建工具??&#xff08;Microsoft C Build Tools&#xff09;構成了數百萬開發者和應用程序的技術基石。從早期的MS-DOS命令行工具到如今支持??跨平臺開發??的現代化工具鏈&#xff0c;微…

探索Cocos_CoilTheRope:一款創新的游戲引擎擴展項目

探索Cocos_CoilTheRope&#xff1a;一款創新的游戲引擎擴展項目 去發現同類優質開源項目:https://gitcode.com/ 是一個基于Cocos2d-x游戲引擎的擴展庫&#xff0c;旨在為開發者提供一種簡便的方法來實現繩子纏繞和物理交互效果。該項目由DreamLXW開發并維護&#xff0c;為游戲…

爬蟲-正則表達式

在線正則表達式測試OSCHINA.NET在線工具,ostools為開發設計人員提供在線工具&#xff0c;提供jsbin在線 CSS、JS 調試&#xff0c;在線 Java API文檔,在線 PHP API文檔,在線 Node.js API文檔,Less CSS編譯器&#xff0c;MarkDown編譯器等其他在線工具https://tool.oschina.net/…

【BTC】數據結構

目錄 那比特幣區塊鏈的組織形式到底是以鏈表的形式&#xff0c;還是樹的形式呢&#xff1f; 區塊頭和區塊體與默克爾樹的關系 默克爾證明詳解 區塊鏈和鏈表最大的區別就是區塊鏈用哈希指針代替了普通指針。 鏈表的指針就是指向一個結構體在內存中的地址&#xff0c;而哈希指…