7.0
热点
AI SCORE
开源项目2023-11-06 08:55
LLaVaVision:本地视觉 AI 应用参考
Hacker News · github.com#开源#视觉AI
Editor brief · 编辑速览
开源项目展示如何用 llama.cpp 构建本地视觉模型应用,提供完整的架构示例。
开源项目展示如何用 llama.cpp 构建本地视觉模型应用,提供完整的架构示例。
一个简单的"Be My Eyes"网应用,使用 llama.cpp/llava 后端创建,花费约一小时用 ChatGPT、Copilot 和我(@lxe)的一些帮助完成。它使用 SkunkworksAI BakLLaVA-1 模型通过 llama.cpp 描述看到的内容,并使用 Web Speech API 朗读文本。
受到 Fuzzy-Search/realtime-bakllava 的启发。
你需要一台大约 5 GB RAM/VRAM 的机器来运行 q4_k 版本。
(可选)安装 CUDA 工具包:
sudo apt install nvidia-cuda-toolkit
构建 llama.cpp(llama.cpp 构建说明在这里查看不同平台的说明):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
mkdir build
cd build
cmake .. -DLLAMA_CUBLAS=ON # 如果 CUDA 不可用,移除这个标志
cmake --build . --config Release
从 ggml_bakllava-1 下载模型:
wget https://huggingface.co/mys/ggml_bakllava-1/resolve/main/mmproj-model-f16.gguf
wget https://huggingface.co/mys/ggml_bakllava-1/resolve/main/ggml-model-q4_k.gguf # 如果需要可选择其他量化版本
启动服务器(服务器选项详见这里):
./bin/server -m ggml-model-q4_k.gguf --mmproj mmproj-model-f16.gguf -ngl 35 -ts 100,0 # 对于仅 GPU 模式,单 GPU
# ./bin/server -m ggml-model-q4_k.gguf --mmproj mmproj-model-f16.gguf # 对于 CPU
Clone 并设置环境:
git clone https://github.com/lxe/llavavision
cd llavavision
python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
创建虚拟证书并启动服务器。移动设备视频功能需要 HTTPS:
openssl req -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out cert.pem -keyout key.pem
flask run --host=0.0.0.0 --key key.pem --cert cert.pem --debug
从你的移动设备访问 https://your-machine-ip:5000。可选地,用 ngrok 或 localtunnel 启动本地隧道:
npx localtunnel --local-https --allow-invalid-cert --port 5000
Fuzzy-Search/realtime-bakllava
SkunkworksAI/BakLLaVA-1