安装 Rust
建议安装 Rust 的最新版本 1.75.0,安装命令如下
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
TEI 的安装
1、下载 TEI 的 github 仓库
git clone https://github.com/huggingface/text-embeddings-inference.git && cd text--embeddings-inference
2、安装cargo install时所用依赖
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# apt install pkg-config libssl-dev
3、gcc g++ 的版本要>=12
ubuntu 20.04中apt的gcc和g++最高版本为9,所以采用下下策,编译安装gcc和g++
# 下载 GCC 源码
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# wget http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# tar -xzf gcc-12.2.0.tar.gz
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# cd gcc-12.2.0
# 安装依赖
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# sudo apt install build-essential libgmp3-dev libmpfr-dev libmpc-dev
# 配置和编译
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# ./configure --disable-multilib --enable-languages=c,c++
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# make -j$(nproc)
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# sudo make install
#验证是否编译成功
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# /usr/local/bin/gcc --version
gcc (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
root@localhost:~/BAAI/text-embeddings-inference-1.5.0# /usr/local/bin/g++ --version
g++ (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4、设置环境变量
export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++
export CARGO_TARGET_DIR=/root/BAAI/text-embeddings-inference-1.5.0/target
5、安装TEI 项目相关依赖
ln -sf /root/.cargo/bin/cargo /usr/bin/
cargo install --path router -F candle
6、部署 Rerank 模型
ln -sf /root/.cargo/bin/text-embeddings-router /usr/bin/
nohup text-embeddings-router --model-id BAAI/bge-reranker-v2-m3 --port 38080 > output.log 2>&1 &
部署完成后查看API相关信息
http://10.84.3.243:38080/docs/
测试
curl -X 'POST' \
'http://localhost:38080/rerank' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"query": "What is Deep Learning?",
"texts": [
"Deep Learning is ...",
"hello"
]
}'
7、部署Embedding 模型
nohup text-embeddings-router --model-id BAAI/bge-m3 --port 38081 > output.log 2>&1 &
8、部署chat模型
nohup text-embeddings-router Qwen/Qwen2.5-72B-Instruct --port 38082 > output.log 2>&1 &
使用ollama安装chat模型
1、一键安装ollama
curl -fsSL https://ollama.com/install.sh | sh
2、手动安装ollama
2.1、下载并解压安装包
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
2.2、创建启动用户
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
2.3、加入systemd管理
cat > /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
[Install]
WantedBy=default.target
EOF
3、启动服务
sudo systemctl daemon-reload
sudo systemctl enable ollama
4、部署qwen2.5:72b
ollama run qwen2.5:72b
Xinference
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。
官方网站:https://inference.readthedocs.io/zh-cn/latest/getting_started/installation.html
Docker
部署CPU版Xinference Server
services:
xinference:
image: registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:v0.16.2-cpu
ports:
- "9997:9997"
environment:
- XINFERENCE_MODEL_SRC=modelscope #指定模型仓库,国内的是魔塔库,国外的是huggingface
command: xinference-local -H 0.0.0.0 --log-level debug
部署GPU版Xinference
准备工作
Xinference 使用 GPU 加速推理,该镜像需要在有 GPU 显卡并且安装 CUDA 的机器上运行。
保证 CUDA 在机器上正确安装。可以使用 nvidia-smi 检查是否正确运行。
镜像中的 CUDA 版本为 12.4 。为了不出现预期之外的问题,请将宿主机的 CUDA 版本和 NVIDIA Driver 版本分别升级到 12.4 和 550 以上。
services:
xinference:
image: registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:v0.16.2
environment:
- XINFERENCE_MODEL_SRC=modelscope
ports:
- "9998:9997"
runtime: nvidia
command: xinference-local -H 0.0.0.0 --log-level debug
deploy:
resources:
limits:
devices:
- driver: nvidia
count: all
restart: always
Kubernetes Server
Xinference 提供基于原生 Helm 在 Kubernetes 集群中安装的方式。
准备条件
- 一个可用的 Kubernetes 集群。
- 在 Kubernetes 中开启 GPU 支持
- 正确安装 Helm
具体步骤
1、新增 Xinference Helm 仓库
root@master1:~# helm repo add xinference https://xorbitsai.github.io/xinference-helm-charts
"xinference" has been added to your repositories
2、更新仓库索引,查询可安装版本
root@master1:~# helm repo update xinference
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "xinference" chart repository
Update Complete. ⎈Happy Helming!⎈
root@master1:~# helm search repo xinference/xinference --devel --versions
NAME CHART VERSION APP VERSION DESCRIPTION
xinference/xinference 0.0.2-v0.14.4 v0.14.4 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.2-v0.13.3 v0.13.3 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.16.2 v0.16.2 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.16.1 v0.16.1 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.16.0 v0.16.0 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.15.4 v0.15.4 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.15.3 v0.15.3 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.15.2 v0.15.2 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.15.1 v0.15.1 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.15.0 v0.15.0 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.4 v0.14.4 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.3 v0.14.3 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.2 v0.14.2 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.1 v0.14.1 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.0.post1 v0.14.0.post1 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.14.0 v0.14.0 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.13.3 v0.13.3 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.0.4 v0.0.4 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.0.3 v0.0.3 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.0.2 v0.0.2 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-v0.0.1 v0.0.1 Helm charts for Xinference on Kubernetes
xinference/xinference 0.0.1-main main Helm charts for Xinference on Kubernetes
3、安装
helm install xinference xinference/xinference -n xinference --version 0.0.2-v0.14.4
部署模型
安装xinference客户端
pip install xinference
部署模型
Rerank
xinference launch --model-name bge-reranker-v2-m3 --model-type rerank -e http://10.84.3.40:30018
embedding
xinference launch --model-name bge-large-zh-v1.5 --model-type embedding -e http://10.84.3.40:30018
Chat
xinference launch --model-engine ${engine} --model-name qwen2.5-instruct --size-in-billions 0_5 --model-format pytorch --quantization ${quantization} -e http://10.84.3.40:30018
- Model Format: pytorch
- Model Size (in billions): 0_5
- Quantizations: 4-bit, 8-bit, none
- Engines: vLLM, Transformers, SGLang (vLLM and SGLang only available for quantization none)
- Model ID: Qwen/Qwen2.5-0.5B-Instruct
- Model Hubs: Hugging Face, ModelScope
- --model-name: 指定部署的模型名称,上方例子的模型名称是bge-reranker-v2-m3
- --model-type:指定部署的模型类型,上方例子的模型类型是rerank
- -e:指定Server地址,上方例子的Server地址是http://10.84.3.40:30018
注意:执行完上方任意一条部署模型指令后都会去ModelScope或Hugging Face下载大模型文件,具体是ModelScope还是Hugging Face需要在环境环境变量中指定XINFERENCE_MODEL_SRC,必须确保网络畅通
自定义模型
xinference launch --model_path <model_file_path> --model-engine <engine> -n qwen1.5-chat -e http://10.84.3.40:30018
部署自定义模型与上方部署方式大部分都一样,唯一区别是需要指定模型文件路径,将下载下来的模型文件存放至Server某个目录下,然后通过--model_path指定绝对路径
- --model_path:模型文件路径
- --model-engine:选择加载模型的引擎
- -n:模型名称
仅登录用户可评论,点击 登录