准备环境
- 确保已经安装并配置好以下工具和模型文件。
- 克隆项目到本地。
git clone --branch v2.0.0 https://gitee.com/kunpeng_compute/KunpengRAG.git cd KunpengRAG/deployment/ray-compute/
- 配置用户自定义配置,自定义修改llamacpp_config.yaml文件中配置。用户选择Embedding/Reranker模型启动方式:Docker、cmd或external,根据以下步骤进行自定义配置。
Docker:
- 下载“swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/llama.cpp:full-kunpeng”镜像。
- 在llamacpp_config.yaml中配置“start_mode”为“docker”。
- 在llamacpp_config.yaml中model_configs配置“model_type”为“embedding”或者“reranker”。
- 在llamacpp_config.yaml中配置“docker_image”为“swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/llama.cpp:full-kunpeng”。
- 在llamacpp_config.yaml中配置docker_configs下Embedding/Reranker模型所需参数,model_configs可扩展,用户可以根据需求自行配置启动Embedding模型数量。以下为例子,添加一组model_configs即可启动一个Embedding/Reranker模型。
docker_configs: - model_configs: server_ip: yourIP # 服务绑定的IP地址 container_port: 11439 # 容器内部端口 host_port: 11439 # 主机映射端口 cpuset: "0-31" # 绑定的CPU核心 model_type: "embeddings" # 模型类型 embedding或者reranker threads: 32 ubatch_size: 1024 max_model_input_chunks: 512 # 最大输入chunk数量 - model_configs: server_ip: yourIP # 服务绑定的IP地址 container_port: yourPort # 第二个容器内部端口 host_port: yourPort # 第二个主机映射端口 cpuset: "32-63" # 绑定到另一组CPU核心 model_type: "embeddings" threads: 32 ubatch_size: 1024 max_model_input_chunks: 512 # 最大输入chunk数量cmd:
- 准备llama.cpp二进制文件。
- 在llamacpp_config.yaml中配置“start_mode”为“cmd”。
- 在llamacpp_config.yaml中model_configs配置“model_type”为“embedding”或者“reranker”。
- 添加服务器环境变量“#export LD_LIBRARY_PATH = llama-sever”路径。
- 在llamacpp_config.yaml中配置“llamacpp_path”为实际的llama-sever路径。
- 在llamacpp_config.yaml中配置llamacpp_configs下Embedding/Reranker模型所需参数,model_configs可扩展,用户可以根据需求自行配置启动Embedding/Reranker模型数量。以为下为例子,添加一组model_configs即可启动一个Embedding/Reranker模型。
llamacpp_configs: - model_configs: server_ip: yourIP # 服务绑定的IP地址 port: yourPort # 服务端口 cpuset: "0-31" # 绑定的CPU核心(空字符串表示不绑定) model_type: "embeddings" # 模型类型 embedding或者reranker threads: 32 # 线程数 ubatch_size: 1024 # 批处理大小 max_model_input_chunks: 512 # 最大输入chunk数量 - model_configs: server_ip: yourIP # 服务绑定的IP地址 port: yourPort # 第二个实例端口 cpuset: "32-63" # 绑定到另一组CPU核心 model_type: "embeddings" threads: 32 ubatch_size: 1024
external:
- 通过Docker自行启动Embedding/Reranker模型,参考以下命令启动:
docker run \ --cpuset-cpus="0-31" \ # 容器绑核,绑定一个numa上 -v /root/models:/models \ # 挂载模型目录到容器 -p 11133:11133 # 映射容器的服务端口到主机端口 -c 512 # 模型可接收最大chunk数量 swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/llama.cpp:full-kunpeng \ # 使用已构建好的llama.cpp镜像 --server \ # 启动api服务 -m /models/your_model.gguf \ # 指定模型路径 --embedding \ --port 11133 \ --threads 32 \ --host 0.0.0.0 \ --ubatch-size 1024 - 添加服务器环境变量“#export LD_LIBRARY_PATH = llama-sever”路径(使用llama.cpp二进制启动需要)。
- 通过llama.cpp二进制启动Embedding/Reranker模型,参考以下启动命令:
numactl -C 32-63 \ # cpu绑核 /yourPath/llama.cpp/build/bin/llama-server \ # llama.cpp二进制文件 --model /your Path to your model.gguf # embedding/reranker模型文件 --port 11438 \ --embedding \ --threads 32 \ --host 90.90.82.204 \ --ubatch-size 1024 \
- 执行Ray脚本。
python3 deplicas_ray.py
- 执行完成后,脚本自动暴露服务,您可以通过以下地址访问。
http://<服务器IP>:<rag serve服务端口(默认为8000)>
例如:http://192.168.1.100:8000
- 配置Ray地址到RAG服务。
打开RAG服务前端,配置RAY服务http://<服务器IP>:<rag serve服务端口(默认为8000)>/v1到embedding模型配置中。(/v1为openai embedding模型访问范式)。配置完毕后即可正常使用RAG服务。
父主题: 搭建RAG平台