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

RAGFlow源码解析-2、从源码构架ragflow v0.25.0镜像

一、背景官方 RAGFlow 提供了标准的 Docker 镜像infiniflow/ragflow:v0.25.0,但当我们对 Python 后端或 Web 前端进行了自定义修改(主要是DOC_ENGINE和关系数据库都换成seekdb)后,需要重新打包镜像。本文记录了从零开始构建自定义镜像lt/ragflow:0.25.0并成功部署的完整过程,包括踩过的所有坑和解决方案。二、环境准备项目版本/配置机型MacBook Pro 2019 16寸系统macOS (Darwin)CPUIntel x86_64 架构Python3.122.1 检查本地环境# 检查 Node.js 版本(需要 20.x)node--version# 输出: v20.19.6# 检查 Docker 版本docker--version# 输出: Docker version 29.1.3# 确认官方镜像已存在dockerimages|grepinfiniflow/ragflow# 输出: infiniflow/ragflow:v0.25.02.2 项目结构ragflow/ ├── api/ # Python 后端 API ├── rag/ # RAG 核心逻辑 ├── web/ # React 前端 ├── docker/ # Docker 配置 │ ├── docker-compose.yml │ ├── .env │ └── service_conf.yaml.template ├── Dockerfile # 官方 Dockerfile └── 9b5ad71b2ce5302211f9c61530b329a4922fc6a4 # tiktoken 缓存文件三、构建自定义镜像3.1 编译前端cd/path/to/ragflow/web# 安装依赖npminstall# 构建生产版本NODE_OPTIONS="--max-old-space-size=8192"npmrun build构建完成后,web/dist/目录包含编译后的静态文件。3.2 创建自定义 Dockerfile由于官方 Dockerfile 依赖网络下载模型文件,我们基于已有的官方镜像构建:# Dockerfile.custom FROM infiniflow/ragflow:v0.25.0 USER root WORKDIR /ragflow # 复制 Python 后端代码 COPY api/ /ragflow/api/ COPY rag/ /ragflow/rag/ COPY deepdoc/ /ragflow/deepdoc/ COPY agent/ /ragflow/agent/ COPY mcp/ /ragflow/mcp/ COPY common/ /ragflow/common/ COPY memory/ /ragflow/memory/ COPY conf/ /ragflow/conf/ COPY pyproject.toml uv.lock /ragflow/ # 复制编译好的前端 COPY web/dist/ /ragflow/web/dist/ # 复制 tiktoken 缓存文件(重要!) COPY 9b5ad71b2ce5302211f9c61530b329a4922fc6a4 /ragflow/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 # 复制入口脚本 COPY docker/entrypoint.sh /ragflow/entrypoint.sh RUN chmod +x /ragflow/entrypoint.sh # 复制 nginx 配置 COPY docker/nginx/ragflow.conf.python /etc/nginx/conf.d/ragflow.conf.python WORKDIR /ragflow ENTRYPOINT ["./entrypoint.sh"]3.3 构建镜像cd/path/to/ragflowdocker

相关文章:

RAGFlow源码解析-2、从源码构架ragflow v0.25.0镜像

一、背景 官方 RAGFlow 提供了标准的 Docker 镜像 infiniflow/ragflow:v0.25.0,但当我们对 Python 后端或 Web 前端进行了自定义修改(主要是DOC_ENGINE和关系数据库都换成seekdb)后,需要重新打包镜像。 本文记录了从零开始构建自定义镜像 lt/ragflow:0.25.0 并成功部署的…...

数学分析学习路径全解析(2024.04.20)

1. 数学分析学习路径全景图 数学分析作为现代数学的基石,常常让初学者望而生畏。我见过太多同学在图书馆抱着厚厚的教材一筹莫展,也辅导过不少考研学生如何突破学习瓶颈。经过这些年的教学实践,我总结出一个黄金法则:选对路径比盲…...

OceanGPT/OceanGym:基于AI与强化学习的海洋智能体仿真训练平台

1. 项目概述:当大模型遇上海洋模拟器最近在AI和海洋科学交叉领域,一个名为“OceanGPT/OceanGym”的项目引起了我的注意。乍一看,这像是一个将大型语言模型(GPT)与海洋环境模拟(Gym)结合的尝试&a…...

spring ai alibaba原理源码分析(一)-架构

简介 spring ai alibaba是java的ai agent框架&#xff0c;本系列将深入剖析 Spring AI Alibaba 的源码实现与核心原理&#xff0c;不仅指导agent的开发&#xff0c;更为了改造框架&#xff0c;增加新特性 系列内容&#xff1a; 系列(一) 架构 本文<< 系列(二) agent…...

TestDisk PhotoRec:专业级数据恢复工具如何拯救你的丢失文件与分区

TestDisk & PhotoRec&#xff1a;专业级数据恢复工具如何拯救你的丢失文件与分区 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 在数字时代&#xff0c;数据恢复工具TestDisk和PhotoRec已成为技术爱好者…...

