AI老板心中的迈巴赫:DeepSeek+Ollama+Xinference+RAGFlow+Dify部署教程,RAG产品化体验5件套

DeepSeek-R1火了之后,Ai老板部署需求大大提升,抛开效果不谈,五件套易用性和灵活性相比VLLM大大提升,门槛较低,但是效果不言而喻。 以下部署全部以docker方式进行,因为太方便了,但同时坑很多,请做好心理准备
喜欢折腾的同学可以按照下面教程进行部署,我也是被逼无奈
请杯子里面装满水,原地坐牢,不出意外的话就马上出意外了,一个BUG一支烟

Xinference部署

Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。

项目地址:github.com/xorbitsai/i... 文档地址:inference.readthedocs.io/zh-cn/lates...

bash 复制代码
docker run \
  --name xinference \
  -d \
  -p 9997:9997 \
  -e XINFERENCE_HOME=/data \
  -v $(pwd):/data \
  --gpus all \
  xprobe/xinference:latest \
  xinference-local -H 0.0.0.0
  1. docker run - 启动一个新的Docker容器
  2. --name xinference - 将容器命名为"xinference"
  3. -d - 以分离(后台)模式运行容器
  4. -p 9997:9997 - 将容器的9997端口映射到主机的9997端口
  5. -e XINFERENCE_HOME=/data - 设置环境变量,指定Xinference的主目录为容器内的/data
  6. -v $(pwd):/data - 将当前工作目录挂载到容器内的/data目录,实现数据持久化
  7. --gpus all - 允许容器使用主机上的所有GPU资源
  8. xprobe/xinference:latest - 使用最新版本的xprobe/xinference镜像
  9. xinference-local -H 0.0.0.0 - 在容器内运行xinference-local命令,并设置主机地址为0.0.0.0(允许从任何IP地址访问)

部署成功之后可以直接访问:http://localhost:9997

部署一个reranker

选择从modelscope下载速度比较快

部署成功之后

RAGFlow部署

RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

项目地址:github.com/infiniflow/... 文档地址:ragflow.io/docs/dev/

步骤1:克隆仓库

bash 复制代码
$ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/docker
$ git checkout -f v0.17.2

步骤2:使用预构建的Docker镜像并启动服务器

注意 : 下面的命令会下载v0.17.2-slim版本的RAGFlow Docker镜像。有关不同RAGFlow版本的说明,请参考下表。如果要下载不同于v0.17.2-slim的RAGFlow版本,请在使用docker compose启动服务器之前,在docker/.env 中相应地更新RAGFLOW_IMAGE变量。例如:设置RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.2以获取完整版本v0.17.2

bash 复制代码
# 使用CPU进行嵌入和DeepDoc任务:
$ docker compose -f docker-compose.yml up -d

# 使用GPU加速嵌入和DeepDoc任务:
# docker compose -f docker-compose-gpu.yml up -d

问题3: ragflow-mysql is unhealthy

dependency failed to start: container ragflow-mysql is unhealthy

依次执行:

bash 复制代码
docker compose down -v 

docker compose up

blog.csdn.net/qq_63490595...
不出意外的话要出意外了! http://localhost:81/login#/

  • 81是修改了默认web端口

Dify部署

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

项目地址:github.com/langgenius/... 文档地址:docs.dify.ai/zh-hans#/

下载对应版本:

github.com/langgenius/...

访问安装页面:

http://localhost/install

启动报错pgdata: Operation not permitted

以下是关于解决 PostgreSQL 权限错误的步骤的中文翻译:

错误 /var/lib/postgresql/data/pgdata: Operation not permitted 通常是由于 PostgreSQL 尝试使用的目录存在权限问题。以下是解决步骤:

  1. 确保目录存在:
bash 复制代码
mkdir -p ./volumes/db/data
  1. 设置正确的权限:
bash 复制代码
sudo chown -R 999:999 ./volumes/db/data
  1. 验证 Docker Compose 配置 :确保你的 docker-compose.yaml 文件正确映射了 PostgreSQL 的卷。示例:
yaml 复制代码
version: '3'
services:
  db:
    image: postgres:15-alpine
    restart: always
    environment:
      PGUSER: postgres
      POSTGRES_PASSWORD: difyai123456
      POSTGRES_DB: dify
      PGDATA: /var/lib/postgresql/data/pgdata
    volumes:
      - ./volumes/db/data:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD", "pg_isready" ]
      interval: 1s
      timeout: 3s
      retries: 30
  1. 清理现有数据:
