Skip to content

AI 助手相关配置

向量库服务

请联系售后人员获取部署脚本

脚本部署

部署包包含 deploy.sh、Compose 文件、发布版本清单和离线资源;配置、模型及数据库数据与部署包分离保存。请勿直接执行 docker compose up,请统一通过 deploy.sh 操作。

部署包可放在任意目录,例如:

text
/opt/vector-server-release/
├── deploy.sh
├── docker-compose.yaml
├── release.env
├── hsenv
└── artifacts/

默认运行数据目录为:

text
/var/lib/vector-server/
├── config/
│   └── .env
└── models/

PostgreSQL 数据保存在 Compose 项目 vector-server 的 Docker volume 中。升级部署包时,请勿删除 /var/lib/vector-server/ 或 PostgreSQL volume。

首次部署

bash
cd /opt/vector-server-release
./deploy.sh -m check
./deploy.sh -m start

启动脚本会检查环境、初始化配置、准备镜像和模型、处理容器名及端口冲突、创建 vectorize 扩展,并输出实际连接信息。

离线部署

离线环境请将镜像和模型放入部署包的 artifacts/ 目录:

text
artifacts/
├── vectorize-pg-<version>.tar
├── vector-serve-<version>.tar
└── models--intfloat--multilingual-e5-base.tar.gz

若 Docker 尚未安装,还需准备 Docker 与 Docker Compose 的离线安装包。执行部署前设置离线模式:

bash
cd /opt/vector-server-release
export OFFLINE_NETWORK=true
./deploy.sh -m check
./deploy.sh -m start

缺少镜像或模型时,脚本会提示所需文件并停止,不会继续启动服务。

配置与端口

固定配置文件位于 /var/lib/vector-server/config/.env。常用配置如下:

bash
COMPOSE_PROJECT_NAME=vector-server
VECTOR_SERVER_DATA_DIR=/var/lib/vector-server
VECTOR_SERVER_CONFIG_DIR=/var/lib/vector-server/config
MODEL_BASE_DIR=/var/lib/vector-server/models

VECTORIZE_PG_EXPOSE_PORT=54321
VECTOR_SERVE_EXPOSE_PORT=3000
VECTORIZE_POSTGRES_DEFAULT_CONTAINER_NAME="vector-server_vectorize-pg"
VECTOR_SERVE_API_DEFAULT_CONTAINER_NAME="vector-server_vector-serve-api"

如需将运行数据保存在独立磁盘,可调整上述三个目录,例如:

bash
VECTOR_SERVER_DATA_DIR=/data/vector-server
VECTOR_SERVER_CONFIG_DIR=/data/vector-server/config
MODEL_BASE_DIR=/data/vector-server/models

生产环境不建议将配置和模型放在部署包目录。startupgrade 会自动检查容器名与端口冲突:发生冲突时会生成可用名称或从 20000-59999 选择空闲端口,并写回固定配置文件。请以启动日志和 .env 中记录的实际端口为准。

升级与迁移

已使用固定数据目录的服务可使用新部署包执行升级:

bash
cd /opt/vector-server-release-new
./deploy.sh -m check
./deploy.sh -m upgrade

升级会保留配置、模型、容器名、端口及 PostgreSQL volume。升级前不要执行 ./deploy.sh -m down,也不要删除运行数据目录或 PostgreSQL volume。

旧版本若将 .env 和模型存放在旧部署目录,首次迁移时可执行:

bash
cd /opt/vector-server-release-new
./deploy.sh -m upgrade --legacy-dir /opt/vectorize-pg

--legacy-dir 仅用于首次迁移,后续升级无需再次指定。

常用命令

bash
# 环境检查
./deploy.sh -m check

# 准备镜像、模型和配置,不启动服务
./deploy.sh -m prepare

# 首次启动或普通启动
./deploy.sh -m start

# 升级已部署服务
./deploy.sh -m upgrade

