Deepseek部署+Dify知识库构建
一、DeepSeek快速安装部署
DeepSeek是这段时间最热门的话题之一,其蒸馏模型可以实现低成本而高质量的推理,使得我们现在可以在本地小型化的硬件上也用上大模型这一AI利器。本实验指导用户通过Ollama来部署DeepSeek R1模型。
本实验是deepseek的部署体验实验,选用deepseek:1.5b版本,权重文件大小约为1.1G,方便快速下载。并且该版本在CPU环境下部署运行时,流畅性能满足个人体验使用。
通过本实验,开发者可以了解并掌握通过Ollama来部署DeepSeek R1模型的常用方法。
操作前提
点击浏览器刷新按钮,刷新实验界面
1. 登录账号后,将跳转至控制台页面,点击左上角服务列表按钮,找到【弹性云服务器ECS】,点击进入ECS控制台界面:
1. 登录账号后,将跳转至控制台页面,点击左上角服务列表按钮,找到【弹性云服务器ECS】,点击进入ECS控制台界面:

说明:如选项卡里没有【弹性云服务器ECS】,可在搜索框里输入“ECS”搜索。
2. 点击右上角“购买弹性云服务器”按钮

3. 计费模式选择“按需计费”,区域选择“北京四”

4. 选择“x86计算”架构,规格选择“**c7.xlarge.2**”
本实验是deepseek的部署体验,选用deepseek:1.5b版本,权重文件大小约为1.1G,支持在CPU环境下部署运行,选用4C8G的ECS即可。

5. 镜像选择“CentOS 7.6 64bit”
6. 系统盘大小增加至100G

7. 接下来配置网络
VPC:保持默认即可:

说明:如果没有默认VPC, 可点击后面的“新建虚拟私有云”创建。
8. 安全组:保持default安全组选中即可:

说明:如果没有默认安全组,可点击“新建安全组”创建。
9. 公网访问:
弹性公网IP:现在购买
线路:全动态BGP
公网带宽:选择“按流量计费”
带宽大小:100
说明:因Ollama拉取Deepseek模型速度不稳定,使用默认带宽下载可能会超时,请按照建议带宽配置。

10. 云服务器管理
云服务器名称:ecs-cent
密码:Huawei1234%
(请记住此密码,注意:服务器名称和密码必须是以上值,否则影响实验进度显示。)
点击“下一步:确认配置”

11. 勾选协议,点击“立即购买”:

创建完成,可在首页看到刚创建的ECS

1. 远程登录ECS

2. 使用CloudShell登录

3. 输入密码,密码为购买ECS是输入的root密码Huawei1234%,点击“连接”

进入后,如下所示:

Ollama 是一个强大的开源工具,旨在帮助用户在本地运行、管理和部署大型语言模型(LLMs,Large Language Models)。它简化了 LLMs 的安装、配置和运行流程,使用户能够快速下载、运行和与各种预训练的语言模型进行交互。Ollama 支持多种流行的开源模型(如 LLaMA、Mistral、DeepSeek 等),特别适合开发者在本地环境中快速实验和开发。
下面,为您提供两种方案来安装ollama:方案一通过linux命令从github下载最新版本的工具进行安装;方案二通过下载已备份在OBS中的ollama工具进行安装,下载速度较快,ollama版本为2024年2月10日版本。
方案一:执行linux命令安装Ollama
执行linux命令
curl -fsSL https://ollama.com/install.sh | sh

说明:Ollama工具是在github上进行下载,可能会存在失败情况,失败后,可再次执行命令重试,也可以采用方案二进行安装。
方案二:下载Ollama安装包安装
下载Ollama安装包
wget https://sandbox-experiment-files.obs.cn-north-4.myhuaweicloud.com/deepseek/ollama-linux-amd64.tgz

解压安装包
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
增加执行权限,创建Ollama用户
sudo chmod +x /usr/bin/ollama
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
创建ollama.service
cat << EOF > /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
EOF
重新加载配置文件
sudo systemctl daemon-reload
将服务添加到启动时期的目录
sudo systemctl enable ollama
启动ollama服务
sudo systemctl start ollama
检查启动成功,执行命令:
ollama -v

