.NET 使用 DeepSeek R1 開發智能 AI 客戶端
前言
最近 DeepSeek 可太火了,在人工智能領域引起了廣泛的關注,其強大的自然語言處理能力和智能搜索功能讓大家躍躍欲試。
對于 .NET 技術棧的開發來說,一個常見的問題是:能否在 .NET 程序中使用 DeepSeek? 答案是肯定的。
為了幫助 .NET 開發快速上手并充分利用 DeepSeek 的強大功能,社區提供了一個名為 deepseek-dotnet 的開源項目。
項目介紹
deepseek-dotnet 項目不僅包含了如何在 .NET 中集成和使用 DeepSeek 模型的詳細示例,還展示了如何通過 Microsoft.Extensions.AI (MEAI) 庫來簡化與 DeepSeek R1 模型的交互。
具體而言 deepseek-dotnet 項目在 GitHub 上托管,并且已經集成了最新的 DeepSeek R1 模型。通過該項目,可以學習如何在 .NET 應用程序中調用 DeepSeek API,處理請求和響應,以及如何利用 Microsoft.Extensions.AI 庫進行模型管理和推理。
不管是開發智能助手、自動問答系統,還是其他復雜的業務應用。DeepSeek 都能為大家提供強有力的支持。
DeepSeek 說明
DeepSeek-V3:是DeepSeek于2023年12月推出的模型,以較低的訓練成本實現了與GPT-4和Claude Sonnet 3.5等頂尖模型相媲美的性能。
DeepSeek-R1(deepseek-reasoner):是DeepSeek最新推出的推理模型,在輸出最終回答之前,模型會先輸出一段思維鏈內容,以提升答案的準確性。
Microsoft.Extensions.AI
Microsoft.Extensions.AI 庫為各類 AI 服務提供統一的抽象接口。
無論使用 DeepSeek、OpenAI 還是 Mistral,也不論服務托管在 GH Models、Ollama 還是 Azure AI Foundry,都可以使用相同的 API 接口與模型交互。
這種統一性顯著降低了入門門檻——無需掌握不同庫的特殊用法,只需掌握 MEAI 即可。
大部分功能通過 IChatClient 接口實現。由于這是接口,具體實現會根據底層 AI 服務而變化:
使用 Ollama 時,需引用 Microsoft.Extensions.AI.Ollama 包
使用 GitHub Models 時,則需 Microsoft.Extensions.AI.AzureAIInference 包
一旦實例化 IChatClient 后,所有操作接口都將統一。
項目源碼
下載項目源碼,打開 DeepSeek.Console.GHModels 項目中的 Program.cs 文件。
首先需要注意的是初始化 modelEndpoint 和 modelName 變量的位置。這些變量對 GitHub Models 服務來說是標準的,它們總是相同的。
現在進入有趣的部分!我們將初始化我們的聊天客戶端。這里我們將連接到 DeepSeek R1 模型。
項目結構

項目使用
1、GitHub Models
生成 GitHub PAT 或直接在 Codespace 中運行倉庫。
設置用戶密鑰:在 DeepSeek.Console.GHModels 項目中設置 GITHUB_TOKEN 用戶密鑰。
Program.cs:了解如何使用 MEAI 訪問 GitHub Models 上的 DeepSeek。
2、在 Azure AI Foundry 上運行
部署模型到 Azure AI Foundry:參考提供的部署指南。
記錄密鑰:將密鑰放入 DeepSeek.Console.AzureAI 項目的用戶密鑰中,鍵名為 AZURE_AI_KEY。
獲取端點 URL 和模型名稱:從 AI Foundry 門戶的部署中獲取。
3、在 Ollama 上運行
啟動 Codespace:Codespace 將下載 Ollama 鏡像并在 devcontainer 內啟動它。
拉取精簡版 R1 模型。
Program.cs:在 DeepSeek.Console.Ollama 項目中查看 Program.cs 文件,了解如何初始化 IChatClient 接口。
IChatClient chatClient = new OllamaChatClient(modelEndpoint, modelName);
項目地址
GitHub:https://github.com/codemillmatt/deepseek-dotnet
總結
DeepSeek R1 是一個新推理模型,吸引了大量關注,可以使用 Microsoft.Extensions.AI 庫在 .NET 程序中利用它。
GitHub Models 降低了入門和實驗的門檻。感興趣的小伙伴們快去試試。
如果你覺得這篇文章對你有幫助,不妨點個贊支持一下!你的支持是我繼續分享知識的動力。如果有任何疑問或需要進一步的幫助,歡迎隨時留言。
也可以加入微信公眾號[DotNet技術匠] 社區,與其他熱愛技術的同行一起交流心得,共同成長!優秀是一種習慣,歡迎大家留言學習!


浙公網安備 33010602011771號