C#集成DeepSeek模型實(shí)現(xiàn)AI私有化的流程步驟(本地部署與API調(diào)用教程)
前言
自從 DeepSeek 大模型火了以來,網(wǎng)絡(luò)上出現(xiàn)了許多關(guān)于本地部署的教程和方法。然而,要真正深入了解其功能和應(yīng)用,還是需要自己動(dòng)手進(jìn)行一次本地部署。
DeepSeek 作為一個(gè)高效的自然語言處理模型,其本地部署能力為大家提供了靈活的應(yīng)用場景。不管是開發(fā)私有化的 AI 應(yīng)用,還是集成到現(xiàn)有的系統(tǒng)中,DeepSeek 都能提供強(qiáng)大的支持。
本文將詳細(xì)介紹如何快速部署 DeepSeek 模型,并通過 C# 調(diào)用其 API 接口,從而搭建高效的私有 AI 服務(wù)。我們將從環(huán)境準(zhǔn)備、本地部署、API 客戶端配置到實(shí)際調(diào)用接口,完成整個(gè)過程。
搭建基礎(chǔ)環(huán)境
Ollama 是一個(gè)輕量級AI模型運(yùn)行框架,支持 macOS、Linux 和 Windows 跨平臺運(yùn)行,并兼容包括 Llama 3.3、DeepSeek-R1、Phi-4 和 Gemma 2 在內(nèi)的 54 種主流開源模型。
它簡化了模型的下載、安裝和使用過程,提供了統(tǒng)一的操作界面,能夠方便地在本地環(huán)境中運(yùn)行和測試不同的語言模型,簡單的說就是相當(dāng)于一個(gè)容器。
1、安裝 Ollama
首先先下載 Ollama,進(jìn)入官網(wǎng),根據(jù)大家當(dāng)前的操作系統(tǒng)選擇安裝包(Windows/Linux/macOS)。
官網(wǎng)下載地址:Download Ollama on Windows
如上圖所示點(diǎn)擊 Download 下載安裝包,然后直接安裝就可以。
注意:Ollama默認(rèn)安裝是在C盤的以及下載的大模型數(shù)據(jù)包也是默認(rèn)在C盤,所以一定要注意自己C盤的存儲空間夠用,
當(dāng)然我們也有方式改變他的安裝路徑的。如果不想折騰的可以直接點(diǎn)擊安裝就可以了。
本文示例是修改了安裝路徑,具體步驟如下:
首先在目標(biāo)路徑(如 D:\Ollaman)創(chuàng)建一個(gè)新文件夾并放置 Ollama 安裝包
然后在該路徑下打開命令窗口并輸入 OllamaSetup.exe /DIR=D:\Ollama,接著在安裝界面點(diǎn)擊 "Install",即可將 Ollama 安裝到指定目錄,大模型數(shù)據(jù)包也會默認(rèn)下載到該目錄中。
Ollama 安裝好了就會自動(dòng)啟動(dòng)。
查看是否安裝成功 Windows+R,輸入CMD進(jìn)入命令窗口,輸入:ollama -v有版本號就說明安裝好了,在任務(wù)欄右下角有個(gè)羊駝的圖標(biāo)。
2、下載 DeepSeek R1 模型
在 Ollama 官網(wǎng)點(diǎn)擊 Models,選擇deepseek-r1
選擇對應(yīng)的模型,可以看到模型的相信介紹、各種參數(shù)的模型。
普通用戶:選擇 8B 版本,適合日常對話、寫作等
高性能顯卡用戶(顯存 16GB 以上):可選 16B 版本,體驗(yàn)更強(qiáng)大性能
各個(gè)版本模型對硬件要求,官方?jīng)]有明確的說明,根據(jù)網(wǎng)友分享的大概整理如下,大家可以根據(jù)自己的電腦配置選擇模型。
選擇要下載的模型,復(fù)制指令。
打開命令窗口,粘貼運(yùn)行指令。等待下載完成。下載過程中,會顯示下載進(jìn)度和速度等信息。由于模型文件較大,下載時(shí)間可能會較長,需要耐心等待。
至此,已經(jīng)可以與DeepSeek進(jìn)行會話。
同時(shí)在瀏覽器訪問:http://127.0.0.1:11434,有如下提示也代表啟動(dòng)成功了。
客戶端 ChatBox AI接入 DeepSeek
Chatbox AI 是一款 AI 客戶端應(yīng)用和智能助手,支持眾多先進(jìn)的 AI 模型和 API,可在 Windows、MacOS、Android、iOS、Linux 和網(wǎng)頁版上使用。
1、下載 ChatBox AI
瀏覽器中訪問 Chatbox AI的官方網(wǎng)站(chatboxai.app/zh),下載安裝。
2、配置環(huán)境變量
添加兩個(gè)環(huán)境變量,允許外部訪問,填寫:0.0.0.0,代表允許任何電腦訪問。
OLLAMA_HOST:0.0.0.0 OLLAMA_ORIGING:*
點(diǎn)擊我的電腦,右鍵屬性->高級系統(tǒng)設(shè)置->環(huán)境變量。
注意:設(shè)置完環(huán)境變量后退出一下 Ollama,然后重新啟動(dòng)下Ollama。
3、Chatbox AI 連接本地模型
啟動(dòng) Chatbox AI 軟件,選擇 Ollama API后,然后選擇下載的 DeepSeek模型,如果大家還有其他模型也可以選擇對應(yīng)的模型。
模型設(shè)置
選擇API類型:Ollama API
模型名稱:deepseek-r1:8b
點(diǎn)擊檢查連接,如果狀態(tài)正常,可以開始使用了。
以上設(shè)置完成。我們就可以在客戶端使用AI聊天了,
C# 調(diào)用 DeepSeek API
Ollama 還提供了 API 接口功能,使得自定義客戶端開發(fā)或集成到應(yīng)用系統(tǒng)變得非常方便。
其相關(guān)生態(tài)系統(tǒng)也非常完善,使用 C# 版本的 Ollama SDK(如 OllamaSharp)可以快速進(jìn)行開發(fā)。
下面通過一個(gè)簡單的例子來演示如何使用 Ollama:
1、安裝依賴包
首先,安裝 OllamaSharp 依賴包:
2、示例代碼
新建一個(gè) OllamaApiExampleController控制器,添加如下代碼:
using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.AI; using OllamaSharp; namespace DotNetCore.DeepSeekApi.Controllers { /// <summary> /// OllamaApi示例控制器 /// </summary> [ApiController] [Route("api/[controller]")] public class OllamaApiExampleController : ControllerBase { private readonly Uri _modelEndpoint = new Uri("http://localhost:11434"); private readonly string _modelName = "deepseek-r1:1.5b"; /// <summary> /// 初始化 /// </summary> /// <param name="httpClient"></param> /// <param name="configuration"></param> public OllamaApiExampleController(){} /// <summary> /// 提問接口 /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost("ask")] public async Task<IActionResult> AskQuestion([FromBody] AskRequest request) { var chatClient = new OllamaApiClient(_modelEndpoint, _modelName); var question = request.Question; if (string.IsNullOrEmpty(question)) { return BadRequest("請輸入您的問題?"); } // 使用 await foreach 遍歷每個(gè) ChatResponseUpdate var responseBuilder = new List<string>(); await foreach (var update in chatClient.GetStreamingResponseAsync(question)) { responseBuilder.Add(update.ToString()); } var response = string.Join("", responseBuilder); return Ok(new { Response = response }); } } /// <summary> /// 實(shí)體類 /// </summary> public class AskRequest { /// <summary> /// 問題 /// </summary> public string Question { get; set; } } }
3、運(yùn)行結(jié)果
Ollama 相關(guān)的API接口,可以查看官方文檔。
https://github.com/ollama/ollama/blob/main/docs/api.md
總結(jié)
通過本文簡單的學(xué)習(xí)實(shí)現(xiàn)了DeepSeek 的本地部署和本地調(diào)用API接口。
能夠掌握 DeepSeek 的本地部署方法,還能學(xué)會如何在 C# 項(xiàng)目中集成并調(diào)用 DeepSeek 提供的強(qiáng)大功能。
希望這些內(nèi)容能夠幫助大家在實(shí)際項(xiàng)目中順利應(yīng)用 DeepSeek,提升開發(fā)效率和項(xiàng)目質(zhì)量。
最后
以上就是C#集成DeepSeek模型實(shí)現(xiàn)AI私有化的流程步驟(本地部署與API調(diào)用教程)的詳細(xì)內(nèi)容,更多關(guān)于C# DeepSeek實(shí)現(xiàn)AI私有化的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#實(shí)現(xiàn)創(chuàng)建桌面快捷方式與添加網(wǎng)頁到收藏夾的示例
本文是介紹了c#通過純代碼創(chuàng)建快捷方式與添加網(wǎng)頁到收藏夾,非常具有實(shí)用價(jià)值,有需要的朋友可以來了解一下。2016-10-10C#實(shí)現(xiàn)獲取鼠標(biāo)句柄的方法
這篇文章主要介紹了C#實(shí)現(xiàn)獲取鼠標(biāo)句柄的方法,詳細(xì)的講述了實(shí)現(xiàn)獲取鼠標(biāo)句柄的具體步驟及實(shí)現(xiàn)方法,并附有完整的實(shí)例源碼供大家參考,需要的朋友可以參考下2014-09-09Unity3D使用GL實(shí)現(xiàn)圖案解鎖功能
這篇文章主要為大家詳細(xì)介紹了Unity3D使用GL實(shí)現(xiàn)圖案解鎖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03C# WPF 通過委托實(shí)現(xiàn)多窗口間的傳值的方法
這篇文章主要介紹了C# WPF 通過委托實(shí)現(xiàn)多窗口間的傳值的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09詳解C#中的System.Timers.Timer定時(shí)器的使用和定時(shí)自動(dòng)清理內(nèi)存應(yīng)用
這篇文章主要介紹了詳解C#中的System.Timers.Timer定時(shí)器的使用和定時(shí)自動(dòng)清理內(nèi)存應(yīng)用,需要的朋友可以參考下2017-06-06C#對象為Null模式(Null Object Pattern)實(shí)例教程
這篇文章主要介紹了C#對象為Null模式(Null Object Pattern),以一個(gè)簡單實(shí)例深入分析了C#為Null情況下的處理方法,需要的朋友可以參考下2014-09-09