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

macos下 ragflow二次开发环境搭建

  1. 参考官网链接
    https://ragflow.io/docs/dev/launch_ragflow_from_source
  2. 虚拟环境
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
# if not pipx, please install it at first
pip3 install pipxpipx install uv
uv sync --python 3.10 --all-extras 
  1. 安装 elk, redis, mysql等docker
docker compose -f docker/docker-compose-base.yml up -d
  1. .env配置
    将 .env中主机指向docker host主机的IP
    去掉macos=1的注释
  2. service_conf.yaml.template配置
    将5个资源节点的host指向docker host主机的IP,直接写IP地址
    如:
    mysql:
    name: ‘ M Y S Q L D B N A M E : − r a g f l o w ′ u s e r : ′ {MYSQL_DBNAME:-rag_flow}' user: ' MYSQLDBNAME:ragflowuser:{MYSQL_USER:-root}’
    password: ‘${MYSQL_PASSWORD:-infini_rag_flow}’
    host: '101.15.113.113’
    port: 5455
  3. pyprojct.toml修改
    因为macos下 torch包与linux要求不同。
 	  "xgboost==1.6.0", # 原始1.5.0"debugpy>=1.8.13","threadpoolctl>=3.6.0", //增加[project.optional-dependencies]
full = ["bcembedding==0.1.5","fastembed>=0.3.6,<0.4.0; sys_platform == 'darwin' or platform_machine != 'x86_64'","fastembed-gpu>=0.3.6,<0.4.0; sys_platform != 'darwin' and platform_machine == 'x86_64'","flagembedding==1.2.10","torch>=2.0.0,<2.2.2; sys_platform == 'darwin' or platform_machine != 'x86_64'","torch>=2.4.0,<2.5.1; sys_platform != 'darwin' and platform_machine == 'x86_64'","transformers>=4.35.0,<5.0.0"
]
  1. 安装其它包,避免报错 Fatal Python error: Segmentation fault
source .venv/bin/activate
brew install libjemalloc
pip install aiohttp==3.11.13
pip install google-cloud-aiplatform==1.64.0
pip install akracer==0.0.13
  1. 修改 docker/entrypoint.sh
    因为macos下不是.so动态库
