当前位置: 首页 > news >正文

Linux服务器部署Deepseek、Dify、RAGflow实战教程

Ollama 安装

一、安装依赖

安装下载依赖 curl,用于解析下载 ollama 官方地址

apt install sudo
sudo apt update
sudo apt install curl

安装依赖 lspcilshw 等工具用于检测 GPU

sudo apt update
sudo apt install pciutils lshw

安装 ping 包,用于 ping 网址

sudo apt update
sudo apt install iputils-ping

二、安装 nvidia 驱动

为了使用 GPU 加速,我们还需要安装 nvidia 驱动[[Linux服务器安装cuda和cudnn实战教程]]

三、安装 Ollama

对于Linux系统,使用以下命令安装:

curl -fsSL https://ollama.com/install.sh | sh

或者手动安装

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
tar -xzf ollama-linux-amd64.tgz -C /usr/local/bin

安装完成后,运行以下命令查看是否安装成功:

ollama -v

验证安装:打开浏览器,访问http://localhost:11434,如果页面显示Ollama的界面,则说明安装成功。

四、下载模型

启动 Ollama 服务
ollama serve
下载模型

进入官网,选择模型。

# 量化的模型
ollama run deepseek-r1:70b
# q8_0量化的模型
ollama run deepseek-r1:70b-llama-distill-q8_0
# 使用不量化的模型
ollama run deepseek-r1:70b-llama-distill-fp16

# 其它模型
ollama pull nomic-embed-text
ollama run gguf/DeepSeek-Janus-Pro-7B
ollama pull bge-m3
ollama run YuZhouz/VLM-R1

要退出与 Ollama 模型的对话,可以在命令行中输入 /bye 命令。这将结束当前与模型的对话并退出程序。如果你希望使用其他方式结束对话,也可以按 Ctrl + D 键来结束对话。

删除模型命令:

ollama rm name
修改 Modelflie上下文长度限制num_ctx
  1. 获取当前模型的配置文件:
ollama show --modelfile deepseek-r1:70b > Modelfile

这会生成一个名为 Modelfile 的文件。

  1. 编辑 Modelfile 文件,找到或添加以下参数:
PARAMETER num_ctx 5000

保存文件。

  1. 使用修改后的 Modelfile 创建新的模型实例:
ollama create deepseek-r1:70b-ctx5k -f Modelfile

这将创建一个带有新上下文窗口大小的模型实例。

Docker 安装

一、Win系统安装Docker

进入 Docker: Accelerated Container Application Development 官网,下载安装包以后安装即可。

二、Linux系统安装Docker

可参考之前的文章Linux服务器RedHat安装Docker

三、配置 Docker Enging

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "max-concurrent-downloads": 3,
  "max-download-attempts": 5,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.imgdb.de",
    "https://docker.wanpeng.life",
    "https://docker.1panel.live",
    "https://hk11.606166.xyz",
    "https://docker.1panel.live",
    "https://hub.rat.dev"
  ],
  "shutdown-timeout": 1200
}

安装 Dify

前提是你已经安装好 DockerDocker Desktop

一、拉取镜像

Windows Powershell 以管理员权限运行

git clone https://github.com/langgenius/dify.git
cd dify/docker

二、配置环境

cp .env.example .env

三、修改配置

为了防止原本 80 端口被占用,因此需要修改新的端口,用记事本打开 .env 文件,搜索找到 _EXPOSE_NGINX_PORT_ 修改为下述内容:

# ------------------------------
# Docker Compose Service Expose Host Port Configurations
# ------------------------------
EXPOSE_NGINX_PORT=8081
EXPOSE_NGINX_SSL_PORT=443

一般 Dify 文件上传会有大小限制,因此我们还需要修改上传文件的大小限制,搜索 upload, 修改下述内容:

# Upload file size limit, default 15M.

UPLOAD_FILE_SIZE_LIMIT=1000

# Upload image file size limit, default 10M.

UPLOAD_IMAGE_FILE_SIZE_LIMIT=100

# Upload video file size limit, default 100M.

UPLOAD_VIDEO_FILE_SIZE_LIMIT=1000

# Upload audio file size limit, default 50M.

UPLOAD_AUDIO_FILE_SIZE_LIMIT=500

保存并退出。

四、启动服务

如果你使用的是Docker Compose V2(可以用“docker compose version”命令查看):

docker compose -p dify up -d

当出现下述,则说明下载完成

