返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

AI老板心中的迈巴赫:DeepSeek Ollama Xinference RAGFlow Dify部署教程,RAG落地5件套!

[复制链接]
链载Ai 显示全部楼层 发表于 6 小时前 |阅读模式 打印 上一主题 下一主题


DeepSeek-R1火了之后,Ai老板部署需求大大提升,抛开效果不谈,五件套易用性和灵活性相比VLLM大大提升,门槛较低,但是效果不言而喻。

以下部署全部以docker方式进行,因为太方便了,但同时坑很多,请做好心理准备

喜欢折腾的同学可以按照下面教程进行部署,我也是被逼无奈

请杯子里面装满水,原地坐牢,不出意外的话就马上出意外了,一个BUG一支烟

Xinference部署

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

项目地址:https://github.com/xorbitsai/inference#/ 文档地址:https://inference.readthedocs.io/zh-cn/latest/#/

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
    utside;" class="list-paddingleft-2">
  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)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

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

步骤1:克隆仓库

$ gitclonehttps://github.com/infiniflow/ragflow.git
$cdragflow/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

# 使用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

依次执行:

docker compose down -v

docker compose up

https://blog.csdn.net/qq_63490595/article/details/145803280#/

不出意外的话要出意外了! http://localhost:81/login#/

    utside;" class="list-paddingleft-2">
  • 81是修改了默认web端口

dify部署

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

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

下载对应版本:

https://github.com/langgenius/dify/tags

访问安装页面:

http://localhost/install

启动报错pgdata: Operation not permitted

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

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

    utside;" class="list-paddingleft-2">
  1. 确保目录存在:
mkdir-p./volumes/db/data
    utside;" class="list-paddingleft-2">
  1. 设置正确的权限:
sudochown-R999:999./volumes/db/data
    utside;" class="list-paddingleft-2">
  1. 验证 Docker Compose 配置:确保你的docker-compose.yaml文件正确映射了 PostgreSQL 的卷。示例:
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
    utside;" class="list-paddingleft-2">
  1. 清理现有数据:
sudorm-rf./volumes/db/data/*
    utside;" class="list-paddingleft-2">
  1. 运行 Docker Compose:
dockercomposeup-d

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

具体可参考:https://blog.csdn.net/qq_53597256/article/details/143745465#/

postgres报错

修正后

新的 _docker-compose.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:

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

volumes:
-db_data:/var/lib/postgresql/data

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

# 添加卷名称
volumes:
db_data:

Ollama部署

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

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

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

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

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

Ollama 下载:https://ollama.com/download

Ollama 官方主页:https://ollama.com

Ollama 官方 GitHub 源代码仓库:https://github.com/ollama/ollama/

运行模型

ollamarundeepseek-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服务或重新打开命令行窗口以使更改生效。

缝合怪如何集成组件

    utside;" class="list-paddingleft-2">
  • RAGFlow集成Ollama
deepseek-r1:14b基础Urlhttp://host.docker.internal:11434API-Key最大token数8192
    utside;" class="list-paddingleft-2">
  • RAGFlow集成Xinference 重排序模型

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

    utside;" class="list-paddingleft-2">
  • Dify集成Ollama模型
  • Dify集成Xinference 排序模型
  • Dify集成Xinference 向量模型

Dify集成RAGFlow

  • 获取RAGFlow知识库id
  • Dify添加外部知识库

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