这是我的RAG的测试环境的搭建,其他人不需要看了,因为看也看不太懂
端口声明:
es的默认端口 172.19.96.9:9200
es组件内部沟通 172.19.96.9:9300
milvus组件默认 172.19.96.9:19530
milvus组件http通信 172.19.96.9:9091
milvus组件的元数据存储 172.19.96.9:2379
milvus组件的对象存储 172.19.96.9:9000
推理的bge-reranker的端口 8056
推理的embedding的端口 8057
推理的gte-reranker的端口是8058
各种组件的安装
包括es和milvus
本文写的东西我都放到了 172.19.96.9
jrx jrxcode123
位置在/home/weishubao_nodelete里面。
1.1 (可以忽略,因为使用docker)安装es
elasticsearch(简称es)需要使用6的版本,我目前使用的是 es6 的最后一个版本 elasticsearch-6.8.23.tar.gz
他需要使用jdk8
启动elasticsearch:
下面是linux的
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
1.2docker安装es
sudo docker pull elasticsearch:6.8.23
如果你下载不下来,我已经帮你下载好了 elasticsearch-v6.8.23.tar
1.2.1创建挂载点的目录
sudo mkdir -p /opt/elasticsearch/config
sudo mkdir -p /opt/elasticsearch/data
sudo mkdir -p /opt/elasticsearch/logs
/opt/elasticsearch/config/elasticsearch.yml 这个需要复制过去
sudo chmod -R 777 /opt/elasticsearch/
1.2.3.如果你第一步骤无法下载,则把我的 elasticsearch-v6.8.23.tar 复制到目录下/tmp/elasticsearch-v6.8.23.tar
# sudo docker save -o elasticsearch-v6.8.23.tar elasticsearch:6.8.23
sudo docker load -i /tmp/elasticsearch-v6.8.23.tar
1.2.4 启动elasticsearch:
#!/bin/bash
sudo docker run -d \
--name es \
-p 9200:9200 \
-p 9300:9300 \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/elasticsearch/logs:/usr/share/elasticsearch/logs \
elasticsearch:6.8.23
当然这个命令有一些长,所以我专门写了一个sh,详情查看 start-es.sh 和 stop-es.sh
1.2.5 验证es是否启动成功, 172.19.96.9:9200
12.6设置es的账号密码
https://blog.csdn.net/casuallc/article/details/116006687
elastic qwer!@#$1234
2. 安装 kibana
kibana需要和es的版本保持一致,我都下载好了.这个也可以不安装,因为谁用谁自己的windows电脑本地安装即可
3.1 (可以忽略,因为docker安装)
安装milvus
milvus需要使用2.6.X的版本。我已经下载好了
milvus_2.6.3-1_amd64.deb
复制到某一个目录下
apt install -y ./milvus_2.6.3-1_amd64.deb
会自动安装到 /usr/bin/milvus 目录下
启动milvus
sudo systemctl start milvus
sudo systemctl status milvus
sudo systemctl stop milvus
3.2 使用docker安装milvus
复制 standalone_embed.sh 到某个目录
如果找不到该文件或者 curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh 下载standalone_embed.sh
bash standalone_embed.sh start
如果没办法访问外网,我也帮你弄好了milvus-v2.6.3.tar 就是这个镜像,把这个文件放到/tmp/milvus-v2.6.3.tar目录下
sudo docker load -i /tmp/milvus-v2.6.3.tar
然后再执行 bash standalone_embed.sh start
bash standalone_embed.sh stop
3.3 设置milvus的账号和密码
from pymilvus import MilvusClient
client = MilvusClient(
uri="http://172.19.96.9:19530",
token="root:Milvus"
)
client.create_user(user_name="weishubao", password="qwerQWER!@#$")
client.grant_role(user_name="weishubao", role_name="admin")
执行这个代码,我们创建了一个admin用户叫做 weishubao ,密码是 qwerQWER!@#$
后续我们代码里面就使用这个milvus的用户名和密码了
4. 还需要给es安装ik分词器,不然那es不知道中文如何分词
这就是一个插件, 我已经下载好了, elasticsearch-analysis-ik-6.8.23.zip
先把 elasticsearch-analysis-ik-6.8.23.zip 复制到 /tmp/elasticsearch-analysis-ik-6.8.23.zip目录下
docker ps 查询当前的es的container_id 为7f336eb953a6 (你的id肯定和我的不一样!)
docker cp /tmp/elasticsearch-analysis-ik-6.8.23.zip 7f336eb953a6:/usr/share
然后去这个容器中去查看
docker exec -it 7f336eb953a6 /bin/bash
cd /usr/share 就可以看到刚刚传过来的 elasticsearch-analysis-ik-6.8.23.zip
cd /usr/share/elasticsearch/bin
elasticsearch-plugin install file:///usr/share/elasticsearch-analysis-ik-6.8.23.zip
推理框架使用的是这个:https://github.com/huggingface/text-embeddings-inference
5.安装推理模型,先安装reranker
我们使用的是 bge-reranker-large
5.1 下载模型
cd ./models
git lfs install
git clone https://huggingface.co/BAAI/bge-reranker-large
如果你下载不下来,我也帮你下载好了
位置在\install_packages\推理模型\bge-reranker-large
你直接复制到models目录下
然后执行 tar -xvf bge-reranker-large.tar
5.2 安装推理的镜像
cd models
volume=$PWD
docker run -d --gpus all -p 8056:80 -v $volume:/data --name bge-reranker-large-server ghcr.io/huggingface/text-embeddings-inference:89-1.8 --model-id /data/bge-reranker-large
下次启动就是 docker restart bge-reranker-large-server
停止就是 docker stop bge-reranker-large-server
测试:
curl 172.19.96.9:8056/rerank \
-X POST \
-d '{"query":"What is Deep Learning?", "texts": ["Deep Learning is not...", "Deep learning is..."], "raw_scores": false}' \
-H 'Content-Type: application/json'
6. 安装embedding模型,先安装bge-m3
6.下载模型
git clone https://huggingface.co/BAAI/bge-m3
如果你下载不下来,我也帮你下载好了
位置在\install_packages\推理模型\bge-m3
你直接复制到models目录下
然后执行 tar -xvf bge-m3.tar
6.2 安装推理的镜像
cd models
volume=$PWD
docker run -d --gpus all -p 8057:80 -v $volume:/data --name bge-embedding-server ghcr.io/huggingface/text-embeddings-inference:89-1.8 --model-id /data/bge-m3
下次启动就是 docker restart bge-embedding-server
停止就是 docker stop bge-embedding-server
测试:
curl 172.19.96.9:8057/embed \
-X POST \
-d '{"inputs":"What is Deep Learning?"}' \
-H 'Content-Type: application/json'
7.安装推理的reranker
先安装gte
git clone https://huggingface.co/Alibaba-NLP/gte-multilingual-reranker-base
如果你下载不下来,我也帮你下载好了
位置在\install_packages\推理模型\gte-multilingual-reranker-base
你直接复制到models目录下
然后执行 tar -xvf gte-multilingual-reranker-base.tar
7.2安装推理的镜像
cd models
volume=$PWD
docker run -d --gpus all -p 8058:80 -v $volume:/data --name gte-reranker-server ghcr.io/huggingface/text-embeddings-inference:89-1.8 --model-id /data/gte-multilingual-reranker-base
下次启动就是 docker restart gte-reranker-server
停止就是 docker stop gte-reranker-server
测试:
curl 172.19.96.9:8058/rerank \
-X POST \
-d '{"query":"What is Deep Learning?", "texts": ["Deep Learning is not...", "Deep learning is..."], "raw_scores": false}' \
-H 'Content-Type: application/json'
启动linux,docker自动启动的命令
https://cloud.tencent.com/developer/article/2243704

浙公网安备 33010602011771号