MaxKB实操 | 如何下载M3E向量模型,并在MaxKB接入使用

一、从hugging face下载模型

向量模型下载地址(需科学上网):https://huggingface.co/models
huggingface 镜像站(推荐): Models - Hugging Face
以下几种方式均需要提前按照好python和pip

方法一:通过代码下载

1、需要先安装 sentence-transformers

# pythonm3e 和 text2vec 都可以直接通过 sentence-transformers 直接使用,其他向量模型请参考官方文档
# 安装sentence-transformers
pip install -U sentence-transformers
# 安装成功后使用pip list 检查numpy版本是否小于2.0.0,如果大于2.0.0版本,请降级
pip install numpy==1.26.42

2、安装完成后,可以使用以下代码来使用 M3E Models

from sentence_transformers import SentenceTransformer
 
model = SentenceTransformer('moka-ai/m3e-base')

3、执行脚本,下载模型

python model_download.py
# 下载到默认路径 ~/.cache/huggingface/hub

方法二:使用huggingface-cli工具下载

huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。

1、安装依赖

# 注意:huggingface_hub 依赖于 Python>=3.8
pip install -U huggingface_hub

2、设置环境变量

# Linux
export HF_ENDPOINT=https://hf-mirror.com
# Windows
$env:HF_ENDPOINT = "https://hf-mirror.com"

3、下载模型

# huggingface_hub v0.23.0 已弃用 --resume-download参数,现在默认断点续传
huggingface-cli download moka-ai/m3e-large --local-dir m3e-large

方法三:使用脚本下载

项目访问地址:https://github.com/LetheSec/HuggingFace-Download-Accelerator,利用 HuggingFace 官方的下载工具 huggingface-clihf_transferHuggingFace 镜像站上对模型和数据集进行高速下载。该脚本只是对 huggingface-cli 的一个简单封装。

1、下载脚本

git clone https://github.com/LetheSec/HuggingFace-Download-Accelerator.git

2、下载模型

python hf_download.py --model moka-ai/m3e-base --save_dir m3e-base

二、在MaxKB只能够配置模型

1、拷贝MaxKB的默认模型

# 将容器中模型拷贝到宿主机上
cd /opt/maxkb
docker cp maxkb:/opt/maxkb/model .
 
# 如果误操作导致容器内部model文件下没有默认模型,可以启动一个新的容器进行拷贝
# docker run -d --name=maxkb_new  1panel/maxkb-pro:v1.5.1
# docker cp maxkb_new:/opt/maxkb/model .

2、修改docker-compose.yaml

注意:模型向量模型路径为:${MAXKB_BASE}/maxkb/model:/opt/maxkb/model

version: "2.1"
services:
  maxkb:
    container_name: maxkb
    hostname: maxkb
    restart: always
    image: ${MAXKB_IMAGE_REPOSITORY}/maxkb-pro:${MAXKB_VERSION}
    ports:
      - "${MAXKB_PORT}:8080"
    healthcheck:
      test: ["CMD", "curl", "-f", "localhost:8080"]
      interval: 10s
      timeout: 10s
      retries: 120
    volumes:
      - /tmp:/tmp
      - ${MAXKB_BASE}/maxkb/logs:/opt/maxkb/app/data/logs
      - ${MAXKB_BASE}/maxkb/python-packages:/opt/maxkb/app/sandbox/python-packages
      - ${MAXKB_BASE}/maxkb/model:/opt/maxkb/model
    env_file:
      - ${MAXKB_BASE}/maxkb/conf/maxkb.env
    depends_on:
      pgsql:
        condition: service_healthy
    networks:
      - maxkb-network
    entrypoint: ['bash','-c']
    command: ['rm -f /opt/maxkb/app/tmp/*.pid & python /opt/maxkb/app/main.py start']
 
networks:
  maxkb-network:
    driver: bridge
    ipam:
      driver: default

3、启动maxkb服务

## 添加完之后重新启动
cd /opt/maxkb
docker-compose -f docker-compose.yml  -f docker-compose-pgsql.yml  up -d
 
##  检查状态
mkctl status

4、拷贝新下载的向量模型放在model文件下

三、在MaxKB 界面中配置向量模型

1、在系统设置中添加本地向量模型。

模型的位置必须在pytorch_model.bin、tokenizer_config.json、tokenizer.json 等这些文件下。


2、在创建的知识库中使用新的向量模型

3、根据同一段落,测试不同模型的检索情况

原段落内容:

shibing624/text2vec-base-chinese 向量模型效果:

moka-ai/m3e-base 向量模型

再推荐一个我在用的下载方案,个人觉得很简单,是一位大佬推介给我的。
apt install aria2 -y #安装 aria2
wget https://hf-mirror.com/hfd/hfd.sh #下载hfd.sh
chmod a+x hfd.sh #给于运行权限
export HF_ENDPOINT=https://hf-mirror.com #添加镜像站环境变量

./hfd.sh casperhansen/deepseek-r1-distill-llama-70b-awq --tool aria2c -x 10 【 完整的模型名称:casperhansen/deepseek-r1-distill-llama-70b-awq】

引用来源:【总结篇】LLM推理环境安装部署全指南_vllm安装-CSDN博客?

是模型导致的时延降低还是因为修改了配置文件和挂载方式导致的时延降低呢?