MaxKB 使用本地重排模型对知识库进行重排

一、下载重排模型

在对接向量模型之前,先去下载好对应的模型:https://huggingface.co/
(注意:下载模型需要使用魔法,最好使用网络稳定一点的。)

二、上传模型到服务器

下载好模型之后,上传到部署MaxKB的服务器上。

1. 创建 model 文件夹

## 创建 model 文件夹
mkdir /opt/maxkb/model

2. 修改docker-compose.yaml,添加volume挂载点

## 修改docker-compose.yaml,添加volume挂载点
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
      - mk-model-data:/opt/maxkb/model
    env_file:
      - ${MAXKB_BASE}/maxkb/conf/maxkb.env
    depends_on:
      pgsql:
        condition: service_healthy
    networks:
      - maxkb-network
    entrypoint: ["docker-entrypoint.sh"]
    command: "python /opt/maxkb/app/main.py start"
 
networks:
  maxkb-network:
    driver: bridge
    ipam:
      driver: default
 
volumes:
  mk-model-data:
    driver_opts:
      type: none
      device: ${MAXKB_BASE}/maxkb/model
      o: bind

## 添加完之后重新启动
docker-compose -f docker-compose.yml  -f docker-compose-pgsql.yml  up -d
 
##  等一会查看一下状态
docker  ps

3. 检查mode文件夹是否有MaxKB的默认模型

4. 把下载好的重排模型放到model文件夹下

## 创建 reranker 目录
cd /opt/maxkb/model/
mkdir reranker
 
## 把下载的模型放到model当中
mv bge-reranker-v2-m3 /opt/maxkb/model/reranker/
`## 创建 reranker 目录`

注意:后续下载新的模型只需要放到model文件夹下面即可。

三、配置本地向量模型

1. 添加模型

系统管理->模型设置->本地模型→添加模型


1.1. 参数详情:

模型名字: 自定义模型名字(填写自己模型名字就好)

模型类型: 选择“重排模型”

基础模型:此处需要注意,要手动填写对应的模型地址。

/opt/maxkb/model/reranker/bge-reranker-v2-m3

模型目录: 默认跟「基础模型」路径一致

添加好之后如图:

2. 应用编排中加入多路召回节点

进入应用编排页面,点击【添加组件】可以添加多路召回节点。
节点说明:如果用户需要使用重排模型对多个知识库检索的检索结果进行重新排序,则需要在应用的工作流中,在多个知识库检索节点的后面添加多路召回节点,选择多个前置知识库检索节点的检索结果的分段列表(注意,这里选择的是列表,若选择检索结果则会被当成一个字符串进行重新排序)、设置检索参数、选择检索的问题。



多路召回节点输出参数说明:

  • 重排结果列表 {result_list}:数组类型,指根据检索问题、检索参数对重排内容进行重新排序后的分段列表,包含了分段的所有属性;
  • 重排结果 {result}:字符串类型,指根据重排内容、检索问题、检索参数进行重排后满足条件的内容

下载模型,国内也可以去魔搭社区下载。这个不需要t。