ragflow本地部署(WSL下Ubuntu)

本地docker及 docker-compose版本
在这里插入图片描述
安装参考:

  • 实践笔记-docker安装及配置镜像源
  • 实践笔记-docker-compose安装

1.下载源码

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

2.运行docker-compose拉取镜像

cd ragflow/docker
docker-compose up -d

3.启动报错问题解决

  • mysql启动报错:这个是由于我之前本地有个8.4版本的。直接删除容器卷上的数据就可以了
    在这里插入图片描述在这里插入图片描述
  • docker网络问题
    不知道是不是wsl的原因,docker没有创建网络,手动创建的网络,几个容器服务也是不能互通,打印ragflow-server服务的日志就可以看到了(这个以后有时间再看看咋回事,现在先把服务跑起来要紧),所以我全部切成本地网络
    # 查询网络
    docker network ls
    # 创建网络
    docker network create ragflow
    # 查看网络信息
    docker network inspect ragflow
    # 移除网络
    docker network rm ragflow
    
    切换后的docker-compose文件编排内容如下:
  • docker-compose-all.yaml (命名随意)
    • 因为我本地之前拉取过其他版本的es、minio,所以就直接用之前拉取的镜像
    • service_conf_host.yaml.template 用本地网络涉及到端口调整,所以我加了这个文件挂载
    services:es01:container_name: ragflow-es-01profiles:- elasticsearch#这里用了我本地的esimage: docker.elastic.co/elasticsearch/elasticsearch:8.13.2volumes:- esdata01:/usr/share/elasticsearch/dataports:- ${ES_PORT}:9200env_file: .envenvironment:- node.name=es01- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}- bootstrap.memory_lock=false- discovery.type=single-node- xpack.security.enabled=true- xpack.security.http.ssl.enabled=false- xpack.security.transport.ssl.enabled=false- cluster.routing.allocation.disk.watermark.low=5gb- cluster.routing.allocation.disk.watermark.high=3gb- cluster.routing.allocation.disk.watermark.flood_stage=2gb- TZ=${TIMEZONE}mem_limit: ${MEM_LIMIT}ulimits:memlock:soft: -1hard: -1healthcheck:test: ["CMD-SHELL", "curl http://localhost:9200"]interval: 10stimeout: 10sretries: 120network_mode: hostrestart: on-failuremysql:image: mysql:8.0.39container_name: ragflow-mysqlenv_file: .envenvironment:- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}- TZ=${TIMEZONE}command:--max_connections=1000--character-set-server=utf8mb4--collation-server=utf8mb4_unicode_ci--default-authentication-plugin=mysql_native_password--tls_version="TLSv1.2,TLSv1.3"--port=${MYSQL_PORT}--init-file /data/application/init.sqlvolumes:- mysql_data:/var/lib/mysql- ./init.sql:/data/application/init.sqlnetwork_mode: hosthealthcheck:test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-p${MYSQL_PASSWORD}"]interval: 10stimeout: 10sretries: 3restart: on-failureminio:#这里用了我本地的minioimage: minio/minio:RELEASE.2023-03-20T20-16-18Zcontainer_name: ragflow-miniocommand: server --console-address ":9001" /dataports:- ${MINIO_PORT}:9000- ${MINIO_CONSOLE_PORT}:9001env_file: .envenvironment:- MINIO_ROOT_USER=${MINIO_USER}- MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}- TZ=${TIMEZONE}volumes:- minio_data:/datanetwork_mode: hostrestart: on-failureredis:image: valkey/valkey:8container_name: ragflow-rediscommand: redis-server --requirepass ${REDIS_PASSWORD} --port ${REDIS_PORT} --maxmemory 128mb --maxmemory-policy allkeys-lruenv_file: .envvolumes:- redis_data:/datanetwork_mode: hostrestart: on-failureragflow:depends_on:mysql:condition: service_healthyimage: ${RAGFLOW_IMAGE}container_name: ragflow-server
    #    ports:
    #      - ${SVR_HTTP_PORT}:9380
    #      - 81:80
    #      - 8443:443
    #      - 5688:5678
    #      - 5689:5679volumes:- ./ragflow-logs:/ragflow/logs- ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf- ./nginx/proxy.conf:/etc/nginx/proxy.conf- ./nginx/nginx.conf:/etc/nginx/nginx.conf- ../history_data_agent:/ragflow/history_data_agent#这里挂载了service_conf.yaml.template- ./service_conf_host.yaml.template:/ragflow/conf/service_conf.yaml.templateenv_file: .envenvironment:- TZ=${TIMEZONE}- HF_ENDPOINT=${HF_ENDPOINT}- MACOS=${MACOS}network_mode: hostrestart: on-failureextra_hosts:# 这里改成docker的ip- "host.docker.internal:172.17.0.1"#- "host.docker.internal:host-gateway"
    volumes:esdata01:driver: localinfinity_data:driver: localmysql_data:driver: localminio_data:driver: localredis_data:driver: local
    
  • service_conf_host.yaml.template
    (参考原来的service_conf.yaml.template进行调整即可)
    ragflow:host: ${RAGFLOW_HOST:-0.0.0.0}http_port: 9380
    mysql:name: '${MYSQL_DBNAME:-rag_flow}'user: '${MYSQL_USER:-root}'password: '${MYSQL_PASSWORD:-infini_rag_flow}'host: '${MYSQL_HOST:-mysql}'port: ${MYSQL_PORT:-3306}max_connections: 100stale_timeout: 30
    minio:user: '${MINIO_USER:-rag_flow}'password: '${MINIO_PASSWORD:-infini_rag_flow}'host: '${MINIO_HOST:-localhost}:9000'
    es:hosts: 'http://${ES_HOST:-es01}:9200'username: '${ES_USER:-elastic}'password: '${ELASTIC_PASSWORD:-infini_rag_flow}'
    infinity:uri: '${INFINITY_HOST:-infinity}:23817'db_name: 'default_db'
    redis:db: 1password: '${REDIS_PASSWORD:-infini_rag_flow}'host: '${REDIS_HOST:-redis}:6379'
    

