deepseek-r1落地指南(搭建web-ui | 搭建本地代码编辑器)
deepseek-r1落地指南(搭建web-ui | 搭建本地代码编辑器)
写在前面
前两天写了一篇《deepseek-r1本地部署指南》,今天就deepseek-r1本地部署,讲解一下本地部署的大模型如何落地(应用),以便提高工作效率。目前只接触了两类,下面进行介绍。
搭建 web ui 用于网页对话
前两天介绍的deepseek-r1本地部署,最后得到效果是在控制台进行提问,就像下面这样。
这样很不方便,我们无法对我们的聊天内容进行管理。这时,一个类似于Chat GPT这样的网页对话功能就显得十分重要。
我选择的是Open web ui,具体效果如下。
如果你对其他web ui感兴趣,可以参考博客 7个用于运行LLM的最佳开源WebUI ,选择一个自己喜欢的 web ui。
下面讲解如何搭建,在此之前我们需要安装 docker 。
我们进入docker 官网,选择自己电脑对应的版本,然后点击下载。
下载完成之后,点击安装,注意docker的安装也是默认C盘的,请确保C盘有足够的容量。
安装完成后,我们打开docker,注册登录一下docker,然后在右下角点击Terminal,打开控制台,然后输入下面命令,然后等待安装完成。
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果是使用其他方式安装(没有参考《deepseek-r1本地部署指南》使用 Ollama安装) deepseek-r1的读者可以参考 open-web-ui官方文档。
https://github.com/open-webui/open-webui
安装完成之后,我们在左侧点击Images(镜像),点击运行,如果需要有配置,默认即可。
点击Container(容器),点击
此时会打开web ui网页,注册open web-ui账号即可使用。如果无法显示,可以点击进入容器查看
查看log日志查看存在什么问题,或者尝试重启
使用deepseek-r1 + Vscode + Cline/Continue 构建本地代码编辑器
这个落地方案是实现本地代码编辑器,但是具体的效果见仁见智,prompt使用的好的话还是挺不错的。主要的好处就是本地搭建的大模型可以很好的保护隐私。本文提供了两种方案,一个是deepseek-r1 + Continue的方案,另一种是deepseek-r1 + Cline的方案,感兴趣的读者都可以试试😜。
deepseek-r1 + Vscode + Continue
在Vscode中下载 Continue插件
配置Continue
在config.json
文件中,models
中加入我们下载好的deepseek-r1模型,配置可以参考我的
{
"model": "deepseek-r1:14b",
"title": "deepseek-r1:14b",
"provider": "ollama",
"systemMessage": "You are an expert software developer. You give helpful and concise responses."
},
{
"model": "deepseek-r1:8b",
"title": "deepseek-r1:8b",
"provider": "ollama",
"systemMessage": "You are an expert software developer. You give helpful and concise responses."
}
然后可以在左侧的对话框中选择我们配置好的模型了。
最后测试一下,我的 Prompt 如下
**资深深度学习专家**:你是一名拥有10年深度学习开发经验的人工智能专家,并且专注于时序序列领域,尤其是股票预测方向。
### 目标
- 复现一个Transformer模型,并且能够通用的在时序序列数据上使用(主要是股票数据)。生成预测数据与真实对比的图像。
### 技能
- 擅长使用Vscode编程,使用python语言,并且能够进行代码调试。
- 擅长模型参数调试,知道如何调试模型并选取优秀的参数。
- 擅长本地环境搭建
### 工作流程
模型设计:
1. 设计Transformer模型组件Attention
2. 设计Transformer模型的encoder
3. 设计Transformer模型的decoder
4. 设计Transformer模型model
5. 上面提到的模型文件分别用.py文件存储,然后统一放在src下的models文件夹中
6. 模型参数:
- 嵌入维度:32,64
- 注意力头数:8,4
- 注意力层数:2,1
- 学习率:0.001,0.01
预处理:
1. 对于给定的数据(csv文件)进行预处理,删除字符和日期这类特征。
2. 将数据进行归一化,然后进行分批(batch)输入到模型中
3. 归一化提供Z-score标准化、Min-Max标准化或不使用标准化三种方法
4. 训练集和测试集比例为8:2,使用滑动窗口,默认使用7天预测下一天的数据
5. 数据放在src文件夹下的data文件夹中
模型训练:
1. 设计不同的参数进行训练
2. 设计模型训练,epoch为100-200
3. 使用Adam optimizer。
4. 早停条件,监控验证集损失,当连续若干epoch损失不再下降时停止训练。
5. 为模型设计中的参数设置不同组合,以寻找最佳配置
结果保存:
1. 绘图使用python的matplotlib库
2. 预测的值用橙色线画出,真实值用蓝色画出
3. 将不同的参数设置为图片名进行保存
4. 将最终的MSE、MAE、R2、MAPE的结果保存到csv中,上面指标为纵轴,横轴为模型中的参数。
5. 结果统一放在src下的result中,图片放在/src/result/figures,结果放在/src/result/data
### 定义
- Transformer表示人工智能自然语言处理(Natrual Language Process)领域中的论文《Attention is All you Need》中提出的模型Transformer。
### 约束条件
- 确保代码不用于非法金融活动,如操纵市场
- 主机配置:
1. cpu:amd r3-3100
2. gpu:RTX3060 8g
3. SYSTEM:win11
4. MEMORY: 16G
### 描述
### 输出格式
1. 首先生成模型的目录结构
2. 然后生成对应的模型文件
3. 如果模型无法运行,需要自动debug(调试)
### 初始化
你是一名拥有10年深度学习开发经验的人工智能专家,并且专注于时序序列领域,尤其是股票预测方向,请以专业和创新的视角思考问题。
由于输出太长了,仅展示部分输出。
deepseek-r1 + Vscode + Cline
首先是安装Cline插件
配置信息可以参考
API选择 Ollama,指令这里我只设了一个简单的“使用中文回答问题”。
使用Prompt和Continue测试的Prompt一致(偷个懒),部分结果展示如下
以上就是本文的全部内容了,由于过年回家,文章写的有点粗糙,如果有不懂的读者欢迎在下方留言❤️~