function task_exe() {local consumer_id="$1"local host_id="$2"JEMALLOC_PATH="$(pkg-config --variable=libdir jemalloc)/libjemalloc.2.dylib"#JEMALLOC_PATH="$(pkg-config --variable=libdir jemalloc)/libjemalloc.so"while true; do#LD_PRELOAD="$JEMALLOC_PATH" \DYLD_INSERT_LIBRARIES "$JEMALLOC_PATH" \"$PY" rag/svr/task_executor.py "${host_id}_${consumer_id}"done
}
  1. vscode 修改 lanuch.json
    新增 .vscode/launch.json
{"version": "0.2.0","configurations": [{"name": "Python: ragflow_server","type": "debugpy","request": "launch","program": "${workspaceFolder}/api/ragflow_server.py","justMyCode": true,"cwd": "${workspaceFolder}", // 设置工作目录为项目根目录"console": "integratedTerminal","env": {"HF_ENDPOINT": "https://hf-mirror.com","PYTHONPATH": "${workspaceFolder}","VIRTUAL_ENV": "${workspaceFolder}/.venv",  // 设定虚拟环境路径"PATH": "${workspaceFolder}/.venv/bin:${env:PATH}",  // 将虚拟环境的 bin 目录添加到 PATH},"envFile": "${workspaceFolder}/docker/.env","args": []},{"name": "Python: task_executor","type": "debugpy","request": "launch","program": "${workspaceFolder}/rag/svr/task_executor.py","justMyCode": true,"cwd": "${workspaceFolder}", // 设置工作目录为项目根目录"console": "integratedTerminal","env": {"HF_ENDPOINT": "https://hf-mirror.com","PYTHONPATH": "${workspaceFolder}","VIRTUAL_ENV": "${workspaceFolder}/.venv",  // 设定虚拟环境路径"PATH": "${workspaceFolder}/.venv/bin:${env:PATH}",  // 将虚拟环境的 bin 目录添加到 PATH//"LD_PRELOAD": "$(pkg-config --variable=libdir jemalloc)/libjemalloc.so", // linux"DYLD_INSERT_LIBRARIES": "/usr/local/Cellar/jemalloc/5.3.0/lib/libjemalloc.2.dylib", // macos},"envFile": "${workspaceFolder}/docker/.env","args": []}]}
  1. 其它参考官网

相关文章:

macos下 ragflow二次开发环境搭建

参考官网链接 https://ragflow.io/docs/dev/launch_ragflow_from_source虚拟环境 git clone https://github.com/infiniflow/ragflow.git cd ragflow/ # if not pipx, please install it at first pip3 install pipxpipx install uv uv sync --python 3.10 --all-extras 安装 …...

从 Excel 到你的表格应用:条件格式功能的嵌入实践指南

一、引言 在日常工作中&#xff0c;面对海量数据时&#xff0c;如何快速识别关键信息、发现数据趋势或异常值&#xff0c;是每个数据分析师面临的挑战。Excel的条件格式功能通过自动化的视觉标记&#xff0c;帮助用户轻松应对这一难题。 本文将详细介绍条件格式的应用场景&am…...

安徽京准:NTP网络时钟服务器功能及同步模式的介绍

安徽京准&#xff1a;NTP网络时钟服务器功能及同步模式的介绍 安徽京准&#xff1a;NTP网络时钟服务器功能及同步模式的介绍 1、NTP网络时钟服务器概念&#xff1a; NTP时钟服务器&#xff0c;表面意思是时间计量工具的服务设备&#xff0c;其在现代工业中是用于对客户端设备…...

基于ueditor编辑器的功能开发之百度编辑器自带的查找和替换功能无法对目标文字进行滚动定位修复

在查找百度编辑器的查找和替换功能&#xff0c;发现当页面文字过多&#xff0c;用户在检索文字点击上一个下一个的时候&#xff0c;滚动条不跟随滚动了 分析了ueditor关于searchpalce方法的处理时&#xff0c;他会在目标文字的前面插入一个span标签用户获取当前需要高亮的文字节…...

MYSQL——SQL语句到底怎么执行

查询语句执行流程 MySQL 查询语句执行流程 查询缓存&#xff08;Query Cache&#xff09; MySQL内部自带了一个缓存模块&#xff0c;默认是关闭的。主要是因为MySQL自带的缓存应用场景有限。 它要求SQL语句必须一摸一样表里面的任何一条数据发生变化时&#xff0c;该表所有缓…...

[蓝桥杯 2022 省 B] 李白打酒加强版

题目链接&#xff1a; 思路&#xff1a; ①定义dp数组&#xff0c;f[i][j][k]&#xff0c;表示经过 i 店&#xff0c; 遇到 j 花&#xff0c; 还有 k 酒。如果酒的数量超过了花的数量&#xff0c;那么一定喝不完。因此&#xff0c;k 不能超过 M。 ②从店推过来&#xff0c;f[…...

计算机视觉——图像金字塔与目标图像边缘检测原理与实践

一、两个图像块之间的相似性或距离度量 1.1 平方差和&#xff08;SSD&#xff09; 平方差和&#xff08;SSD&#xff09; 是一种常用的图像相似性度量方法。它通过计算两个图像在每个对应位置的像素值差的平方和来衡量两个图像之间的整体差异。如果两个图像在每个位置的像素值…...

复现QGIS-MCP教程

由于Claude国内下载不了尝试使用Cursor 下载安装Cursor Cursor - The AI Code Editor 本示例安装的是0.46版本 UV安装 简介 安装 安装成功 配置环境变量 验证 下载代码 git clone gitgithub.com:jjsantos01/qgis_mcp.git QGIS插件安装 文件拷贝 您需要将 qgis_mcp_plu…...

人工智能图像识别Spark Core

Spark Core 一.spark运行架构 1.运行架构 Spark 框架的核心是一个计算引擎&#xff0c;整体来说&#xff0c;它采用了标准 master-slave 的结构。 如下图所示&#xff0c;它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master&#xff0c;负责管理整个集群中的作…...

决策树+泰坦尼克号生存案例

决策树简介 学习目标 1.理解决策树算法的基本思想 2.知道构建决策树的步骤 【理解】决策树例子 决策树算法是一种监督学习算法&#xff0c;英文是Decision tree。 决策树思想的来源非常朴素&#xff0c;试想每个人的大脑都有类似于if-else这样的逻辑判断&#xff0c;这其中…...

怎么查看苹果手机和ipad的设备信息和ios udid

你知道吗&#xff1f;我们每天使用的iPhone和iPad&#xff0c;其实隐藏着大量详细的硬件与系统信息。除了常见的系统版本和序列号外&#xff0c;甚至连电池序列号、摄像头序列号、销售地区、芯片型号等信息&#xff0c;也都可以轻松查到&#xff01; 如果你是开发者、维修工程…...

智能驱动教育变革:人工智能在高中教育中的实践路径与创新策略

一、引言 随着信息技术的飞速发展&#xff0c;人工智能&#xff08;Artificial Intelligence, AI&#xff09;已成为推动社会进步的重要力量。在教育领域&#xff0c;人工智能的应用正逐渐改变着传统的教学模式和方法&#xff0c;为教育现代化注入了新的活力。高中教育作为教育…...

TCP 和 UDP 可以使用同一个端口吗?

TCP 和 UDP 可以使用同一个端口吗&#xff1f; 前言 在深入探讨 TCP 和 UDP 是否可以使用同一个端口之前&#xff0c;我们首先需要理解网络通信的基本原理。网络通信是一个复杂的过程&#xff0c;涉及到多个层次的协议和机制。在 OSI 模型中&#xff0c;传输层是负责端到端数…...

MySQL事务管理

MySQL事务管理 事务的概念 事务由一条或多条SQL语句组成&#xff0c;这些语句在逻辑上存在相关性&#xff0c;共同完成一个任务&#xff0c;事务主要用于处理操作量大&#xff0c;复杂度高的数据。比如转账就涉及多条SQL语句&#xff0c;包括查询余额&#xff08;select&…...

通过 SSH 方式访问 GitHub 仓库

我们来一步一步讲解如何让 Git 通过 SSH 方式访问 GitHub 仓库&#xff0c;包括从零开始的详细步骤&#xff0c;适用于大多数系统&#xff08;Linux、macOS、Windows Git Bash&#xff09;。 注意最好只用 Git bash 比较好&#xff01;他能够直接在 Windows 系统上面使用一些 L…...

数据库学习

DDL&#xff08;数据定义语言&#xff09;、DML&#xff08;数据操纵语言&#xff09;、DQL&#xff08;数据查询语言&#xff09;和DCL&#xff08;数据控制语言&#xff09;。 DDL用于创建、删除和修改数据库对象&#xff0c;如表和数据库&#xff1b;DML涉及数据的增删改操…...

DeepSeek在安全领域的应用案例全景解析

DeepSeek作为人工智能领域的标杆技术,已在网络安全、公共安全、工业安全、军事防护等领域形成系统性应用。以下从六大核心场景展开分析,结合技术实现与行业标杆案例,呈现其多维度的安全赋能价值。 一、网络安全防护体系创新 威胁检测与响应闭环安胜"星盾"平台:通…...

AI驱动SEO关键词精准定位

内容概要 在传统SEO实践中&#xff0c;关键词定位往往依赖人工经验与有限的数据样本&#xff0c;导致策略滞后性与覆盖盲区并存。随着AI技术的深度介入&#xff0c;这一过程正经历系统性重构&#xff1a;从搜索意图的智能识别到关键词的自动化挖掘&#xff0c;算法模型通过分析…...

邮件营销:如何巧妙平衡发送频率与客户体验

在邮件营销领域&#xff0c;发送频率和客户体验就像跷跷板的两端&#xff0c;需要精心平衡。如果邮件发得太多&#xff0c;客户可能会觉得烦&#xff0c;甚至取消订阅&#xff0c;对品牌产生不好的印象&#xff1b;但如果发得太少&#xff0c;客户又容易把你忘了&#xff0c;错…...

Acrel-1000DP分布式光伏监控系统在嘉兴亨泰新能源有限公司2996.37KWP分布式光伏项目中的应用

摘 要&#xff1a;分布式光伏发电系统其核心特点是发电设备靠近用电负荷中心&#xff0c;通常安装在屋顶、建筑立面或闲置空地上&#xff0c;截至2025年&#xff0c;分布式光伏发电系统在全球和中国范围内取得了显著发展&#xff0c;成为能源转型和可持续发展的重要推动力量。国…...

vue3中左右布局两个个组件使用vuedraggable实现左向右拖动,右组件列表可上下拖动

需求&#xff1a;左侧是个菜单组件&#xff0c;有对应的表单类型。 右侧是渲染组件&#xff0c;点击左侧菜单或者拖动即可渲染出对应的组件 项目中采用vuedraggable实现拖拽功能。 具体实现是使用elementplus的组件&#xff0c;然后根据tagName的类型去渲染不同的组件。 首先…...

gevent 高并发、 RabbitMQ 消息队列、Celery 分布式的案例和说明

1. gevent 高并发请求示例 gevent​​&#xff1a;基于协程的Python库&#xff0c;通过异步非阻塞模式实现高并发请求。例如&#xff0c;同时抓取100个网页时&#xff0c;无需等待每个请求完成&#xff0c;提升效率。 import gevent from gevent import monkey monkey.patch_…...

直线模组在电子行业具体的应用

在工业自动化高速发展的今天&#xff0c;直线模组作为重要的传动和控制元件&#xff0c;凭借其高效、精准、稳定的特性。在众多行业中得到了广泛应用&#xff0c;尤其是在电子行业中&#xff0c;通过提供精确的运动控制和定位&#xff0c;帮助提高电子制造过程的效率、质量和自…...

Ubuntu 24.04启用root账户

1.启用ubuntu中的root账号 ubuntu默认是禁用了root账号的,需要手动开始root权限 # 设置root账号密码 sudo passwd root # 用以下命令启用 root 账户&#xff1a; sudo usermod -aG sudo rootsu - root 然后输入你之前设置的 root 密码。 一旦你成功登录为 root 用户&#x…...

【ES系列】Elasticsearch简介:为什么需要它?(基础篇)

🔥 本文将详细介绍Elasticsearch的前世今生,以及为什么它在当今的技术栈中如此重要。本文是ES起飞之路系列的基础篇第一章,适合想要了解ES的读者。 文章目录 一、什么是Elasticsearch?1. ES的定义2. ES的核心特性2.1 分布式存储2.2 实时搜索2.3 高可用性2.4 RESTful API3.…...

SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证

前言 Svelte&#xff0c;一个语法简洁、入门容易&#xff0c;面向未来的前端框架。 从 Svelte 诞生之初&#xff0c;就备受开发者的喜爱&#xff0c;根据统计&#xff0c;从 2019 年到 2024 年&#xff0c;连续 6 年一直是开发者最感兴趣的前端框架 No.1&#xff1a; Svelte …...

Droris(强制)删除某一个分区数据

Doris如果想删除某一个分区的数据&#xff0c;可以这么操作&#xff1a; DROP PARTITION [IF EXISTS] partition_name [FORCE]需要注意的是&#xff1a; 必须为使用分区的表保留至少一个分区。执行DROP PARTITION一段时间后&#xff0c;可以通过RECOVER语句恢复被删除的分区:…...

Meta 最新 AI 模型系列 ——Llama 4

Meta 发布了最新 AI 模型系列 ——Llama 4&#xff0c;这是其 Llama 家族的最新成员。 在大模型竞技场&#xff08;Arena&#xff09;&#xff0c;Llama 4 Maverick 的总排名第二&#xff0c;成为第四个突破 1400 分的大模型。其中开放模型排名第一&#xff0c;超越了 DeepSeek…...

软考 系统架构设计师系列知识点 —— 设计模式之工厂模式

本文内容参考&#xff1a; 软考 系统架构设计师系列知识点之设计模式&#xff08;2&#xff09;_系统架构设计师中考设计模式吗-CSDN博客 https://baike.baidu.com/item/%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F?fromModulelemma_search-box 设计模式-工厂方法模式&#xff0…...

Jetpack Compose 状态保存机制全面解析:让UI状态持久化

在Android开发中&#xff0c;Jetpack Compose 的状态管理是一个核心话题&#xff0c;而状态保存则是确保良好用户体验的关键。本文将深入探讨Compose中各种状态保存技术&#xff0c;帮助你在配置变更和进程重建时保持UI状态。 一、基础保存&#xff1a;rememberSaveable reme…...

阿里云原生AI网关Higress:架构解析与应用实践

摘要 随着云原生与AI技术的深度融合&#xff0c;API网关作为流量治理的核心组件&#xff0c;正面临新的挑战与机遇。阿里云开源的Higress网关&#xff0c;凭借其“三网合一”&#xff08;流量网关、微服务网关、安全网关&#xff09;的高集成能力&#xff0c;以及面向AI场景的…...

如何在数据仓库中集成数据共享服务?

目录 1. Snowflake 数据共享服务&#xff1a;云端的最佳实践 2. 数据共享服务的重要性 3. 麦聪 QuickAPI&#xff1a;企业本地的理想选择 4. 云端与本地的互补 总结 数据共享服务是现代数据仓库的核心功能&#xff0c;能够提升协作效率、降低成本并释放数据潜力。 以 Sno…...

spark RDD相关概念和运行架构

核心概念 - RDD定义&#xff1a;弹性分布式数据集&#xff0c;是Spark中基础数据处理抽象&#xff0c;具弹性、不可变、可分区及并行计算特性。 弹性 存储的弹性&#xff1a;内存与磁盘的自动切换&#xff1b; 容错的弹性&#xff1a;数据丢失可以自动恢复&#xff1b; 计算…...

2025.04.09【Sankey】| 生信数据流可视化精讲

文章目录 引言Sankey图简介R语言中的Sankey图实现安装和加载networkD3包创建Sankey图的数据结构创建Sankey图绘制Sankey图 结论 引言 在生物信息学领域&#xff0c;数据可视化是理解和分析复杂数据集的关键工具之一。今天&#xff0c;我们将深入探讨一种特别适用于展示数据流动…...

《系统分析师-案例实践篇-16-22章总结》

案例实践篇...

spark core

Executor的核心功能 运行任务&#xff1a;Executor负责运行组成Spark应用的任务&#xff0c;并将结果返回给驱动器进程。 缓存管理&#xff1a;Executor通过自身的块管理器为用户程序中要求缓存的RDD提供内存或存储。 Master和Worker的角色 Master&#xff1a;负责资源调度和分…...

crawl4ai的实践(爬虫)

1.准备环境 !pip install -U crawl4ai !pip install nest_asynciocrawl4ai-setup 验证是否安装成功 # Check crawl4ai version import crawl4ai print(crawl4ai.__version__.__version__) 验证是否可以爬 crawl4ai-doctor 2.简单示例 import asyncio from playwright.as…...

Python从入门到精通全套视频教程免费

概述 &#x1f4e2; 所有想学Python的小伙伴看过来&#xff01;作为深耕编程领域的技术分享者&#xff0c;最新整理了一份Python从0到1的视频教程。 &#x1f4a1;亮点 ✅ 保姆级系统路线&#xff1a;从环境搭建、语法精讲&#xff0c;到爬虫/数据分析/AI/Web全栈开发&#…...

Node.js是js语言在服务器编译运行的环境,什么是IP和域名

一句话结论 Node.js 不是语言也不是框架&#xff0c;而是一个让 JavaScript 能运行在服务器端的“环境”&#xff08;类似 Python 的解释器&#xff09;。JavaScript 是语言&#xff0c;Node.js 是它的“执行工具”。 &#x1f330; 用 Python 类比理解 Python 和 JavaScript …...

checkra1n越狱出现的USB error -10问题解决

使用checkra1n进行越狱是出现&#xff1a; 解决办法(使用命令行进行越狱)&#xff1a; 1. cd /Applications/checkra1n.app/Contents/MacOS 2. ./checkra1n -cv 3. 先进入恢复模式 a .可使用爱思助手 b. 或者长按home,出现关机的滑条&#xff0c;同时按住home和电源键&#…...

如何利用 Java 爬虫获取京东商品详情信息

在电商领域&#xff0c;获取商品详情信息对于数据分析、市场研究和用户体验优化具有重要意义。京东作为国内知名的电商平台&#xff0c;提供了丰富的商品详情信息 API 接口。通过 Java 爬虫技术&#xff0c;我们可以高效地调用这些接口&#xff0c;获取商品的详细信息&#xff…...

【spark--scala】--环境配置

文章目录 scalaspark scala 官网下载二进制包 添加环境变量 #set scala export SCALA_HOME/usr/local/src/scala-2.11.8 export PATH$PATH:$SCALA_HOME/binspark 官网下载二进制包 解压后 spark/conf cp slaves.template slaves cp spark-env.sh.template spark-env.sh# s…...

Spark Core学习总结

一、Spark运行架构 1. 核心组件 Driver&#xff08;驱动器&#xff09;&#xff1a; 执行main方法&#xff0c;负责将用户程序转换为作业&#xff08;Job&#xff09;。 调度任务&#xff08;Task&#xff09;到Executor&#xff0c;并监控任务执行状态。 通过UI展示作业运行情…...

Python深度学习基础——深度神经网络(DNN)(PyTorch)

张量 数组与张量 PyTorch 作为当前首屈一指的深度学习库&#xff0c;其将 NumPy 数组的语法尽数吸收&#xff0c;作为自己处理张量的基本语法&#xff0c;且运算速度从使用 CPU 的数组进步到使用 GPU 的张量。 NumPy 和 PyTorch 的基础语法几乎一致&#xff0c;具体表现为&am…...

前端三件套—CSS入门

上篇文章&#xff1a; 前端三件套—HTML入门https://blog.csdn.net/sniper_fandc/article/details/147070026?fromshareblogdetail&sharetypeblogdetail&sharerId147070026&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目录 1 引入CSS …...

mapreduce-案例-简单的数据清洗案例代码

//1.从Mapper继承 //2.重写map方法 //LongWritable,Text:表示初始输入的键值对格式。LongWritable是键的数据类型&#xff0c;Text是值的数据类型 //Text,LongWritable:表示map函数输出的数据的格式。Text是键的数据类型&#xff0c;LongWritable是值的数据类型 public class W…...

为什么PDF文件更适合LLM大模型信息提取?

为什么PDF文件更适合LLM大模型信息提取&#xff1f; 在Dify平台中&#xff0c;我们通过LLM大模型提取上传文件中的指定信息。目前使用的大模型包括qwen2:7b和deepseek-r1:70b。然而&#xff0c;我们发现一个有趣的现象&#xff1a;在提取信息时&#xff0c;PDF文件的表现明显优…...

期权时间价值与隐含波动率怎么选?

期权隐含波动率与时间价值要怎么选&#xff1f;期权隐含波动率IV对期权价格有着巨大的影响。整体来看&#xff0c;期权隐波与期权价格呈正相关关系。当期权隐波从低水平上升时&#xff0c;期权价格也会相应上涨&#xff1b;反之&#xff0c;当隐波下降&#xff0c;期权价格则会…...

LangChain入门指南:调用DeepSeek api

文章目录 1. 什么是LangChain&#xff1f;2. 核心组件3. 为什么选择LangChain&#xff1f;4. 实战案例安装简单chat案例流式交互Prompt模板 5. 简单总结 1. 什么是LangChain&#xff1f; 定义&#xff1a;LangChain是一个用于构建大语言模型&#xff08;LLM&#xff09;应用的…...

Cherry Studio配置MCP server

MCP server在很多的app上开始支持了,从以前的claude desktop,到cursor,vscode等等,甚至现在开源的软件也都开始支持mcp协议的配置了.这里主要来说一下如何在cherry studio中配置好mcp的服务. cheery studio 中配置MCP并使用 基础配置过程Blender MCP百度地图GitGithubfilesyst…...