至此,ollama服务安装启动完成。
借助 ollama 工具来部署 Deepseek 大模型,以下为您提供两种方案:方案一通过ollama命令拉取 deepseek-r1:1.5b,模型版本与社区版本一致,但模型拉取时间较长;方案二通过下载已备份在OBS中的模型文件进行部署,下载速度较快,Deepseek版本为2024年2月14日版本。
方案一:使用ollama拉取 deepseek-r1:1.5b ,模型版本与社区一致,但模型拉取时间较长,请耐心等待。
如拉取失败,可重新执行命令进行拉取。
如拉取速度变慢,可使用 ctrl+c 停止命令,重新执行拉取命令进行拉取,ollama拉取支持断点续传。
ollama pull deepseek-r1:1.5b

运行deepseek-r1:1.5b
ollama run deepseek-r1:1.5b

方案二:从OBS下载ollama模型文件并运行,版本为2025年2月14日版本
从OBS下载文件
wget https://sandbox-experiment-files.obs.cn-north-4.myhuaweicloud.com/deepseek/ollama_deepseek_r1_1.5b.tar.gz

解压缩
sudo tar -C /usr/share/ollama/.ollama/models -xzf ollama_deepseek_r1_1.5b.tar.gz
将模型文件放在ollama目录
cd /usr/share/ollama/.ollama/models
mv ./deepseek/sha256* ./blobs
mkdir -p ./manifests/registry.ollama.ai/library/deepseek-r1
mv ./deepseek/1.5b ./manifests/registry.ollama.ai/library/deepseek-r1
rm -rf deepseek/
查看ollama模型列表
ollama list

运行deepseek-r1:1.5b
ollama run deepseek-r1:1.5b

至此请赶快和deepseek聊一聊吧!
说明:可以通过实验界面右上角的【复制粘贴】向实验桌面传入中文,将要提问的内容粘贴到复制粘贴板上,在待写入的窗口右键,选择粘贴即可。

样例:生成ai学习的学习计划
说明:如果遇到deepseek回答不准确,建议传入 /bye ,停止deepseek,尝试重新运行。

