GPT大模型部署及应用
本文最后更新于:2025年4月29日 下午
Ollama部署DS
私有化部署Deepseek,使用ollama
运行,使用Cherry Studio
最为客户端 UI 使用
可以搭配Page Assist
浏览器插件在浏览器中使用
安装 ollama
前往Ollama官网进行下载:Download Ollama on Windows
配置 ollama
ollama 默认会将模型下载到C盘
,对 ollama 进行配置
打开系统环节变量,添加如下:
更改模型存放位置:
变量名 | 变量值 |
---|---|
OLLAMA_MODELS | D:\ollama\models |
更改 ollama 启动ip
(当需要外部访问时)与端口
:不建议更改 ollama 默认端口 11434
变量名 | 变量值 |
---|---|
OLLAMA_HOST | 0.0.0.0:11434 |
ollama 常见命令
启动 ollma:要启动 Ollama 服务,可以使用以下命令:
ollama serve
创建模型:从模型文件创建模型:
ollama create -f ./modelfile
运行模型:要运行一个模型,可以使用以下命令:
ollama run 模型名称
例如运行谷歌 gemma 模型:ollama run gemma
列出所有模型:要列出所有可用的模型,可以使用以下命令:
ollama list
deepseek
使用 ollama 下载deepseek-R1离线模型:
进入 ollama 官网搜索对应模型:deepseek-r1
例如我们下载 deepseek-r1:32b 模型:ollama run deepseek-r1:32b
打开 ollama,在命令行输入:ollama serve
然后运行 deepseek-r1:32b,ollama run deepseek-r1:32b
,当没有这个模型时则自动下载
下载完成后,继续运行ollama run deepseek-r1:32b
,就启动了:
模型使用
R1 提示词
提示词的本质:
Prompt -> 表达
共识 1:DeepSeek-R1 的提示词技巧,就是没有技巧:
- 不需要结构设定
- 不需要结构化提示词
- 不需要给示例
共识 2:仍需要告诉 AI
足够多的背景信息
干什么?
给谁干?
目的是?(要什么)
是约束?(不要什么)
举例:我要写一个“如何理解爱因斯坦的相对论”的科普文章,给中小学生看,希望能通俗易懂、内容充实、幽默,且觉得非常实用,不要太 AI 或枯燥。
技巧 1:要求明确
万能提示词模板:你是谁 + (背景信息)+ 你的目标
你是谁:非常的有用
背景信息:告诉他你为什么做这件事,你面临的现实背景是什么或问题是什么
你的目标:说清楚它帮你做什么,做到什么程度
可视化软件
当我们安装好了ollama 与 Deepseek-R1 模型,我们还需要一个方便美观的 UI 界面
Windows 软件方面推荐:
- Cherry Studio:Cherry Studio 官网
- Chat Box:Chatbox AI 官网
浏览器 Web UI 插件:
Page Assist:Page Assis | Chrome 扩展
使用方法:
选择
Ollama
设置,填入 ollama 地址,默认为:http://localhost:11434
,添加模型
RAGflow 知识库
我们可以使用 ollama
与 RAGflow
结合搭建个人知识库
我们开始安装RAGflow,需要使用 docker 进行安装,我们从头开始:
首先,我们需要一台 Linux 服务器,我这里使用 CentOS 7 为例
1.先决条件
- CPU ≥ 4 核;
- RAM ≥ 16 GB;
- 磁盘 ≥ 50 GB;
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1。
安装 docker 及 docker-compose
安装 docker:
# 1、卸载旧的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2、需要的安装包
sudo yum install -y yum-utils
# 3、设置镜像仓库
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 推荐使用阿里云的
# 更新yum软件包索引
sudo yum makecache fast
# 4、安装docker相关的内容 docker-ce 社区
sudo yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
sudo systemctl start docker
# 测试docker是否正常
sudo docker version
# 6、设置开机自启
sudo systemctl enable docker --now
# 7、更改docker镜像,定期寻找可用的镜像源
sudo vim /etc/docker/daemon.json
# 编辑 daemon.json 文件,输入:
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://reg-mirror.qiniu.com"
]
}
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 通过检查是否镜像源已修改
sudo docker info
安装 docker-compose
# 1、下载docker-compose
sudo curl -SL \
https://gitee.com/smilezgy/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose
# 2、添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 3、测试
docker-compose --version
2.启动服务器
提供了在 Linux 上设置 RAGFlow 服务器的说明
确保 vm.max_map_count
≥ 262144:
vm.max_map_count
此值设置进程可能拥有的内存映射区域的最大数量。它的默认值是65530。虽然大多数应用程序需要少于一千个映射,但减少此值可能会导致异常行为,当进程达到限制时,系统会抛出内存不足错误。
RAGFlow v0.10.0 使用 Elasticsearch 进行多次调用。正确设置 vm.max_map_count 的值对于 Elasticsearch 组件的正常运行至关重要。
Linux:
检查vm.max_map_count
的值:
$ sysctl vm.max_map_count
重置vm.max_map_count
到一个值至少大于等于262144。
$ sudo sysctl -w vm.max_map_count=262144
警告
此更改将在系统重新启动后重置。如果下次启动服务器时忘记更新该值,您可能会收到Can't connect to ES cluster
异常。
为确保您的更改保持永久,请相应地添加或更新 /etc/sysctl.conf
中的vm.max_map_count
值:
vm.max_map_count=262144
克隆存储库:
# 拉取仓库
git clone https://github.com/infiniflow/ragflow.git
# 如果没有git,使用下面命令:
sudo yum install -y git
构建预构建的 Docker 映像并启动服务器:
运行以下命令会自动下载开发版本 RAGFlow Docker 映像。要下载并运行指定的 Docker 版本,请在运行以下命令之前将 docker/.env
中的RAGFLOW_VERSION
更新到预期版本,例如RAGFLOW_VERSION=v0.10.0
。
如果需要修改默认镜像配置,在 ragflow/docker/.env
查看隐藏文件:ls -al,进行编辑
sudo vim .env
在
.env
中,找到 RAGFLOW_IMAGE注销掉:RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0-slim
在下面取消注销:RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.0
$ cd ragflow/docker
$ chmod +x ./entrypoint.sh
$ docker compose up -d
核心映像的大小约为 9 GB,可能需要一段时间才能加载。
服务器启动并运行后检查服务器状态
这一步一定要做
$ docker logs -f ragflow-server
以下输出确认系统成功启动:
____ ______ __
/ __ \ ____ _ ____ _ / ____// /____ _ __
/ /_/ // __ `// __ `// /_ / // __ \| | /| / /
/ _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
/____/
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit
如果您跳过此确认步骤并直接登录 RAGFlow,您的浏览器可能会提示network anomaly
错误,因为此时您的 RAGFlow 可能尚未完全初始化。
如果日志中出现警告可以不用管,例如: WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
登录网站
在您的 Web 浏览器中,输入服务器的 IP 地址并登录 RAGFlow。
警告:使用默认设置,您只需要输入http://IP_OF_YOUR_MACHINE
(无端口号),因为使用默认配置时可以省略默认 HTTP 服务端口80
。
3.配置 LLM
RAGFlow 是一个 RAG 引擎,它需要与 LLM 一起工作以提供接地气、无幻觉的问答功能。目前,RAGFlow 支持以下 LLM,并且列表正在扩展:
- OpenAI
- Azure-OpenAI
- Gemini
- Groq
- Mistral
- Bedrock
- Tongyi-Qianwen
- ZHIPU-AI
- MiniMax
- Moonshot
- DeepSeek
- Baichuan
- VolcEngine
- Jina
- OpenRouter
- StepFun
注意:RAGFlow 还支持使用 Ollama、XINETH 或 LocalAI 在本地部署 LLM,但本文指南未涵盖这部分。
我们可以将本地搭建的ollama配置到 RAGflow,点击右上角人物头像进入设置 -》 选择模型供应商 -》添加 ollama 模型
我们还可以前往阿里云百炼,获取 APP Key,添加通义千问大模型:
Dify实现工作流
Dify的特点
- 开源,可本地部署、数据安全
- 插件国际化,需要魔法
官网:Dify.AI 在线应用网站:cloud.dify.ai
说明:开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。比 LangChain 更易用。
Dify本地部署
先决条件:确保已安装Docker、docker-compose
如未安装可前往安装教程:Docker - Phils的杂货铺
拉取Dify代码
github仓库:langgenius/dify
快速启动,如需修改配置,在.env
中进行修改:
cd dify
cd docker
cp .env.example .env
docker compose up -d
全部拉取成功后,访问 localhost:80
即可访问,进行管理员账户注册登录。
配置LLM
点击右上角的设置 -》选择安装模型供应商-》安装ollama-》配置ollama接口
配置好ollama后,在系统模型设置中,系统推理模型选择ollama的模型,点击保存