# 停止或重启服务(保留数据)
./deploy.sh -m stop
./deploy.sh -m restart

# 查看状态或最近 100 行日志
./deploy.sh -m status
./deploy.sh -m logs

# 删除容器和网络,默认保留 named volume
./deploy.sh -m down

k8s部署

部署vector-serve和vector-postgres

shell
kubectl -n [namespace] apply -f vectorize-pg.yaml -f vector-serve.yaml

请注意

部署前请确认当前集群使用的存储系统,根据需要修改部署文件vector-serve中的存储配置。默认longhorn

拷贝模型文件(请联系售后人员获取下载链接)

shell
kubectl -n [namespace] cp models--intfloat--multilingual-e5-base.tar.gz vector-serve-xxxx:/root/.cache/huggingface/hub/
kubectl -n [namespace] exec -t vector-serve-xxxx -- bash -c "cd /root/.cache/huggingface/hub && tar xf models--intfloat--multilingual-e5-base.tar.gz"

更改 hengshi 服务配置(需重启 hengshi 服务)

单机部署
修改/opt/hengshi/conf/hengshi-sense-env.sh 文件
取消VECTOR_DB_URLVECTOR_ENDPOINT 变量的注释

bash
export VECTOR_DB_URL="jdbc:postgresql://<SERVER_IP>:54321/postgres?user=postgres&password=postgres&useUnicode=true&characterEncoding=utf8"
export VECTOR_ENDPOINT="http://<SERVER_IP>:3000/v1/embeddings"

docker部署
进入部署目录 docker-compose-x.x,使用vi/vim 打开.env文件增加以下参数。

bash
# VECTOR_DB
VECTOR_DB_URL=jdbc:postgresql://<SERVER_IP>:54321/postgres?user=postgres&password=postgres&useUnicode=true&characterEncoding=utf8
VECTOR_ENDPOINT=http://<SERVER_IP>:3000/v1/embeddings

k8s部署
编辑hengshi所部署的命名空间下名为"hengshi-sense"的configmap, 增加以下参数。

yaml
VECTOR_DB_URL: "jdbc:postgresql://<SERVER_IP>:54321/postgres?user=postgres&password=postgres&useUnicode=true&characterEncoding=utf8"
VECTOR_ENDPOINT: "http://<SERVER_IP>:3000/v1/embeddings"

注意:

请将<SERVER_IP>替换成部署机器的IP地址,可通过ifconfig 命令查看当前机器的IP地址。

k8s部署可配置为Service的地址,例如vector-serve和vectorize-pg 也可使用NodeIP+NodePort的形式进行配置。

重启操作

单机

bash
# 请注意路径更换成当前部署的hengshi路径,默认为/opt/hengshi
/opt/hengshi/bin/hengshi-sense-bin restart hengshi

docker

bash
# docker部署请执行docker-compose down 再docker-compose up -d 重新应用更改的新配置
cd docker-compose-x.x
docker-compose down
docker-compose up -d

k8s

bash
# 请替换[namespace]为实际部署的命名空间,replicas为实际部署的pod数量,默认1
kubectl -n [namespace] scale deployment hengshi --replicas=0
kubectl -n [namespace] scale deployment hengshi --replicas=1

常见错误

脚本部署启动失败或服务不可用

请先在部署包目录依次执行以下命令:

bash
./deploy.sh -m check
./deploy.sh -m status
./deploy.sh -m logs

确认 Docker、Compose、镜像和模型均已就绪。离线环境请确认 artifacts/ 下的镜像和模型文件完整,并已设置 OFFLINE_NETWORK=true。如服务因端口或容器名冲突而调整过配置,请从 /var/lib/vector-server/config/.env 或启动日志获取实际端口,再更新 Hengshi 的 VECTOR_DB_URLVECTOR_ENDPOINT

query vector db fail

通常此问题是vector-serve与vector-postgres之间无法通信导致, 可以使用以下方法来确认是否正常

  • 通过请求vector-serve接口确认
