MaxKB 如何对接本地向量模型

MaxKB 在V 1.4.0 版本之后已经支持自定义Embedding模型,那么如何对接本地Embedding模型,详细操作步骤如下:

一、下载向量模型

在对接向量模型之前,先去下载好对应的模型: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文件夹下

## 把下载的模型放到model当中

cp -R /opt/models--moka-ai--m3e-large /opt/maxkb/model

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

三、配置本地向量模型

1. 添加模型

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

1.1. 参数详情:

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

模型类型: 选择“向量模型”

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

所填写的地址必须要有,pytorch_model.bin、tokenizer_config.json、tokenizer.json 等这些文件

/opt/maxkb/model/models--moka-ai--m3e-large/snapshots/12900375086c37ba5d83d1e417b21dc7d1d1f388

不同的模型,路径应该有所不同,根据实际情况修改

模型目录: 默认跟“基础模型”路径一致

添加好之后如图:

2. 使用自定义模型

在创建知识库的时候,指定向量模型即可

2 个赞

dockerdesktop如何操作?

我按照咱们的方法添加之后,报


image

这里添加的是m3e-base模型吗?字面意思是序列化时头部信息太大了,添加其他本地模型是否会报这个错误呢?

能否告知下,添加的模型头部信息大小限制,感谢

详细内容查看:MaxKB 如何对接本地向量模型_maxkb 本地模型-CSDN博客

docker-compose.yaml文件一般在哪里,我用docker desktop创建的容器没有找到这个文件。

只有通过离线安装包方式部署会自带docker-compose文件,离线安装 - MaxKB 文档

docker部署如何对接本地向量模型呢

docker命令部署需要在docker命令中使用volume参数添加挂载,但是没那么方便,长期使用的话,还是建议使用离线安装包持久化部署。

服务器装PG貌似有些问题,所以一直在用docker进行测试,麻烦问下如果需要添加挂载和指定日志输出位置,需要使用什么命令

离线安装包里也是docker部署的,但是使用了docker-compose,已经帮你把持久化的配置都弄好了。

可以通过cmd docker run -v指令将本地文件夹挂载到maxkb,具体指令需要自行研究一下

我按照方法执行,报错。


image

“模型目录”写到local_embedding就足够了,不用写到m3e-large。

一样的报错