用途:把 OpenViking(AI 上下文数据库,用向量嵌入做语义搜索)的嵌入模型切换为本地 llama-server 或任意 OpenAI 兼容嵌入端点,并处理向量库索引重建与沙箱内安全重启。
主要能力:检测 ov.conf 中 embedding.dense 当前配置;校验目标端点 /v1/embeddings 可用性并按实际输出自动校正向量维度;备份并修改 ov.conf(provider、model、api_key、api_base、dimension);维度变化时删除 vectordb/context 索引;在沙箱内重启 openviking-server;验证健康状态、PID 变化、集合维度与日志错误,失败时回滚 ov.conf.bak。
使用方式:所有操作经 job-env-manager REST API(http://127.0.0.1:8090),禁止在宿主机直接运行 openviking-server。用法:bash scripts/switch-embedding-model.sh <model_name> <llama_port> <dimension>。需先确认 job-env-manager 运行、OpenViking 环境 state=running、llama-server 带 --embeddings 运行,且宿主机有 curl 与 python3。无需华为云 AK/SK 或 IAM 权限。
限制与注意:维度变化必须删除 vectordb/context,否则启动报 EmbeddingRebuildRequiredError;不要用 stop/start 重启,start.sh 会用 TokenHub 凭据覆盖 ov.conf,应 kill 旧进程后经 exec API 启动;验证失败会回滚。常见模型维度:bge-small-zh-v1.5 512、bge-large-zh-v1.5 1024、bge-small-en-v1.5 384、bge-base-en-v1.5 768、Qwen3-Embedding-0.6B 1024。