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: ' MYSQLD?BNAME:?ragf?lowuser:{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.pswp.cn/news/901248.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901248.shtml
英文地址,請注明出處:http://en.pswp.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;在這方面有豐富的經驗…