PS C:\Users\Administrator\Desktop\Deepseek\dify\docker> docker compose up -d
[+] Running 11/11
 ✔ Network docker_ssrf_proxy_network  Created                                                                                                           0.0s
 ✔ Network docker_default             Created                                                                                                           0.0s
 ✔ Container docker-sandbox-1         Started                                                                                                           0.8s
 ✔ Container docker-web-1             Started                                                                                                           1.2s
 ✔ Container docker-db-1              Started                                                                                                           1.7s
 ✔ Container docker-redis-1           Started                                                                                                           1.2s
 ✔ Container docker-weaviate-1        Started                                                                                                           1.8s
 ✔ Container docker-ssrf_proxy-1      Started                                                                                                           1.7s
 ✔ Container docker-api-1             Started                                                                                                           2.5s
 ✔ Container docker-worker-1          Started                                                                                                           2.2s
 ✔ Container docker-nginx-1           Started                                                                                                            2.8s

安装完成后,通过以下命令检查服务状态:

docker compose ps

检查要特别关注以下几个关键容器的状态:

  • docker-api-1:API服务
  • docker-web-1:Web界面
  • docker-worker-1:后台任务处理
  • docker-db-1:数据库
  • docker-redis-1:缓存服务
  • docker-nginx-1:反向代理

所有容器都应该显示"up"状态。

五、设置用户信息

然后我们可以通过浏览器访问Dify:

http://localhost:8081/install

设置用户信息即可完成登录:

[!NOTE] 用户信息
邮箱: ***********
账号:***********
密码:***********

六、配置 Dify 连接 ollam 模型

打开.env 文件,配置以下关键参数:

CONSOLE_URL=http://localhost
SERVICE_API_URL=http://localhost
UPLOAD_FILE_SIZE_LIMIT=1000 # 文件上传限制,单位MB
UPLOAD_FILE_MIME_TYPES=.pdf,.doc,.docx,.txt # 允许上传的文件类型

进入 Dify 在头像-设置——模型供应商”里添加 deepseek,点击保存。将温度设置在 0.5-0.7 (推荐 0.6) 的范围内,以防止无休止的重复或不连贯的输出。

  • 共享地址
    在 cmd 命令行窗口中输入:
ipconfig

查看本机的 IP, 加上端口号即可得到 Dify 的访问地址。

七、设置公网域名

参考 API 扩展 | Dify,由于 Dify 云端版无法访问内网 API 服务,为了方便本地调试 API 服务,可以使用 Ngrok 将 API 服务的端点暴露到公网,实现云端调试本地代码。操作步骤:

  1. 进入 https://ngrok.com 官网,注册并下载 Ngrok 文件。
  2. 下载完成后,进入下载目录,根据下方说明解压压缩包。
unzip /path/to/ngrok.zip
  1. 运行以下命令初始化脚本,将您的 authtoken 添加到默认的 ngrok.yml 配置文件中。
ngrok config add-authtoken 你的Token
  1. 查看本地 API 服务的端口
    并运行以下命令启动:
# 8082是Dify转发出来的端口
./ngrok http 8082

我们找到 Forwarding 中,https://177e-159-223-41-52.ngrok-free.app(此为示例域名,请替换为自己的)即为公网名。

按照上述的范例,我们把本地已经启动的服务端点暴露出去,将代码范例接口:http://127.0.0.1:8000/api/dify/receive 替换为 https://177e-159-223-41-52.ngrok-free.app/api/dify/receive

此 API 端点即可公网访问。至此,我们即可在 Dify 配置该 API 端点进行本地调试代码,配置步骤请参考 https://github.com/langgenius/dify-docs/blob/main/zh_CN/guides/knowledge-base/external-data-tool.md。

安装RagFlow

一、拉取镜像

git clone https://github.com/infiniflow/ragflow.git

二、修改配置

RAGFlow Docker 镜像默认v0.16.0-slim 没有embedding models,所以使用v0.16.0,需要修改配置,打开ragflow\docker.env 文件, 注释 v0.16.0-slim ,取消注释 v0.16.0

# The RAGFlow Docker image to download.
# Defaults to the v0.16.0-slim edition, which is the RAGFlow Docker image without embedding models.
# RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0-slim
#
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0

三、修改端口

原本的 80 端口和 443 端口被占用,因此需要修改端口,用记事本打开文件 docker-compose.yml, 修改为下述内容。

ports:
  - ${SVR_HTTP_PORT}:9380
  - 8082:80
  - 442:443

保存并退出

四、启动服务

使用预构建的 Docker 镜像启动服务器,进入 docker 文件夹,利用提前编译好的 Docker 镜像启动服务器:

cd ragflow/docker
docker compose -f docker-compose.yml -p ragflow up -d

这一步注意docker 下载的镜像比较大,要留有足够的存储空间,我这边观察下载了约 10 个 G 左右。
服务器启动成功后再次确认服务器状态:

docker logs -f ragflow-server

五、设置用户信息

