作为一名紧追时代潮流脚后跟的码农,站长去年开始盘算着计划在自己的电脑上部署一套离线的AI大模型,恰逢DeepSeek的大模型开源提供工了合适的契机,奈何自己没有合适的电脑硬件去实现就始终没下决心迈出第一步。 赶着今年京东618自己试着买散装零件拼着玉石俱焚的决心自己亲手组装了人生中第一台DIY电脑主机,也于昨天完成本地DeepSeek大模型的离线部署,终于大模型接口成功集成到了线上网站项目里。
开发创作编辑功能
站长文笔不好,这第一个功能是用来辅助站长写博客润色的,界面设计比较简单,左侧文本框是用来书写要求和提示词,右侧就是AI创作的文本流式输出,效果和豆包这些聊天差不多,只是功能比较单一(可以切换其他大模型做一些其他领域的推理)和网站后台编辑器集成,编辑优化好后可以一键同步到线上数据。
站长DIY电脑的硬件配置
- CPU:Ultra 7 265K
- 主板:华硕B860M重炮手WIFI版
- 内存:宏碁掠夺者 24GBx2 套条
- SSD:致态 Ti Plus 7100 1TB
- 散热:利民PA140 黑色
- 机箱:华硕创艺国度 PA401标准版
- 电源:长城额定850W X8 金牌 全模组
- 显卡:微星 RTX5060TI 16GB
- 机械硬盘:4TB的西数机械硬盘
第一次组装花了站长大半天时间,好在当时机箱没有贪图便宜买普通机箱,因此安装期间省了不少事,因为比较麻烦以及比较容易出错的接线部分到手就已经安装好了,提前在抖音看了几遍硬件茶谈装机教程,再配合零件的说明书装完后一次点亮
《硬件茶谈》三维动画装机教程
为什么选择了RTX5060TI 16GB
站长原本打算买一张RTX5070来跑DeepSeek大模型,但近期50系显卡溢价割韭菜价格不要太离谱。。。纠结一个多月,每天都要看价格降没降,不想心里老记挂着这个事最后就买了微星幻影师 这块钙中钙的RTX5060TI 16GB,目前京东上最便宜的只有它了,反正这玩意外在配置再豪华显卡核心性能也提升不了多少,只有两个要求够用和耐用就行。
日常几款游戏的使用感受
站长平常玩的游戏也比较少【永杰无间PC端手游】、【永杰无间PC端】、【原神】、上次朋友过来装了个【英雄联盟】,基本不玩3A ,PS5上玩黑猴算是目前唯一玩过的3A 了。 其实个人感觉对于画质要求不高的人(能玩就行的那种),中低画质下U265K的核显基本都能流畅玩耍,这代核心显卡确实挺强的,但有一说一上了RTX5060TI的提升也非常明显,目前站长这几款游戏直接画质无脑拉到最高就行了,游戏时占用也不高。
DeepSeek-R1大模型感受
站长在没有买独立显卡之前用CPU尝试过运行AI推理运算,测试用的DeepSeek-R1:32b的模型,启动瞬间机箱内所有风扇开始全速运转 推理期间噪音明显,CPU占用来到80%左右,实际占用内存到大概是20GB。能用但是非常的慢,一个简单的推理要非常久才能出结果。
切换到RTX5060TI 16GB上计算后 由于显存不够20GB于是就降低模型参数到了DeepSeek-R1:14b(倒也不是不能用DeepSeek-R1:32b,只是超出显存容量后会去找内存借用,速度上会拖慢推理效率),目前在推理速度上使用体验基本和豆包差不多了,日常做一些创作是没啥问题的,目前已成功接入本网站内自己开发的的创作小助手模块里面。
为什么选择了Ultra 7 265K
作为计算机核心配件之一的CPU,目前生产可选的基本就是英特尔和AMD二选一,但自从英特尔13代14代CPU工艺问题暴雷开始,AMD好像是开始起飞了,现在比较火的游戏神U就是AMD的 9800X3D,当下是一个不错的选择,当然这玩意价格也是水涨船高 。
站长因为考虑主要是生产力,再就是日常开发的编译器软件的兼容性问题,不想折腾,最终还是选了英特尔,13代14代工艺问题不敢选,再加上这段时间15代价格相对合适,就选了还算稳定的15代 Ultra 7 265K。
日常开发使用体验
对于Ultra 7 265K这款CPU,网络上褒贬不一,有说好的也有说坏的,可能站长平时用的配置都比较拉跨,公司给配的CPU 是酷睿i5 7500,是站长换电脑前用过性能最好的CPU了,平时自己用的笔记本性能工作开发方面表现都不是很好(苹果Mac笔记本 发热严重 风扇噪音也非常大),换了新电脑后个人感觉提升还是非常大的,日常在vs2022工作环境开发和编译效率提升不是一点半点,用了近两个月个人感觉还是挺不错的,日常使用风扇声音基本听不到,也没有蓝屏死机的情况出现。
Windows环境下部署DeepSeek-R1:14b
站长习惯了Windows环境,所以本地使用了Windows 10系统+Ollama软件来部署DeepSeek-R1:14b ,部署过程比较简单,在Linux上相对就要复杂的多了,站长不会也懒得折腾。
Ollama客户端部署比较简单,官网下载Ollama 安装完即可
使用Ollama聊天模式
- 官网查看支持的大模型列表(那高低不得选DeepSeek玩一下) deepseek-r1
- 选择一个适合自己显卡或内存大小的参数模型 比如站长用的DeepSeek-R1:14b
- CMD执行命令启动聊天模式 进行体验 (已DeepSeek-R1:14b为例)
首次执行会网络下载大模型,需要等待一段时间 快慢取决于你的下载网速。
ollama run deepseek-r1:14b
如图便是大模型可以开始对话了聊天了
使用Ollama接口模式
这个其实就是本文的重点,作为程序员想要的离线部署,其实核心需求是想将大模型的推理能力集成到自己的开发的程序里,而不是单纯的聊聊天而已。web接口这块Ollama已经帮我们做好,基本算是开箱即用。
- 先完成Ollama聊天模式的体验 确保大模型已经可用
- CMD执行命令启动接口服务模式
ollama serve
恭喜你!到这里就可以使用编程的方式开始调用AI大模型进行推理作业了。
关于Ollama的接口介绍可以看 Ollama API 交互 | 菜鸟教程 下面是
C#调用大模型的例子
//以下代码需要nuget上先引用别人封装好的**Ollama**的交互封装库 string userInput="1+1=?"; string _ollamaApiServer="http://localhost:11434/api";//Ollama的默认本地接口 string _modelName="deepseek-r1:14b";//使用的模型名称 using (var ollama = new OllamaApiClient(baseUri: new Uri(_ollamaApiServer))) { Console.WriteLine("开始对话!!!"); var enumerable = ollama.Completions.GenerateCompletionAsync(_modelName, userInput); await foreach (var response in enumerable) { Console.Write($"{response.Response}"); } Console.WriteLine(); } Console.WriteLine("对话结束!!!");
本地大模型集成到线上的方案
一般网站云服务器费用都很高,有AI大模型计算能力的云服务器根本不是我们这些个人开发者能承受的,所以站长才自己组装了台性能相对不错的DIY电脑主机来运行大模型,就是为了将本地的计算能力提供给线上网站程序使用。
两种可行的方案
一、内网穿透软件代理,将本机的服务端口共享webapi出去线上网站服务请求
| 软件 | 介绍 |
|---|---|
| 贝锐花生壳 | 贝锐旗下商业软件 免费版限制流量和带宽 |
| FastTunnel | 开源免费 但需要有C#开发经验 而且需要有外网服务器 |
| frp | 与FastTunnel类似 实现的方式不同 |
有动手能力的可以使用开源的,图省事就用付费的(实际也省不了多少事,主要是自己不可控)。
二、 网站集成Socket通信服务 需要一定的编程开发能力 :本地开发一个代理Socket客户端软件,通过Socket双端通信能力来实现网站与本地大模型api的交互
这里站长使用了方案2,目前个人使用效果感觉还可以,但单个推理请求显卡基本就满载了。