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

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()  

相关文章:

  • 创新项目实训开发日志4
  • 第十七届山东省职业院校技能大赛 中职组网络建设与运维赛项
  • 一天学完Servlet!!!(万字总结)
  • 第五章:Framework/Tooling Abstraction
  • CS144 Lab5 实战记录:网络接口实现 ARP
  • Spring Boot Controller 单元测试撰写
  • Git删除指定历史版本
  • 快速配置linux远程开发-go语言
  • Docker部署DeepSeek常见问题及解决方案
  • 实战交易策略 篇十九:君山居士熊市交易策略
  • 机器学习 Day14 XGboost(极端梯度提升树)算法
  • 得物业务参数配置中心架构综述
  • 大语言模型之提示词技巧
  • Tomcat:从零理解Java Web应用的“心脏”
  • 路由交换网络专题 | 第七章 | BGP练习 | 次优路径 | Route-Policy | BGP认证
  • Typecho 访客统计插件最新版-前后台统计图均可显示
  • 搭建私人网站
  • 香港国际视角下的资金路径识别与结构研判
  • 数理逻辑基础 | 命题逻辑 / 谓词逻辑 / 命题符号化
  • nodejs之Express-介绍、路由
  • 石磊当选河北秦皇岛市市长
  • 胃病、闭经、湿疹、失明:藏在疾病后的情绪问题
  • 专访|攸佳宁:手机只是矛盾导火索,重要的是看见孩子的内心
  • 最高法:侵犯著作权罪中的“复制发行”不包括单纯发行行为
  • 岭南非遗大IP来上海了,舞剧《英歌》在文化广场连演两场
  • 给印度立“人设”:万斯访印祭出美国关税战新招,但效果存疑