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
pip3 install aiohttp==3.11.13
pip3 install google-cloud-aiplatform==1.64.0
pip3 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. 其它参考官网

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

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

相关文章

libva之ffavdemo分析

ffavdemo 代码库实现了一个基于FFmpeg和VAAPI的硬件加速视频解码与渲染框架&#xff0c;主要用于演示视频解码与渲染的完整硬件加速流程。支持多种渲染后端&#xff08;X11、DRM、EGL&#xff09;&#xff0c;适应不同显示环境。包含视频处理过滤器&#xff0c;可进行格式转换和…

JavaWeb 课堂笔记 —— 09 MySQL 概述 + DDL

本系列为笔者学习JavaWeb的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程&#xff0c;实现javaweb企业开发全流程&#xff08;涵盖SpringMyBatisSpringMVCSpringBoot等&#xff09;》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习…

精品推荐 | 湖仓一体电商数据分析平台实践教程合集(视频教程+设计文档+完整项目代码)

精品推荐&#xff0c;湖仓一体电商数据分析平台实践教程合集&#xff0c;包含视频教程、设计文档及完整项目代码等资料&#xff0c;供大家学习。 1、项目背景介绍及项目架构 2、项目使用技术版本及组件搭建 3、项目数据种类与采集 4、实时业务统计指标分析一——ODS分层设计与数…

【人工智能】大语言模型多义词解析技术揭秘——以“项目“歧义消解为例

今天田辛老师和小伙伴探讨了一个有趣的多义词问题&#xff0c; 在人工智能技术日新月异的今天&#xff0c;大语言模型&#xff08;LLM&#xff09;对自然语言的理解能力已经达到令人惊叹的水平。大模型到底是如何去区分多义词的&#xff1f; 比如&#xff1a;当用户提到"…

【maxENT】最大熵模型(Maximum Entropy Model)R语言实现

文章目录 一、相关package介绍1.1 dismo 包1.2 raster包1.3 常见问题与解决 二、代码示例 &#x1f7e2;&#x1f7e0;先看&#xff1a;【maxENT】最大熵模型&#xff08;Maximum Entropy Model&#xff09;介绍与使用&#xff08;maxENT软件&#xff09; ASCII文件太大&#…

哈希表-算法小结

哈希表 map set 数组 在C中&#xff0c;set 和 map 分别提供以下三种数据结构&#xff0c;其底层实现以及优劣如下表所示&#xff1a; 集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(log n)O(log n)std::multiset红黑树有序是否…

OpenCompass模型评估

OpenCompass面向大模型的开源方和使用者&#xff0c; 提供开源、高效、全面的大模型评测开放平台。 一、OpenCompass文档 1.基础安装 使用Conda准备 OpenCompass 运行环境&#xff1a; conda create --name opencompass python3.10 -y conda activate opencompass2. 安装 Op…

博途 TIA Portal之1200做主站与有意思的板子做MODBUS_RTU通讯

做为博途的硬件,1200和1500本体都不具有串口通讯功能,只能使用扩展板或是通讯模块完成。 其中1200使用CB1241或CM1241进行串口通讯,本文将使用CM1241进行演示。 1、硬件介绍 1200的PLC一台,有意思的板子(以下简单4D板)一台。 其中1200带扩展模块CM1241 RS232;4D板使…

【深度学习与实战】3.1 逻辑回归模型

‌1. 定义与核心思想‌ 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于‌二分类问题‌的统计学习方法&#xff0c;通过‌sigmoid函数‌将线性回归的输出映射到[0,1]区间&#xff0c;表示样本属于某一类别的概率‌。 ‌本质‌&#xff1a;广义线性模型&#x…

AI三万字论文生成效果——随机森林在信用卡欺诈分析

