Edge Craft 检索增强生成(EC-RAG)高级部署说明¶
自行构建 Mega Service、Server 和 UI 镜像¶
所有 Docker 镜像都可以自动拉取。如果你希望自行构建镜像,请使用辅助脚本:
# 构建全部镜像
./tools/build_images.sh
# 单独构建某个镜像
./tools/build_images.sh mega
./tools/build_images.sh server
./tools/build_images.sh ui
# 组合构建多个镜像
./tools/build_images.sh mega server
Arc 平台手动部署详细说明¶
准备模型¶
需要准备 3 类模型:Embedding、Reranking、LLM。
你需要根据场景选择对应推理框架。
Embedding 与 Reranking¶
Embedding 与 Reranking 通常由本地 OpenVINO 推理提供,可按如下方式准备:
# 准备 embedding、reranking 模型:
export MODEL_PATH="${PWD}/models" # embedding、reranking、LLM 模型目录
mkdir -p $MODEL_PATH
pip install --upgrade --upgrade-strategy eager "optimum[openvino]"
optimum-cli export openvino -m BAAI/bge-small-en-v1.5 ${MODEL_PATH}/BAAI/bge-small-en-v1.5 --task sentence-similarity
optimum-cli export openvino -m BAAI/bge-reranker-large ${MODEL_PATH}/BAAI/bge-reranker-large --task text-classification
LLM¶
openVINO¶
如果仅使用 Core Ultra 平台,请准备 openVINO 模型:
你也可以在独立 GPU 上运行 openVINO 模型。
# 准备 openVINO 的 LLM 模型
optimum-cli export openvino --model Qwen/Qwen3-8B ${MODEL_PATH}/Qwen/Qwen3-8B/INT4_compressed_weights --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8
vLLM¶
如果你有独立 GPU 并希望使用 vLLM,可按如下方式准备模型:
# 准备 vLLM 的 LLM 模型
export LLM_MODEL="Qwen/Qwen3-8B" # 模型 ID
pip install modelscope
modelscope download --model $LLM_MODEL --local_dir "${MODEL_PATH}/${LLM_MODEL}"
# 可选:也可以使用 huggingface 下载模型:
# pip install -U huggingface_hub
# huggingface-cli download $LLM_MODEL --local-dir "${MODEL_PATH}/${LLM_MODEL}"
准备环境变量与配置¶
ip_address=$(hostname -I | awk '{print $1}')
# 可使用 `ip a` 查看当前活动 ip
export HOST_IP=$ip_address # 主机 IP
# 获取 video / render 组 ID
export VIDEOGROUPID=$(getent group video | cut -d: -f3)
export RENDERGROUPID=$(getent group render | cut -d: -f3)
# 如果你配置了代理,请执行以下命令
export no_proxy=${no_proxy},${HOST_IP},edgecraftrag,edgecraftrag-server
export NO_PROXY=${NO_PROXY},${HOST_IP},edgecraftrag,edgecraftrag-server
# 如果你配置了 HF 镜像,会被注入容器
# export HF_ENDPOINT=https://hf-mirror.com # 你的 HF 镜像地址
# 确保以下 3 个目录权限为 1000:1000
export DOC_PATH=${PWD}/tests
export TMPFILE_PATH=${PWD}/tests
chown 1000:1000 ${MODEL_PATH} ${DOC_PATH} ${TMPFILE_PATH}
# 同时确保 .cache 目录权限为 1000:1000
chown 1000:1000 -R $HOME/.cache
设置 Milvus 和聊天历史轮数:
# EC-RAG 支持 Milvus 持久化数据库,默认关闭;设置 MILVUS_ENABLED=1 可开启
export MILVUS_ENABLED=0
# 启用 Milvus 时,默认存储路径为 PWD,如需修改请取消注释:
# export DOCKER_VOLUME_DIRECTORY= # 按需修改
# EC-RAG 支持聊天历史轮数,默认关闭;可通过 CHAT_HISTORY_ROUND 控制
# export CHAT_HISTORY_ROUND= # 按需修改
使用 Docker Compose 在 Intel GPU 上部署服务¶
选项 a:为 Core Ultra / Arc B60 / Arc A770 部署基于 openVINO LLM 的 EC-RAG¶
docker compose -f docker_compose/intel/gpu/arc/compose.yaml up -d
选项 b.1:为 Arc B60 部署基于 vLLM 的 EC-RAG¶
docker compose --profile b60 -f docker_compose/intel/gpu/arc/compose.yaml up -d
选项 b.2:为 Arc A770 部署基于 vLLM 的 EC-RAG¶
docker compose --profile a770 -f docker_compose/intel/gpu/arc/compose.yaml up -d
6. 清理部署(手动)¶
若要停止本次部署相关容器,请执行:
docker compose -f docker_compose/intel/gpu/arc/compose.yaml down
执行 down 后,EdgeCraftRAG 相关容器将停止并移除。
EC-RAG 与 Kbadmin¶
EC-RAG 支持 kbadmin 作为知识库管理器。
请先确保所有 kbadmin 服务已启动。
EC-RAG 镜像准备与本地推理章节一致,请参考 自行构建镜像。
模型准备与 Arc 手动部署章节一致,请参考 准备模型。
1. 使用 Docker Compose 启动 Edge Craft RAG 服务¶
此部分与 Arc 手动部署一致,请参考 准备环境变量与配置 和 使用 Docker Compose 在 Intel GPU 上部署服务。
2. 访问 Kbadmin UI¶
在多 GPU 上部署 EC-RAG¶
本示例以 4 张 Arc B60 部署 Qwen3-30B-A3B 为例。
开始前请先准备模型到 MODEL_PATH 并准备好 Docker 镜像。
export MODEL_PATH="${PWD}/models" # 模型路径
export LLM_MODEL="Qwen/Qwen3-30B-A3B"
pip install modelscope
modelscope download --model $LLM_MODEL --local_dir "${MODEL_PATH}/${LLM_MODEL}"
# vLLM 环境变量
export TP=4 # 多卡时可按需调整 TP
export ZE_AFFINITY_MASK=0,1,2,3 # 多卡时可按需调整
docker compose --profile b60 -f docker_compose/intel/gpu/arc/compose.yaml up -d