在这里插入图片描述

  • ragflow.conf
    这个的话,是因为我切换成本地网络导致的,直接修改成localhost就行了。
    ragflow-server打印的日志,第一二行就会有ragflow.conf报错提醒。之前忘记截图了。
    在这里插入图片描述
    修改完之后重启服务就行了。
    在这里插入图片描述
  • 本次可能用到的docker命令:
    # 启动所有服务
    docker-compose -f docker-compose-all.yaml up -d
    # 关闭所有服务
    docker-compose -f docker-compose-all.yaml down
    # 查看所有运行容器
    docker ps
    # 容器日志打印
    docker logs -f ragflow-server
    # 容器日志打印最新的300行
    # docker logs -f --tail 300 ragflow-server
    # 删除容器
    # docker rm -f ragflow-server
    # 启动单个容器服务
    docker-compose -f docker-compose-all.yaml up -d ragflow
    

4.访问:直接localhost就可以访问到了
在这里插入图片描述

  • 注册账号:随便注册一个。
    注册的数据信息在数据库里可以查看到
    在这里插入图片描述
  • 配置模型(我用的本地ollama)
    ollama部署大模型的可以参考:使用Ollama在本地运行AI大模型(gemma、deepseek等)及UI整合(chatbox、Cherry Studio、Page Assist等)
    在这里插入图片描述
  • 创建知识库
    在这里插入图片描述
    一切都正常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LTSPICE仿真电路:(二十六)跨阻放大器简单仿真

1.前言 由于有个机会刚好了解了下跨阻,简单做个这个仿真,实际上跨阻放大器应该要复杂的多,由于跨阻放大器实际上是将电流转换为电压,最需要注意的参数肯定是运放的偏置电流 2.跨阻放大器仿真 这篇是纯记录 这是一个将0-50uA电流…

androd的XML页面 跳转 Compose Activity 卡顿问题

解决 XML 点击跳转到 Compose Activity 卡顿问题 当从 XML 布局的 Activity 跳转到 Compose Activity 时出现卡顿现象,这通常是由以下几个原因导致的: 可能的原因及解决方案 1. Compose 首次初始化开销 问题:Compose 框架首次初始化需要时…

基于Python的二手房数据挖掘与可视化深度分析

一、技术框架与数据概况 1.1 技术栈构成 import pandas as pd # 数据操作(v1.3.5) import numpy as np # 数值计算(v1.21.6) from pyecharts.charts import * # 交互式可视化(v1.9.1) from sklearn.preprocessing import StandardScaler # 数据标准化(可选扩展) …

从数据到成果:R 语言在气象水文全流程中的关键技术应用

R语言在气象、水文中数据处理及结果分析、绘图实践技术应用 R 语言是一门由统计学家开发的用于统计计算和作图的语言(a Statistic Language developed for Statistic by Statistician),由 S 语言发展而来,以统计分析功能见长。R …

2025最快解决root密码忘记问题或重置root密码root密码忘记了怎么办?如何最方便的找回或者重置root密码?

root密码忘记了怎么办?如何最方便的找回或者重置root密码? 1、完全不需要按照网络上的那么麻烦的操作 2、看看我们机房的物理服务器有没有默认的管理地址,如果有的话我们就把自己的电脑调整跟服务器一样的网段,用浏览器访问该服务…

面试题汇总06-场景题线上问题排查难点亮点

面试题汇总06-场景题&线上问题排查&难点亮点 【一】场景题【1】订单到期关闭如何实现【2】每天100w次登录请求,4C8G机器如何做JVM调优?(1)问题描述和分析(2)堆内存设置(3)垃圾收集器选择(4)各区大小设置(5)添加必要的日志【3】如果你的业务量突然提升100倍…

C和C++有什么区别?