这里注意,安装完成后并不是直接进入下面两个地址:

  • http://127.0.0.1:9380
  • http://172.18.0.6:9380

而是通过浏览器访问 ragflow:先注册账号,然后登录。

[!NOTE] 用户信息
邮箱: ***********
账号:***********
密码:***********

  • 配置 ragflow 连接 ollam 模型
    打开 ragflow,头像-设置里面添加 ollam 模型

  • 共享地址
    在 cmd 命令行窗口中输入:

ipconfig

查看本机的 IP, 加上端口号即可得到 ragflow 的访问地址。

[!error] 未找到用户
问题描述

LookupError: Tenant not found

解决方案

参考 LookupError: Tenant not found · Issue #4940 · infiniflow/ragflow
LookupError:未找到租户 ·问题 #4940 ·InfiniFlow/Ragflow

参考文章 :

用dify、ollama和DeepSeek搭建本地知识库 - 知乎
linux本地部署deepseek-R1模型_linux部署deepseek-CSDN博客
在 Windows 上配置 Ollama 服务并开放局域网访问_ollama局域网访问-CSDN博客
【RAG 实践】Ollama+RagFlow:本地知识库部署全解析_ragflow如何接入ollama的本地模型-CSDN博客
DeepSeek RAGFlow构建本地知识库系统 - 知乎
私有化部署体验 Dify!收藏这一篇就够了!_dify私有化部署-CSDN博客
在ubuntu24.04上安装Ollama并设置跨域访问_ollama 跨域-CSDN博客
ollama修改模型参数 num_ctx【Linux】_ollama调整模型参数-CSDN博客


文章转载自:

http://JErqG0O2.pfggj.cn
http://ZID6n3U1.pfggj.cn
http://sqJn4LEi.pfggj.cn
http://A1zBPahc.pfggj.cn
http://TWAgEj7m.pfggj.cn
http://GLAJl4Eh.pfggj.cn
http://sIbItFwy.pfggj.cn
http://ARqrBLQ6.pfggj.cn
http://sMsd79dJ.pfggj.cn
http://0DA0RXzb.pfggj.cn
http://92Cn9SZA.pfggj.cn
http://XuxAa5lV.pfggj.cn
http://wmerI18h.pfggj.cn
http://97ZsLc5D.pfggj.cn
http://3RQwBcmf.pfggj.cn
http://OkxTQ7RT.pfggj.cn
http://Q5xVfQJh.pfggj.cn
http://8od6yZ06.pfggj.cn
http://OTK7GXG8.pfggj.cn
http://PDd7xEN0.pfggj.cn
http://BbrxUNRl.pfggj.cn
http://t4V8q5sK.pfggj.cn
http://vxUioZ1B.pfggj.cn
http://5pyPNgeF.pfggj.cn
http://qowmJXBU.pfggj.cn
http://3STXsioP.pfggj.cn
http://UYl42xah.pfggj.cn
http://4RGDsKSH.pfggj.cn
http://occHyrhG.pfggj.cn
http://pfMatmBK.pfggj.cn
http://www.dtcms.com/a/46060.html

相关文章:

  • 代码的解读——自用
  • Spring Boot 异步编程
  • 大语言模型学习--LangChain
  • 6. 自动关闭文件
  • 知识图谱neo4j+vue+flask课程在线学习系统
  • 怎么下载安装yarn
  • Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce
  • 【计算机网络基础】-------计算机网络概念
  • postgresql源码学习(60)—— VFD的作用及机制
  • 大模型function calling:让AI函数调用更智能、更高效
  • 六十天前端强化训练之第七天CSS预处理器(Sass)案例:变量与嵌套系统详解
  • 铁锈生锈检测数据集VOC+YOLO格式600张1类别
  • SSH密码更改
  • 【HTTP】解码网络通信的奥秘:HTTP,IP 地址,端口,DNS及NAT地址转换的协同之舞
  • The “Rule-of-Zero“ should be followed (s4963)
  • 【Envi遥感图像处理】014:影像非监督分类
  • JS宏案例:多项式回归
  • 数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
  • Spark核心之01:架构部署、sparkshell、程序模板
  • 前端面试题最新版
  • DeepSeek + dify 搭建本地知识库
  • DifyでOracle Base Database Service(23ai)を利用する設定手順
  • 1114棋盘问题acwing(深度优先搜索)
  • 机器学习的三个基本要素
  • Docker入门指南:Windows下docker配置镜像源加速下载
  • 火山引擎AI一体机-DeepSeek版来了
  • 代码随想录算法【Day60】
  • 数据结构(初阶)(七)----树和二叉树(前中后序遍历)
  • 【2025-03-02】基础算法:二叉树 相同 对称 平衡 右视图
  • 前端控制器模式