以下内容全文由AI制作&#xff0c;有gemini和gpt模型配合一次性生成&#xff08;即未来我们会发布的功能&#xff09;&#xff0c;一次性生成的三万多字论文效果。 标题&#xff1a;随机森林在信用卡欺诈分析中的应用研究 摘要 信用卡欺诈已成为全球金融领域面临的严峻挑战…

质检LIMS系统在半导体制造行业的应用 半导体质量革命的现状

在半导体这个“工业皇冠上的明珠”领域&#xff0c;纳米级的精度要求与质量管控如同硬币的两面。随着芯片制程向3nm、2nm演进&#xff0c;传统质检模式已难以满足海量数据、复杂工艺的质量追溯需求。质检LIMS实验室系统作为质量管理的中枢神经&#xff0c;正在重构半导体制造的…

idea手动创建resources文件夹

有时maven没有构建成功可能造成&#xff0c;resources文件夹不创建的现象 此时我们可以手动创建 手动创建

利用Ruby的Typhoeus编写爬虫程序

Typhoeus是一个基于libcurl的HTTP客户端&#xff0c;支持并行请求&#xff0c;适合高效爬取数据。用户可能想要一个简单的例子&#xff0c;或者需要处理更复杂的情况&#xff0c;比如分页、并发请求或者数据解析。 首先&#xff0c;我应该检查用户是否已经安装了Typhoeus。通常…

【mllm】——x64模拟htp的后端无法编译debug

mllm, qnn, x64 code:https://github.com/UbiquitousLearning/mllm 1. 问题 通过自定义qualcomm graph使用高通的htp后端进行llm推理&#xff0c;网络暂时只有mllm&#xff0c;和https://github.com/chraac/llama.cpp。qualcomm是支持x64模拟htp推理的&#xff0c;这样比较好d…

JDK(Java Development Kit)从发布至今所有主要版本 的详细差异、新增特性及关键更新的总结,按时间顺序排列

以下是 JDK&#xff08;Java Development Kit&#xff09;从发布至今所有主要版本 的详细差异、新增特性及关键更新的总结&#xff0c;按时间顺序排列&#xff1a; 1. JDK 1.0 (1996) 发布年份&#xff1a;1996年1月23日关键特性&#xff1a; Java首次正式发布。核心语言特性…

撰写学位论文Word图表目录的自动生成

第一步&#xff1a;为图片和表格添加题注 选中图片或表格 右键点击需要编号的图片或表格&#xff0c;选择 【插入题注】&#xff08;或通过菜单栏 引用 → 插入题注&#xff09;。 设置题注标签 在弹窗中选择 标签&#xff08;如默认有“图”“表”&#xff0c;若无需自定义标…

Xcode为不同环境配置不同的环境变量

一般有三种方式&#xff1a; 一、通过多Target 二、通过scheme,也就是多configurations 三、通过.xcconfig文件 先来看第二种方式&#xff1a;通过scheme,也就是多configurations,包括自定义User-settings 第一步&#xff1a;增加configurations,Xcode默认为我们生成了…

《车辆人机工程-汽车驾驶操纵实验》

汽车操纵装置有哪几种&#xff0c;各有什么特点 汽车操纵装置是驾驶员直接控制车辆行驶状态的关键部件&#xff0c;主要包括以下几种&#xff0c;其特点如下&#xff1a; 一、方向盘&#xff08;转向操纵装置&#xff09; 作用&#xff1a;控制车辆行驶方向&#xff0c;通过转…

Python(10.2)Python可变与不可变类型内存机制解密:从底层原理到工程实践

目录 一、类型特性引发的内存现象1.1 电商促销活动事故分析1.2 内存机制核心差异 二、内存地址追踪实验2.1 基础类型验证2.2 复合对象实验 三、深度拷贝内存分析3.1 浅拷贝陷阱3.2 深拷贝实现 四、函数参数传递机制4.1 默认参数陷阱4.2 安全参数模式 五、内存优化最佳实践5.1 字…

高并发秒杀系统如何锁住库存

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…