指定Xinference下载模型的路径
1. 通过环境变量全局设置
-
修改默认存储路径 在启动Xinference服务前,通过设置环境变量
XINFERENCE_HOME
指定模型和数据的存储目录。例如:javascriptBash export XINFERENCE_HOME=/your/custom/path xinference-local --host 0.0.0.0 --port 9997
这样所有模型和缓存文件都会保存在
/your/custom/path
目录下 -
指定模型下载来源 若需从魔搭社区(ModelScope)下载模型,可额外设置:
iniBash export XINFERENCE_MODEL_SRC=modelscope
这会将默认的HuggingFace源替换为ModelScope
2. 在代码中指定模型路径
-
使用ModelScope下载时自定义路径 若通过代码下载模型,可以在
snapshot_download
函数中直接设置cache_dir
参数:iniPython from modelscope import snapshot_download model_dir = snapshot_download('Jerry0/text2vec-base-chinese', cache_dir='/your/custom/path')
此方法适用于需要临时调整单个模型的存储位置
-
注册自定义模型时指定路径 自定义模型需在
model.json
配置文件中明确model_uri
字段为模型的绝对路径:jsonJson { "model_uri": "/home/your_model_path", ... }
注册后,Xinference会直接从此路径加载模型
3. 通过软链接调整路径
-
创建软链接覆盖默认缓存目录 如果已手动下载模型文件,可以通过软链接将自定义路径映射到Xinference的默认缓存路径:
bashBash ln -s /your/custom/model/path ~/.xinference/cache/model-name-format
例如,将已下载的ChatGLM3模型链接到默认缓存目录:
javascriptBash ln -s ~/Downloads/chatglm3-6b ~/.xinference/cache/chatglm3-pytorch-6b
此方法适用于希望复用现有模型文件的情况
4. 通过启动参数临时指定
-
启动服务时指定路径 直接在启动命令中结合环境变量设置:
luaBash XINFERENCE_HOME=/your/custom/path xinference-local --host 0.0.0.0 --port 9997
这种方式无需永久修改环境变量,适合临时调整
注意事项
-
路径权限:确保自定义路径有读写权限。
-
软链接校验 :Xinference会检查
~/.xinference/cache
目录下的__valid_download
文件,若通过软链接添加模型,需手动复制该文件或确保其存在 -
模型格式 :路径中的模型目录需符合Xinference的命名规则(如
model-name-format
),否则可能无法识别
以上方法可根据实际需求灵活选择。如果需要进一步调试,可参考Xinference的日志文件(默认在 ~/.xinference/logs
或自定义路径中)。