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

ragflow部署以及api调用整理

一、部署前准备

  1. 系统要求
    • 硬件:CPU≥4核,内存≥16GB,硬盘≥50GB(slim版本约10GB,完整版约18-20GB)
    • 软件:Docker≥24.0.0、Docker Compose≥v2.26.1、Git(若需克隆仓库)。
  2. 环境配置
    • Docker镜像加速:国内用户需在Docker配置中添加镜像源(如阿里云、网易云等),否则可能拉取失败。
    • 虚拟化支持:Windows需启用Hyper-V、容器等组件;Linux需检查vm.max_map_count≥262144(临时设置:sudo sysctl -w vm.max_map_count=262144)。

二、部署步骤

1. 下载RAGFlow
  • 克隆仓库
    git clone https://github.com/infiniflow/ragflow.git
    若Git速度慢,可直接从GitHub下载ZIP文件解压。
  • 克隆国内仓库
    https://gitcode.com/zhaochiyue/ragflow.git
2. 修改Docker配置
  • 选择镜像版本
    进入ragflow/docker目录,编辑.env文件,修改RAGFLOW_IMAGE变量:
    • slim版:无嵌入模型,适合资源有限(约10GB)。
    • 完整版:含嵌入模型,需设置为RAGFLOW_image=infiniflow/ragflow:v0.17.0(约18GB)。
  • 端口冲突处理:若默认80端口被占用,修改docker-compose.yml中的端口映射(如8080:80)。
3. 启动服务
  • 拉取镜像并启动
    cd ragflow/docker docker compose -f docker-compose.yml up -d # 或使用docker-compose-CN.yml(部分版本)
    首次启动会自动拉取镜像,耗时较长(约15-30分钟)。
  • 验证服务状态

    docker logs -f ragflow-server

    若输出包含* Running on http://127.0.0.1:9380,则启动成功。
  • 存在问题

    可能出现ragflow-mysql error启动出错。可以等10分钟,再次运行docker compose up -d就正常了。


三、配置模型与知识库

1. 添加模型提供商
  • Ollama配置
    • 在RAGFlow界面点击“模型提供商”→“添加Ollama”,填写模型名称(如deepseek-r1)和基础URL(本机IP或host.docker.internal:11434)。
    • 确保Ollama已部署并运行ollama run deepseek-r1
  • Xinference配置
    若使用GPU加速模型,需启动Xinference容器并配置API地址。
2. 创建知识库
  1. 上传文件:支持Word、PDF、Excel等格式,需至少上传一个文件解析。
  2. 配置解析参数:选择分段标识符(如标题、章节)和切片方法(如按段落或固定长度)。

四、常见问题解决

  1. 镜像拉取失败
    • 检查Docker镜像源配置,或更换为华为云、阿里云镜像(如swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow)。
    • 使用docker images确认镜像完整性,若缺失手动拉取。
  2. 服务无法访问
    • 检查防火墙或安全组是否开放端口(默认80或9380)。
    • Windows用户尝试访问http://localhosthttp://host.docker.internal:9380
  3. 内存不足
    • 建议使用完整版时关闭其他占用内存的程序,或升级硬件配置。

五、参考资源

  • 官方文档:RAGFlow Docs
  • 视频教程:DeepSeek+RagFlow部署实操
  • 模型选择:推荐从Ollama的1.5B版本开始测试,逐步升级至8B模型。

六、api调用

1、添加api_key

2、调用聊天接口
import httpvar chat_id = "93b53a5820d511f0a8360242ac160006" //dialog_id
var BASE_URL = "http://192.168.1.1:80/"
var url = BASE_URL + String.format("api/v1/chats_openai/%s/chat/completions",chat_id)
var API_KEY = "ragflow-Q1N2E2OTk0MjBkYjExZjA4MzZkMDI0Mm" //需修改本地的api_keyvar headers = {"Content-type": "application/json","Authorization": "Bearer " + API_KEY
}
var params = {"model": "model","messages": [{"role":"user","content":msg}],"stream": false
}
// return url
return http.connect(url).header(headers).body(params).post().getBody()  

http://www.xdnf.cn/news/1560.html

相关文章:

  • java—13 RocketMQ
  • 拥抱健康生活,解锁养生之道
  • 某城乡老旧房屋试点自动化监测服务项目
  • 关于边缘计算盒子的外部接口保护
  • Python 的 datetime 模块使用详解
  • Redisson实战:分布式系统中的五大典型应用场景
  • 来访登记二维码生成
  • 数据一致性问题剖析与实践(二)——单机事务的一致性问题
  • MySQL的日志--Redo Log【学习笔记】
  • OpenCV 图形API(60)颜色空间转换-----将图像从 YUV 色彩空间转换为 RGB 色彩空间函数YUV2RGB()
  • PyQt6实例_A股财报数据维护工具_使用
  • 【TeamFlow】4.3.4 长度单位
  • 【大数据技术-联邦集群RBF】DFSRouter日志一直打印修改Membership为EXPIRED状态的日志分析
  • UniGoal 具身导航 | 通用零样本目标导航 CVPR 2025
  • Sql文件处理SQLDumpSplitter
  • mojoPortal 接口imagehandler任意文件读取漏洞(CVE-2025-28367)
  • 【Java面试笔记:基础】9.对比Hashtable、HashMap、TreeMap有什么不同?
  • OpenCV 图形API(55)颜色空间转换-----将图像从 RGB 色彩空间转换为 I420 格式函数RGB2I420()
  • 计算机网络笔记(七)——1.7计算机网络体系结构
  • Linux系统学习----概述与目录结构
  • JSON实现动态按钮管理的Python应用
  • Java大师成长计划之第1天:Java编程基础入门
  • docker在windows下wsl存储路径的变更与数据迁移
  • 18487.1-2015-解读笔记之四-交流充电之流程分析
  • 大数据人工智能概述
  • Saas、Paas、Faas、Baas的概念学习与对比
  • 什么是鸿蒙南向开发?什么是北向开发?
  • 信息学奥赛一本通 1505:【例 2】双调路径 | 洛谷 P5530 [BalticOI 2002] 双调路径
  • bedtools coverage 获取每个位置的测序深度
  • springboot-基于Web企业短信息发送系统(源码+lw+部署文档+讲解),源码可白嫖!