Archived
docs: 添加 requirements.txt + deploy.sh 部署脚本
requirements.txt: 完整依赖清单(50+ 依赖) deploy.sh: 自动化部署脚本(Redis + venv + HF模型 + 验证) - 支持 --gpu 模式(需要手动复制 torch CUDA 版本) - CPU 模式直接 pip install -r requirements.txt 即可
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
# 织忆 v2.8 部署脚本
|
||||
# 用法: bash deploy.sh [--gpu]
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== 织忆 MemoryWeave v2.8 部署脚本 ==="
|
||||
|
||||
# 检测 GPU
|
||||
GPU=false
|
||||
if [[ "$1" == "--gpu" ]] && command -v nvidia-smi &>/dev/null; then
|
||||
GPU=true
|
||||
echo "[检测] NVIDIA GPU 可用,将安装 CUDA 版 torch"
|
||||
else
|
||||
echo "[检测] CPU 模式"
|
||||
fi
|
||||
|
||||
# 1. 安装系统依赖(需要 sudo)
|
||||
if ! command -v redis-server &>/dev/null; then
|
||||
echo "[步骤1] 安装 Redis..."
|
||||
if command -v apt &>/dev/null; then
|
||||
sudo apt install -y redis-server
|
||||
elif command -v pacman &>/dev/null; then
|
||||
sudo pacman -S redis
|
||||
else
|
||||
echo "[警告] 未检测到包管理器,请手动安装 Redis"
|
||||
fi
|
||||
else
|
||||
echo "[步骤1] Redis 已安装 ✓"
|
||||
fi
|
||||
|
||||
# 2. 创建虚拟环境
|
||||
echo "[步骤2] 创建虚拟环境..."
|
||||
if [ ! -d ".venv" ]; then
|
||||
python3 -m venv .venv
|
||||
fi
|
||||
source .venv/bin/activate
|
||||
|
||||
# 3. 安装 Python 依赖
|
||||
echo "[步骤3] 安装 Python 依赖..."
|
||||
if $GPU; then
|
||||
# GPU 机器:从系统 Python 复制 torch CUDA 版
|
||||
# (torch 没有官方 cu130 的 pip 包,需要手动处理)
|
||||
echo "[警告] GPU 模式需要手动处理 torch CUDA 版本"
|
||||
echo "[提示] 从本机 /home/muc/.local/lib/python3.12/site-packages/ 复制 torch + nvidia 到 .venv/lib/python3.12/site-packages/"
|
||||
fi
|
||||
|
||||
# 安装基础依赖
|
||||
pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 4. 下载 HF 模型
|
||||
echo "[步骤4] 下载 moka-ai/m3e-base 模型..."
|
||||
export HF_ENDPOINT=https://hf-mirror.com
|
||||
python3 -c "
|
||||
from sentence_transformers import SentenceTransformer
|
||||
print('下载模型中(首次约 400MB)...')
|
||||
model = SentenceTransformer('moka-ai/m3e-base')
|
||||
print('模型下载完成 ✓')
|
||||
"
|
||||
|
||||
# 5. 配置 Redis
|
||||
echo "[步骤5] 启动 Redis..."
|
||||
if ! pgrep -x redis-server > /dev/null; then
|
||||
redis-server --daemonize yes
|
||||
echo "Redis 已启动 ✓"
|
||||
else
|
||||
echo "Redis 已运行 ✓"
|
||||
fi
|
||||
|
||||
# 6. 验证部署
|
||||
echo "[步骤6] 验证..."
|
||||
python3 -c "
|
||||
import faiss
|
||||
import torch
|
||||
from sentence_transformers import SentenceTransformer
|
||||
print(f' torch: {torch.__version__} CUDA={torch.cuda.is_available()}')
|
||||
print(f' faiss-cpu: {faiss.__version__}')
|
||||
print(' 依赖验证通过 ✓')
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "=== 部署完成 ==="
|
||||
echo ""
|
||||
echo "启动服务:"
|
||||
echo " HF_ENDPOINT=https://hf-mirror.com PYTHONPATH=src .venv/bin/uvicorn api.server:app --host 0.0.0.0 --port 7821"
|
||||
echo ""
|
||||
echo "或 GPU 模式(需要先手动复制 torch CUDA 版本到 venv):"
|
||||
echo " HF_ENDPOINT=https://hf-mirror.com PYTHONPATH=src ZHIYI_PORT=7821 .venv/bin/uvicorn api.server:app --host 0.0.0.0 --port 7821"
|
||||
@@ -0,0 +1,27 @@
|
||||
# 织忆 v2.8 依赖清单
|
||||
# CPU 部署:torch + faiss-cpu
|
||||
# GPU 部署:额外安装 nvidia CUDA 库
|
||||
|
||||
# 核心服务
|
||||
fastapi>=0.100.0
|
||||
uvicorn>=0.20.0
|
||||
pydantic>=2.0
|
||||
redis>=5.0
|
||||
|
||||
# 向量存储 + 嵌入
|
||||
faiss-cpu>=1.7.0
|
||||
sentence-transformers>=2.2.0
|
||||
|
||||
# 模型相关
|
||||
torch>=2.0.0
|
||||
transformers>=4.30.0
|
||||
huggingface-hub>=0.16.0
|
||||
|
||||
# 数据处理
|
||||
numpy>=1.24.0
|
||||
scikit-learn>=1.3.0
|
||||
|
||||
# 工具
|
||||
typer>=0.9.0
|
||||
click>=8.0
|
||||
pyyaml>=6.0
|
||||
Reference in New Issue
Block a user