Vimo-desktop是VideoRAG的前端實現。
目前該項目仍是不穩定階段,在環境配置上也遇到了很多問題。
一、conda 環境配置
conda create --name vimo python=3.11
conda activate vimo
1、pytorch需要安裝GPU版本,且最好用conda安裝。
❌原始命令:
# Core numerical and deep learning libraries
# pip install numpy==1.26.4 torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2
✅新命令:
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia
接下來會遇到 numpy=2.3.5 版本過高的問題(原因:torch=2.1.2是用numpy=1.x版本編譯的),所以需要進行降級,我們直接安裝vimo需要的1.26.4版本即可。
conda install numpy=1.26.4
2、再處理基礎視頻和繪圖庫:moviepy、cartopy、ffmpeg等等。
conda install -c conda-forge cartopy
注意:conda 安裝完的moviepy已經是1.0.3版本,不需要pip再次安裝了。
conda install -c conda-forge moviepy ffmpeg
conda install -c conda-forge hnswlib timm=0.6.13 einops matplotlib ftfy regex
3、需要源碼安裝的依賴包。關鍵點在於使用--no-deps參數跳過依賴檢查。
pip install --no-deps git+https://github.com/Re-bin/pytorchvideo.git@58f50da4e4b7bf0b17b1211dc6b283ba42e522df
pip install --no-deps git+https://github.com/facebookresearch/ImageBind.git@3fcf5c9039de97f6ff5528ee4a9dce903c5979b3
4、補全其他pip依賴。
pip install eva-decord==0.6.1 fvcore iopath types-regex
這時候會遇到三方面的錯:
- 缺少依賴 av 和 parameterized。其中av庫最好用 conda 安裝比較保險,另一個則用pip安裝即可。
conda install -c conda-forge av
pip install parameterized
- imagebind缺少mayavi庫。根據gemini3的回答,該庫可以不安裝:
mayavi 是一個 3D 科學繪圖庫。
- 極難安裝:在 Windows 上安裝它經常需要編譯 VTK 等底層圖形庫,極其容易報錯。
- 非核心功能:在 VideoRAG 這個項目中,ImageBind 主要是用來提取特徵向量的,根本用不到 3D 繪圖功能。
- 結論:讓 Pip 抱怨去吧,我們不裝它,程序照樣能跑。
- imagebind 和timm, torch產生衝突。這個可以不用管。
5、最後,把剩下的庫補上即可。
pip install neo4j xxhash nano-vectordb tiktoken openai tenacity dashscope flask psutil flask_cors setproctitle
至此,所有python安裝工作全部完成。接下來是前端nodejs相關的環境。
二、node環境
scoop 安裝 nodejs-lts 和 pnpm 環境,在執行 pnpm install 時會遇到兩個錯誤:
1、ssh協議報錯。解決方案是把git協議從ssh換成https,命令如下:
# 強制將 git:// 替換為 https:// ,將 git@github.com: 替換為 https://github.com/。
git config --global url."https://github.com/".insteadOf git://github.com/
git config --global url."https://github.com/".insteadOf git@github.com:
也可以寫入%userprofile%/.gitconfig文件中。
[url "https://github.com/"]
insteadOf = git://github.com/
insteadOf = git@github.com:
2、pnpm 依賴下載錯誤。代理可以開TUN模式,或者用鏡像站。
在當前目錄下創建 .npmrc 文件,然後寫入鏡像站:
electron_mirror=https://npmmirror.com/mirrors/electron/
registry=https://registry.npmmirror.com/
3、electron 相關問題。使用pnpm rebuild electron進行單獨編譯(或者直接pnpm rb全部編譯),最後的效果是能在node_modules/electron/dist中看到electron.exe可執行文件)。