但是当我询问专业一点的知识的时候,通用大模型是没有办法实现的,这里就需要用到知识库来回答。
二、快速搭建Dify LLM应用开发平台
1 方案概述
Dify官方在国内未提供SaaS服务,该解决方案基于Flexus云服务器X实例帮助您快速私有化部署开箱即用的Dify LLM应用开发平台,使开发者可以快速搭建生产级的生成式AI应用。
方案架构
图1-1 方案架构图
该解决方案将会一键部署如下资源:
- 创建1台华为云Flexus云服务器X实例,用于搭建Dify-LLM应用开发平台。
- 创建1个弹性公网IP EIP并关联华为云Flexus云服务器X实例,提供访问公网和被公网访问能力。
- 创建一个安全组,通过配置安全组规则,为云服务器提供安全防护。
2 快速部署
本章节主要帮助用户快速一键部署Dify-LLM应用开发平台,预计5-10分钟部署完成(受网络影响可以能会有波动)。
步骤 1 浏览器访问Dify-LLM应用开发平台一键部署解决方案主页,如下图所示,选择需要部署的区域,单击一键部署。
图2-1 选择部署区域
步骤 2 在选择模板界面中,单击“下一步”。
图2-2 选择模板
步骤 3 在配置参数界面中,密码为必填项,其他参数可使用默认值(参考附录 表5-3参数说明),单击“下一步”。(如果这台Dify服务器需要对接数字人,推荐安装Dify 0.15.2版本,请在dify_version选项填入0.15.2)
图2-3 配置参数
步骤 4 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托(可不选),打开回滚设置开关,单击“下一步”。
图2-4 资源栈设置
步骤 5 在配置确认界面中,单击“创建执行计划”。
图2-5 配置确认
步骤 6 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。
单击“部署”,并且在弹出的执行计划确认框中单击“执行”。
图2-6 执行计划
步骤 8 (可选)如果计费模式选择“包年包月”,在余额不充足的情况下(所需总费用请参考表5-2)请及时登录费用中心,手动完成待支付订单的费用支付。
步骤 9 待“事件”中出现“Apply required resource success”,表示该解决方案资源已发放完成。
图2-7 部署完成
步骤 10 刷新页面,在“输出”中查看Dify-LLM应用开发平台访问说明。
图2-8 说明
3 开始使用
安全组规则修改(可选)
步骤 1 登录开发平台:等待应用下载及部署完毕(约5-10分钟)后,输入快速部署步骤10的访问地址,即可浏览Dify的开发平台。首次登陆需注册管理员账号,依次填写邮箱、账号、密码。
图3-1 Dify平台
步骤二 如需关闭、重启、管理此文档创建的FleuxsX 实例资源,请前往x实例控制台。
拓展应用请参考:
4 一键卸载
步骤 1 登录资源编排 RFS资源栈,找到该解决方案创建的资源栈,单击资源栈名称右侧“删除”按钮。
图4-1 一键卸载
步骤 2 在弹出的删除资源栈确定框中,删除方式选择删除资源,输入Delete,单击“确定”,即可卸载解决方案。
图4-2 删除资源栈确认
5 附录
资源和成本规划
该解决方案主要部署如下资源,以下费用仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准。
表5-1 资源和成本规划(按需计费)
华为云服务 |
配置示例 |
每月预估花费 |
华为云Flexus云服务器X实例 |
按需计费 区域:华北-北京四 规格:Flexus云服务器X实例 | 性能模式(关闭)| x1.2u.4g | 2核 | 4 GB 镜像:Ubuntu 22.04 server 64bit 系统盘:高IO | 100GB 购买量:1 |
197.28元 |
弹性公网IP EIP |
区域:华北-北京四 计费模式:按需计费 线路:动态BGP 公网带宽:按流量计费 带宽大小:300Mbit/s 购买量:1 |
0.80元/GB |
合计 |
- |
197.28元 + 弹性公网IP EIP费用 |
表5-2 资源和成本规划(包年包月)
华为云服务 |
配置示例 |
每月预估花费 |
华为云Flexus云服务器X实例 |
包年包月 区域:华北-北京四 规格:Flexus云服务器X实例 | 性能模式(关闭)| x1.2u.4g | 2核 | 4 GB 镜像:Ubuntu 22.04 server 64bit 系统盘:高IO | 100GB 购买量:1 |
143.00元 |
弹性公网IP EIP |
区域:华北-北京四 计费模式:按需计费 线路:动态BGP 公网带宽:按流量计费 带宽大小:300Mbit/s 购买量:1 |
0.80元/GB |
合计 |
- |
143.00元 + 弹性公网IP EIP费用 |
表5-3 参数说明
参数名称 |
类型 |
是否可选 |
参数解释 |
默认值 |
vpc_name |
string |
必填 |
虚拟私有云名称,该模板使用新建VPC,不允许重名。取值范围:1-54个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 |
dify-llm-application-development-platform-demo |
secgroup_name |
string |
必填 |
安全组名称,该模板新建安全组,请参考安全组规则修改进行配置。取值范围:1-64个字符,支持字母、数字、中文、下划线(_)、中划线(-)、英文句号(.)。 |
dify-llm-application-development-platform-demo |
ecs_name |
string |
必填 |
云服务器实例名称,不支持重名。取值范围:1-60个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 |
dify-llm-application-development-platform-demo |
flexus_flavor |
string |
必填 |
云服务器实例规格,支持弹性云服务器 ECS及华为云Flexus 云服务器X实例。Flexus 云服务器X实例规格ID命名规则为x1.?u.?g,例如2vCPUs4GiB规格ID为x1.2u.4g,具体华为云Flexus 云服务器X实例规格请参考控制台。弹性云服务器规格名称,具体请参考官网弹性云服务器规格清单。 |
x1.2u.4g |
ecs_password |
string |
必填 |
云服务器密码,长度为8-26位,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种,仅支持小写字母、数字、中划线(-)、英文句号(.)。修改密码,请参考重置云服务器密码登录ECS控制台修改密码。管理员账户默认root。 |
空 |
gitlab_password |
string |
必填 |
搭建的gitlab私有仓库密码,取值范围:长度为8-26个字符,密码至少包含大写字母、小写字母、数字和特殊字符(~!@#%^-_=)中的三种,gitlab用户名默认root。 |
空 |
ecs_volume_size |
number |
必填 |
云服务器系统盘大小,磁盘类型默认为高IO,单位:GB,取值范围为40-1,024,不支持缩盘。 |
100 |
bandwidth_size |
number |
必填 |
弹性公网带宽大小,该模板计费方式为按流量计费。单位:Mbit/s,取值范围:1-300Mbit/s。 |
300 |
charging_mode |
string |
必填 |
计费模式,默认自动扣费,取值为prePaid(包年包月)或postPaid(按需计费)。 |
postPaid |
charge_period_unit |
string |
必填 |
计费周期单位,当计费方式设置为prePaid,此参数是必填项。有效值为:month(包月)和year(包年)。 |
month |
charge_period |
number |
必填 |
计费周期,当计费模式设置为prePaid,此参数是必填项。可选值为:1-3(year)、1-9(month)。 |
1 |
当您首次使用华为云时注册的账号,则无需执行创建rf_admin_trust委托,如果您使用的是IAM用户账户,请确认您是否在admin用户组中,如果您不在admin组中,则需要为您的账号授予相关权限,并完成以下步骤。
创建rf_admin_trust委托(可选)
步骤 1 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“统一身份认证”菜单。
图5-1 统一身份认证菜单
步骤 2 进入“委托”菜单,搜索“rf_admin_trust”委托。
图5-2 委托列表
- 如果委托存在,则不用执行接下来的创建委托的步骤
- 如果委托不存在时执行接下来的步骤创建委托
步骤 3 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,选择“RFS”,单击“下一步”。
图5-3创建委托
步骤 4 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。
图5-4 选择策略
步骤 5 选择“所有资源”,并单击“下一步”完成配置。
图5-5 设置授权范围
步骤 6 “委托”列表中出现“rf_admin_trust”委托则创建成功。
图5-6 委托列表
约束与限制
- 部署该解决方案之前,您需要注册华为账号并开通华为云,完成实名认证,且账号不能处于欠费或冻结状态,请根据附录 表5-2中预估价格,确保余额充足。
名词解释
- 华为云Flexus云服务器X实例:Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器。Flexus云服务器X实例功能接近ECS, 同时还具备独有特点,例如Flexus云服务器X实例具有更灵活的vCPU内存配比、支持热变配不中断业务变更规格、支持性能模式等。
- 弹性云服务器 ECS:是一种云上可随时自助获取、可弹性伸缩的计算服务,可帮助您打造安全、可靠、灵活、高效的应用环境。
- 虚拟私有云 VPC:是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以基于VPC构建独立的云上网络空间,配合弹性公网IP、云连接、云专线等服务实现与Internet、云内私网、跨云私网互通,帮您打造可靠、稳定、高效的专属云上网络。
- 弹性公网IP EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑,提供访问公网和被公网访问能力。
三、开通ModelArts Studio 模型服务+ 使用Dify 知识库平台构建Agent
3.1 ModelArts Studio 模型服务
3.1.1 访问 ModelArts Studio 模型部署
进入云主机,打开浏览器,输入 https://console.huaweicloud.com/modelarts/?region=cn-east-4&locale=zh-cn#/model-studio/deployment
,即可访问ModelArts Studio。
3.1.2 领取免费 Token 额度
领取千万免费token额度,可用于体验Qwen、Chatglm等系列模型,免费额度仅适合用于体验模型。Qwen2.5系列预置服务还支持Function Calling,可以用于构建Agent。
3.1.3 获取大模型API和名称
以Qwen2_5-72B-Instruct
为例,点击更多-调用,获取API地址和模型名称。
3.1.4 创建API Key
左侧鉴权管理-创建API Key,保存创建的密钥信息
最多创建5个密钥,密钥只会在新建后显示一次,请妥善保存。
3.1.5 调试大模型API
我们使用 curl 脚本调试大模型API,确保API配置可用,在终端执行以下命令。
# 调试API
curl -X POST "yourBaseUrl" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer yourApiKey" \
-d '{
"model": "yourModelName",
"max_tokens": 20,
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"stream": false,
"temperature": 1.0
}'
请把
yourBaseUrl
、yourApiKey
、yourModelName
替换为步骤3.1.3和步骤3.1.4中的信息。
能看到类似的返回即为API配置可用。
{"id":"chat-1d324bf7eb884c728b2542ddc53f7218","object":"chat.completion","created":1734748674,"model":"Qwen2.5-72B","choices":[{"index":0,"message":{"role":"assistant","content":"你好!很高兴见到你!你有什么问题或者需要帮助吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":20,"total_tokens":35,"completion_tokens":15},"prompt_logprobs":null}
3.2 安装和配置Dify.AI
3.2.1 安装Dify.AI
安装脚本见: https://gitcode.com/huqi/huaweicloud-dify
如有问题欢迎反馈: https://gitcode.com/huqi/huaweicloud-dify/discussion
# 下载安装脚本
sudo wget -P /home/ https://raw.gitcode.com/huqi/huaweicloud-dify/raw/main/install.sh
# 执行安装脚本
sudo bash /home/install.sh
安装完毕后显示安装过程结束,详细日志请查看: /var/dify-install.log
即为安装成功。
3.2.2 登录Dify.AI
通过云主机,打开浏览器,输入http://127.0.0.1
,即可访问Dify.AI。
如果端口80无法访问,我们可以通过命令去查看端口的使用情况,确定Dify.AI使用的端口。
# 查看端口使用情况
sudo netstat -tulnp | grep docker
首次登陆需注册管理员账号,依次填写邮箱、账号、密码。
3.2.3 配置Dify.AI
进入Dify平台,点击右上角设置,进入模型供应商页签,选择OpenAI-API-compatible
供应商,关键信息配置如下:
- 模型类型选择
LLM
- 模型名称请填入步骤2.1.3服务信息中的模型名称
API Key
请填入步骤2.1.4中创建的API Key
API endpoint URL
请填入步骤2.1.3中的API地址,并且删除最后面chat/completions
部分Completion mode
请选择对话- 模型上下文长度\最大 token 上限保持默认
Function calling
保持默认不支持Stream function calling
保持默认不支持- 流模式返回结果的分隔符保持默认
\n\n
3.3 构建Agent
3.3.1 创建Agent
在Dify平台(http://127.0.0.1/apps),点击工作室–Agent-创建空白应用,进入Agent页签,填写Agent名称。
3.3.2 Agent 设置
在右上角单击“Agent 设置”,选择上一步配置好的模型进行使用。
Function Call 模式会报错,实际使用代理模型,下图为 Agent 设置示意图
3.3.3 编排提示词配置
在“编排”页面的“提示词”文本框,输入以下信息。
你是一位乐于助人的AI助手。在回答用户问题时,你需要遵循以下原则:
1. 始终使用自然语言解释你将要采取的行动
2. 在调用工具之前,说明你要使用哪个工具以及原因
3. 在获取信息的过程中,清晰地描述你正在做什么
4. 永远不要返回空的回复 - 确保用自然语言解释你的每个步骤
举例说明:
当用户询问今日热点新闻时,你应该这样回复:
"让我使用新闻搜索工具为您查询今日热点新闻..."
然后再进行具体的工具调用。
重要提示:
- 先表达你的理解和计划
- 再使用相应的工具
- 每次回复都必须包含对用户的清晰解释
基于以上原则,请根据用户的问题,给出相应的回答。
3.3.4 编排工具配置
在“编排”页面的“工具”区域右侧,单击“添加”,按需添加工具并与模型进行对话调用。
Dify内置有丰富的插件,同时支持自定义工具的创建
3.3.5 调试Agent
我们可以进行调试和预览。
3.3.5 使用Agent
我们可以通过网页的方式,直接与Agent对话,也可以通过API的方式,将Agent集成到其他系统中。
4 实验总结
通过本实验,我们了解了如何使用ModelArts Studio平台和开源Agent框架Dify.AI构建个性化聊天助手。ModelArts Studio提供了丰富的开源大模型资源,支持一键部署模型服务并通过API调用。Dify.AI则是一个功能强大的Agent开发框架,通过可视化的工作流编排方式,让开发者能够快速构建聊天助手、知识库、Agent等智能应用,大幅提升AI应用开发效率。
4 参考文档
我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987
- 点赞
- 收藏
- 关注作者
- 点赞
- 收藏
- 关注作者
评论(0)