shell
# 在hengshi所在服务器上执行
# docker/k8s 部署请进入hengshi-sense的容器内执行
curl -X POST http://localhost:3000/v1/embeddings   -H 'Content-Type: application/json'   -d '{"input": [" abc"],"model": "intfloat/multilingual-e5-base"}'

# 正常会返回以下信息;
{"data":[{"embedding":[-0.003002965124323964,0.03069210797548294,-0.002330577466636896,0.03642740473151207,0.019268367439508438,-0.007615369278937578,-0.03148505836725235,-0.012897394597530365,0.04027864709496498,0.039263855665922165,0.0038333579432219267,-0.02870958484709263,0.0900445431470871,-0.005433060694485903,-0.028027791529893875,-0.0381585918366909,0.013700217008590698,-0.03247552365064621,0.05149281769990921,0.006922998931258917,0.07466138899326324,-0.050848592072725296,0.037725191563367844,-0.025164397433400154,0.03877019137144089,-0.024159127846360207,0.023425891995429993,0.0228315070271492,-0.054315488785505295,0.05397752672433853,0.03425733000040054,-0.05478481948375702,0.03427012637257576"index":0}],"model":"intfloat/multilingual-e5-base"}
  • 通过vector的查询sql确认
shell
# docker部署 进入vector-postgres容器
docker ps | grep "postgres-vectorize"
docker exec -it <container_id> bash

# 执行psql命令进入sql控制台
psql (16.3 (Debian 16.3-1.pgdg120+1))
Type "help" for help.

postgres=# select vectorize.transform_embeddings(input => 'abc', model_name => 'intfloat/multilingual-e5-base')::TEXT;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 {-0.003002965124323964,0.03069210797548294,-0.002330577466636896,0.03642740473151207,0.01926836743950844,-0.007615369278937578,-0.03148505836725235,-0.012897394597530363,0.04027864709496498,0.039263855665922165,0.0038333579432219263,-0.02870958484709263,0.0900445431470871,-0.005433060694485903,-0.028027791529893875,-0.0381585918366909,0.013700217008590698,-0.03247552365064621,0.05149281769990921,0.006922998931258917,0.07466138899326324,-0.050848592072725296,0.03772519156336784,-0.02516439743340015,0.03877019137144089,-0.024159127846360207,0.023425891995429993,0.0228315070271492,-0.054315488785505295,0.05397752672433853,0.03425733000040054,-0.05478481948375702,0.03427012637257576,0.018632836639881138,0.04853101447224617,0.00798027589917183,-0.00742304464802146,-0.03389187157154083,0.
shell
# k8s部署 进入vector-postgres容器
kubectl -n [namespace] exec -it vectorize-pg-xxxx -- bash

# 执行psql命令进入sql控制台
psql (16.3 (Debian 16.3-1.pgdg120+1))
Type "help" for help.

postgres=# select vectorize.transform_embeddings(input => 'abc', model_name => 'intfloat/multilingual-e5-base')::TEXT;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 {-0.003002965124323964,0.03069210797548294,-0.002330577466636896,0.03642740473151207,0.01926836743950844,-0.007615369278937578,-0.03148505836725235,-0.012897394597530363,0.04027864709496498,0.039263855665922165,0.0038333579432219263,-0.02870958484709263,0.0900445431470871,-0.005433060694485903,-0.028027791529893875,-0.0381585918366909,0.013700217008590698,-0.03247552365064621,0.05149281769990921,0.006922998931258917,0.07466138899326324,-0.050848592072725296,0.03772519156336784,-0.02516439743340015,0.03877019137144089,-0.024159127846360207,0.023425891995429993,0.0228315070271492,-0.054315488785505295,0.05397752672433853,0.03425733000040054,-0.05478481948375702,0.03427012637257576,0.018632836639881138,0.04853101447224617,0.00798027589917183,-0.00742304464802146,-0.03389187157154083,0.

衡石分析平台使用手册