C和C是两种不同的编程语言,虽然它们有许多相似之处,但也存在一些关键的区别。 C是一种过程化编程语言,专注于函数和流程控制,非常适合系统级编程。而 C是一种面向对象编程语言,支持类、对象和封装、继承、多态等特性。…

动态规划-杨辉三角

118.杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。输入&#xff1a;int 输出&#xff1a;二元列表 思路&#xff1a; 面向结果编程&#xff01;&#xff01;&#xff01; class Solution {public List<List<Integer>> genera…

powershell绑定按钮事件的两种方式

写一个powershell的简单GUI做本地任务&#xff0c;试验出2个方法&#xff1a; 方法1&#xff1a; function btn1_click {write-host $text1.Text -ForegroundColor Green -BackgroundColor Black }$btn1.Add_Click({btn1_click})方法2&#xff1a; $btn2_click {write-host $…

C++语言的并查集

并查集&#xff08;Union-Find&#xff09;在C中的实现与应用 引言 并查集&#xff08;Union-Find&#xff09;&#xff0c;又称为不相交集合&#xff08;Disjoint Set&#xff09;&#xff0c;是一种用于处理动态连通性问题的数据结构。它的主要功能包括合并两个集合&#x…

基于大模型的病态窦房结综合征预测及治疗方案研究报告

目录 一、引言 1.1 研究背景与目的 1.2 研究意义 二、病态窦房结综合征概述 2.1 定义与病因 2.2 临床表现与分型 2.3 诊断方法 三、大模型在病态窦房结综合征预测中的应用 3.1 大模型介绍 3.2 数据收集与预处理 3.3 模型训练与优化 四、术前预测与准备 4.1 风险预…

2026考研数学张宇武忠祥复习视频课,高数基础班+讲义PDF

2026考研数学武忠祥老师课&#xff08;网盘&#xff09;&#xff1a;点击下方链接 2026考研数学武忠祥网课&#xff08;最新网盘&#xff09; 一、基础阶段&#xff08;3-5个月&#xff09; 目标&#xff1a;搭建知识框架掌握基础题型 教材使用&#xff1a; 高数&#xff1a;…

linux命令二

1.将windows文件上传到linux 将文件传到光驱里&#xff0c;再将光驱进行挂载&#xff0c;mount 2.linux安装的文件存储 普通执行 程序 bin 配置文件 /etc 日志文件 /var/log 3.rpm 主查询 命令&#xff1a;rpm -q 包名 查询已安装的软件包 通过软件 -qa 查询所有已安装的软件包…

k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路

k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路 StorageClass能自动创建pv 在控制器中&#xff0c;直接声明storageClassName&#xff0c;不仅能自动创建pvc&#xff0c;也能自动创建pv stoageclass来自于provisioner&#xff0c;provisioner来自于pod&#x…

systemd 与 SysVinit

1. 什么是 systemd 和 SysVinit&#xff1f; systemd 和 SysVinit 都是 Linux 的初始化系统&#xff08;init system&#xff09;&#xff0c;用于管理系统启动、服务、进程和日志。 比较项SysVinitsystemd启动方式逐步启动&#xff08;串行&#xff09;并行启动&#xff08;…

QML菜单控件:菜单的常规用法

目录 引言&#x1f4da;相关阅读&#x1f528;BUG修复工程结构示例详解示例1&#xff1a;上下文菜单&#xff08;ContextMenu&#xff09;示例2&#xff1a;菜单栏&#xff08;MenuBar&#xff09;示例3&#xff1a;动态菜单示例4&#xff1a;快捷键菜单示例5&#xff1a;可选项…

【Vue-路由案例】面经基础版

目录 <<回到导览1.面经基础版1.1.VueCli建项目1.1.1.VueCli 自定义项目1.1.2.ESlint代码规范 1.2.项目路由1.2.1.一级路由配置1.2.2.二级配置路由1.2.3.设置高亮1.2.4.发生请求、渲染1.2.5.跳转传参、再发请求1.2.6.体验优化1.2.7.keep-alive <<回到导览 1.面经基…

【T2I】MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

code&#xff1a;CVPR 2024 MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis [CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎 Abstract 我们提出了一个多实例生成(Multi-Instance Generation, MIG)任务…

用AI来了解用户都在关注的品牌问题是什么?

​ ​​用户重复问的核心问题整理​​ 基于百度文心一言、豆包、KIMI、腾讯元宝、DeepSeek五大模型的回答&#xff0c;企业最关注的GEO问题可归纳为以下10类&#xff08;按优先级排序&#xff09;&#xff1a; ​​1. GEO是什么&#xff1f;与传统SEO有何本质区别&#xff1f…

OpenCv(七)——模板匹配、打包、图像的旋转

目录 一、模板匹配 模板匹配原理 1、单模板之间的匹配 &#xff08;1&#xff09;读取并显示待匹配的图片和模板图片 &#xff08;2&#xff09;模板匹配并绘制匹配位置的外接矩形 &#xff08;3&#xff09;显示最终的效果 2、模板与多个对象匹配&#xff0c;仅匹配当前…