简体中文 | English
可以使用miniconda 轻量安装 python conda 环境
# 安装虚拟环境
conda create -n qllm python==3.11
source activate qllm
cd mm_server
#安装 python 依赖环境
pip install -r requirements.txt
编辑模型配置项:
cp config.py.local config.py
根据使用情况修改 config.py 配置文件
- clip_model_name: 视觉编码模型, 文本编码模型
- ocr_model_path: ocr 文字识别模型
- hf_embedding_model_name: 文本编码模型
- audio_model_name: 视频转文案模型
@dataclass
class Configer:
# mm server host
server_host = "localhost"
server_port = 50110
# image encoder model name
clip_model_name = "ViT-B/32"
# model keep alive time (s)
clip_keep_alive = 60
# ocr model path
ocr_model_path = str(TEMPLATE_PATH / "services/ocr_server/ocr_models")
# model keep alive time (s)
ocr_keep_alive = 60
# text embedding model name
hf_embedding_model_name = "BAAI/bge-small-en-v1.5"
# model keep alive time (s)
hf_keep_alive = 60
# video transcription model name
audio_model_name = "small"
# model keep alive time (s)
video_keep_alive = 1
source activate qllm
python main.py
# reload 模式, 修改代码后热更新
# uvicorn main:app --reload --host localhost --port 50110
Install ollama 参考:
本地模型启动 本地模型选择 8b, 效果会有损失
# 本地版本:
ollama run llama3:8b-instruct-q4_0
(可选) 本地 70B 大模型
服务器可选择 70b 大模型版本, 需要同时修改mmrag_server/config.py
中的 model_name
# 远端服务器版本:
ollama run llama3:70b-instruct
(可选)模型生命周期管理 当前 ollama 会自动释放模型, 5min 不使用则释放模型, 再次访问时重启模型, 如果需要长期持有可按照以下教程配置
- 持续时间字符串(例如“10m”或“24h”)
- 以秒为单位的数字(例如 3600)
- 模型永久保持: 任何将模型加载到内存中的负数(例如-1 或“-1m”)
- 释放模型: “0”将在生成响应后立即卸载模型
# 永久持有
curl http://localhost:11434/api/generate -d '{"model": "模型名称", "keep_alive": -1}'
# 卸载
curl http://localhost:11434/api/generate -d '{"model": "模型名称", "keep_alive": 0}'
# 设定自动释放时间
curl http://localhost:11434/api/generate -d '{"model": "模型名称", "keep_alive": 3600}'
-
长文本: 524k llama3 版本
-
高质量 LLM 开源模型: Llama-3-70b-Instruct
-
高质量小模型: llama3:8b-instruct
-
文本 embedding 模型: bge-small
-
图片 embedding 模型: CLIP