移动端架构演进与选型

移动端架构演进与选型&#xff1a;从单体到模块化的技术探索 移动互联网的快速发展对移动端架构提出了更高要求。从早期的单体架构到如今的模块化、组件化设计&#xff0c;移动端架构的演进始终围绕性能、可维护性和动态化展开。面对业务复杂度的提升&#xff0c;如何选择合适…...

Arm Cortex-A55浮点与SIMD架构深度解析

1. Cortex-A55浮点与SIMD架构概述在移动计算和嵌入式系统领域&#xff0c;Arm Cortex-A55作为一款高效的中端处理器核心&#xff0c;其浮点运算单元(FPU)和单指令多数据(SIMD)扩展功能对性能有着决定性影响。A55的浮点架构支持从半精度(16位)到双精度(64位)的多种数据格式&…...

BilldDesk终极指南:打破远程控制边界,开启跨平台协作新纪元![特殊字符]

BilldDesk终极指南&#xff1a;打破远程控制边界&#xff0c;开启跨平台协作新纪元&#xff01;&#x1f680; 【免费下载链接】billd-desk 基于Vue3 WebRTC Nodejs Flutter搭建的远程桌面控制、游戏串流 项目地址: https://gitcode.com/gh_mirrors/bi/billd-desk 还…...

GPU加速与树模型在制造业数据科学中的应用

1. 制造业数据科学中的GPU加速训练概述在半导体制造和芯片测试领域&#xff0c;每天产生的结构化数据量通常达到TB级别。以某8英寸晶圆厂为例&#xff0c;单条产线每月可产生超过500万条测试记录&#xff0c;每条记录包含300-500个特征参数。面对如此庞大的数据规模&#xff0c…...

Rust智能指针BoxRcArc使用场景

Rust作为一门注重内存安全的系统级编程语言&#xff0c;其所有权机制是核心特性之一。然而在实际开发中&#xff0c;有时需要更灵活地管理数据生命周期或共享数据&#xff0c;这时智能指针便成为关键工具。Rust提供了多种智能指针类型&#xff0c;其中Box、Rc和Arc是最常用的三…...

如何在5分钟内让PS4游戏体验翻倍?GoldHEN作弊管理器深度解析

如何在5分钟内让PS4游戏体验翻倍&#xff1f;GoldHEN作弊管理器深度解析 【免费下载链接】GoldHEN_Cheat_Manager GoldHEN Cheats Manager 项目地址: https://gitcode.com/gh_mirrors/go/GoldHEN_Cheat_Manager 还在为游戏中的难关卡住而烦恼吗&#xff1f;想要体验《血…...

6G时代AI原生网络与数字孪生技术实践

1. 无线通信行业的AI原生革命5G商用化进程尚未完全铺开&#xff0c;6G研发的号角却已吹响。作为深耕通信行业十五年的技术老兵&#xff0c;我亲眼见证了从3G到4G的过渡期&#xff0c;运营商和设备商们手忙脚乱地应对流量洪流&#xff1b;也经历了5G标准制定阶段&#xff0c;各家…...

基于多模态大模型的手机自动化新范式:从视觉理解到精准操作

1. 项目概述&#xff1a;当你的手机学会自己“点”屏幕 最近在跟几个做移动端测试和自动化的朋友聊天&#xff0c;大家普遍头疼一个问题&#xff1a;现在App功能越来越复杂&#xff0c;UI元素动态加载、嵌套层级深、甚至有些组件压根不暴露可访问性信息&#xff0c;传统的基于控…...

DDrawCompat:三步搞定Windows经典游戏兼容性问题的终极方案

DDrawCompat&#xff1a;三步搞定Windows经典游戏兼容性问题的终极方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/D…...

深度解析:基于异构计算的工业级AI视频中台架构,如何实现GB28181/RTSP跨平台部署与源码交付?

在安防行业进入智能化深水区的今天&#xff0c;开发者面临的痛点已从“如何调通视频流”转向“如何适配碎片化的底层硬件”。面对 NVIDIA GPU、瑞芯微 NPU、华为海思、算能等异构芯片&#xff0c;集成商往往需要投入海量人力进行 SDK 二次封装和驱动调试。 本文将从架构师视角…...

Legacy-iOS-Kit终极指南:如何让旧款iOS设备重获新生

Legacy-iOS-Kit终极指南&#xff1a;如何让旧款iOS设备重获新生 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit Le…...

让ai执行多轮行动可以把任务变成限定长度的操作,让ai填空,比如我3d模型可以参数化全部给ai,ai返回修改后完全的模型

这个思路其实在多个领域都有对应的研究工作。我找到了一些相关的论文&#xff1a; PaperAuthorsSummaryCraftsMan3D: High-fidelity Mesh Generation with 3D Native Generation and Interactive Geometry RefinerTencent AI Lab et al.用迭代refiner来优化3D几何——生成初始…...