bash 复制代码
sudo rm -rf ./volumes/db/data/*
  1. 运行 Docker Compose:

    docker compose up -d

dify docker部署后,在install界面卡住,step请求报502的问题解

具体可参考:blog.csdn.net/qq_53597256...

postgres报错

修正后

新的 _docker-compose.yaml

yaml 复制代码
# PostgreSQL 数据库
db:
  image: postgres:15-alpine
  restart: always
  environment:
    PGUSER: xxxx
    # 默认 postgres 用户的密码
    POSTGRES_PASSWORD: xxxx
    # 默认的 postgres 数据库名称
    POSTGRES_DB: dify
    # PostgreSQL 数据目录
    PGDATA: /var/lib/postgresql/data/pgdata
  volumes:
    - db_data:/var/lib/postgresql/data
  # 取消注释以将数据库(PostgreSQL)的端口暴露给主机
  # ports:
  #   - "9999:9999"
  healthcheck:
    test: [ "CMD", "pg_isready" ]
    interval: 1s
    timeout: 3s
    retries: 30

# 添加卷名称
volumes:
  db_data:

简而言之,修复了以下问题:

yaml 复制代码
volumes:
  - db_data:/var/lib/postgresql/data

在文件最后并添加了以下内容:

yaml 复制代码
# 添加卷名称
volumes:
  db_data:

Ollama部署

Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。

Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。

Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。

与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。

Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源

Ollama 下载:ollama.com/download
Ollama 官方主页:ollama.com
Ollama 官方 GitHub 源代码仓库:github.com/ollama/olla...

运行模型

bash 复制代码
ollama run deepseek-r1:14b

以下是Ollama在Windows系统中常用的环境变量表格,包含了描述和示例值:

环境变量 描述 默认值 示例值
OLLAMA_HOST 指定Ollama服务器的主机地址和端口 127.0.0.1:11434 0.0.0.0:11434 或 192.168.1.100:11434
OLLAMA_MODELS 指定模型文件的存储位置 %USERPROFILE%.ollama\models D:\ollama\models
OLLAMA_KEEP_ALIVE 控制模型在内存中保持加载状态的时间(秒) 5分钟(300秒) 1800 (30分钟)
OLLAMA_VERBOSE 启用详细日志输出 0 1
OLLAMA_TIMEOUT API请求超时时间(秒) 30 60

设置这些变量后,记得重启Ollama服务或重新打开命令行窗口以使更改生效。

缝合怪如何集成组件

  • RAGFlow集成Ollama
text 复制代码
deepseek-r1:14b
基础 Url
http://host.docker.internal:11434
API-Key
最大token数
8192
  • RAGFlow集成Xinference 重排序模型

我在Xinference 运行了一个排序模型 ip填写本机地址

  • Dify集成Ollama模型
  • Dify集成Xinference 排序模型
  • Dify集成Xinference 向量模型

Dify集成RAGFlow

  • 获取RAGFlow知识库id
  • Dify添加外部知识库
相关推荐
蜗牛沐雨9 分钟前
RAG 技术:让大型语言模型更智能
人工智能·语言模型·自然语言处理
夏莉莉iy44 分钟前
[CVPR 2025]Neuro-3D: Towards 3D Visual Decoding from EEG Signals
人工智能·python·深度学习·神经网络·机器学习·3d·线性回归
learn_think1 小时前
pytorch小土堆学习有感
人工智能·pytorch·学习
晨航1 小时前
清华大学第12弹:《DeepSeek政务应用场景与解决方案》.pdf(文末附免费下载地址)
人工智能·ai·aigc·政务
果冻人工智能1 小时前
自主代理的摩尔定律:AI 的指数级革命
人工智能
积木链小链1 小时前
智能制造:能源监控项目实战详解
人工智能·智能制造·数字化转型
帅小柏1 小时前
《声音的未来:语音识别文献解读》专栏介绍及其文章解读目录
人工智能·语音识别
代码骑士1 小时前
支持向量机(Support Vector Machine)基础知识2
人工智能·机器学习·支持向量机
大模型铲屎官1 小时前
支持向量机(SVM):从入门到精通的机器学习利器
开发语言·人工智能·深度学习·算法·机器学习·llm·支持向量机(svm)
xinxiyinhe2 小时前
Netlify 的深度解析及使用指南
人工智能·netlify