16位混合架构DAC设计:高速高精度转换技术解析

1. 混合架构DAC设计概述在当今的无线通信和视频处理系统中&#xff0c;数字模拟转换器(DAC)作为连接数字信号处理与模拟世界的关键接口&#xff0c;其性能直接影响整个系统的表现。传统DAC架构往往需要在分辨率、速度和功耗之间做出妥协&#xff0c;而混合架构的出现为解决这一…...

3大架构决策:如何通过插件化设计让JD-GUI成为Java逆向工程的首选工具

3大架构决策&#xff1a;如何通过插件化设计让JD-GUI成为Java逆向工程的首选工具 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui 在Java逆向工程领域&#xff0c;JD-GUI凭借其卓越的插件化架构&#xf…...

如何永久保存微信聊天记录?这款开源工具让你完全掌控个人数据资产

如何永久保存微信聊天记录&#xff1f;这款开源工具让你完全掌控个人数据资产 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendi…...

刘教链|80万枚BTC背后的机构暗战:贝莱德与Strategy谁在主导市场?

一觉醒来&#xff0c;BTC站上79k后暂时回守77k。2026年4月22日&#xff0c;BlackRock的iShares Bitcoin Trust&#xff08;IBIT&#xff09;持仓达到806,700枚比特币&#xff0c;价值约637亿美刀&#xff0c;创下该基金的历史新高[1]。这一数据出现在连续九个交易日净流入之后&…...

解决方案:Open WebUI自托管AI平台 - 企业级私有化部署与安全AI交互指南

解决方案&#xff1a;Open WebUI自托管AI平台 - 企业级私有化部署与安全AI交互指南 【免费下载链接】open-webui User-friendly AI Interface (Supports Ollama, OpenAI API, ...) 项目地址: https://gitcode.com/GitHub_Trending/op/open-webui Open WebUI是一款功能丰…...

多层感知机(MLP)神经网络入门与实践指南

1. 多层感知机神经网络速成指南神经网络是机器学习领域最令人着迷的技术之一&#xff0c;但对于初学者来说&#xff0c;那些专业术语和数学符号常常让人望而生畏。作为一名在深度学习领域工作多年的从业者&#xff0c;我将带你快速掌握多层感知机(MLP)的核心概念和实现细节。读…...

智能体工作流编排:基于图计算模型的复杂AI应用开发框架解析

1. 项目概述与核心价值最近在探索智能体&#xff08;Agent&#xff09;应用开发时&#xff0c;发现了一个让我眼前一亮的开源项目&#xff1a;keta1930/agent-graph。这并非一个简单的工具库&#xff0c;而是一个旨在解决复杂智能体工作流编排与可视化的框架。简单来说&#xf…...

BarrageGrab:全平台直播弹幕抓取架构设计与企业级应用解决方案

BarrageGrab&#xff1a;全平台直播弹幕抓取架构设计与企业级应用解决方案 【免费下载链接】BarrageGrab 抖音快手bilibili直播弹幕wss直连&#xff0c;非系统代理方式&#xff0c;无需多开浏览器窗口 项目地址: https://gitcode.com/gh_mirrors/ba/BarrageGrab Barrage…...

ICode Python 2级闯关:从循环嵌套到多角色协同的综合编程思维训练

1. 从单角色到多角色&#xff1a;理解ICode Python 2级训练场的编程思维跃迁 第一次接触ICode Python 2级训练场的综合练习时&#xff0c;我盯着屏幕上那些Flyer、Dev、Spaceship角色完全不知所措。这就像突然要从单人跳绳升级到多人跳大绳&#xff0c;不仅要控制自己的节奏&am…...

DataV数据可视化组件库深度解析:专业级大屏开发实战指南

DataV数据可视化组件库深度解析&#xff1a;专业级大屏开发实战指南 【免费下载链接】DataV 项目地址: https://gitcode.com/gh_mirrors/datav/DataV DataV作为基于Vue技术栈的专业级数据可视化组件库&#xff0c;专为技术决策者和中级开发者设计&#xff0c;提供从SVG…...

QQ空间历史说说完整备份指南:GetQzonehistory让你一键保存青春记忆

QQ空间历史说说完整备份指南&#xff1a;GetQzonehistory让你一键保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些记录青春的QQ空间说说会随着时间消失&…...

TV Bro浏览器终极指南:在智能电视上享受完整上网体验的简单教程

TV Bro浏览器终极指南&#xff1a;在智能电视上享受完整上网体验的简单教程 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro TV Bro是一款专为智能电视和Android电视盒优…...

3步解锁CrossOver游戏兼容性:Mac游戏优化完整方案

3步解锁CrossOver游戏兼容性&#xff1a;Mac游戏优化完整方案 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 还在为Mac上运行Windows游戏时的卡顿和兼容性…...