Xinference Huggingface常用命令

指定Xinference下载模型的路径

1. 通过环境变量全局设置

  • 修改默认存储路径 在启动Xinference服务前,通过设置环境变量 XINFERENCE_HOME 指定模型和数据的存储目录。例如:

    javascript 复制代码
    Bash
    export XINFERENCE_HOME=/your/custom/path
    xinference-local --host 0.0.0.0 --port 9997

    这样所有模型和缓存文件都会保存在 /your/custom/path 目录下

  • 指定模型下载来源 若需从魔搭社区(ModelScope)下载模型,可额外设置:

    ini 复制代码
    Bash
    export XINFERENCE_MODEL_SRC=modelscope

    这会将默认的HuggingFace源替换为ModelScope

2. 在代码中指定模型路径

  • 使用ModelScope下载时自定义路径 若通过代码下载模型,可以在 snapshot_download 函数中直接设置 cache_dir 参数:

    ini 复制代码
    Python
    from modelscope import snapshot_download
    model_dir = snapshot_download('Jerry0/text2vec-base-chinese', cache_dir='/your/custom/path')

    此方法适用于需要临时调整单个模型的存储位置

  • 注册自定义模型时指定路径 自定义模型需在 model.json 配置文件中明确 model_uri 字段为模型的绝对路径:

    json 复制代码
    Json
    {
      "model_uri": "/home/your_model_path",
      ...
    }

    注册后,Xinference会直接从此路径加载模型

3. 通过软链接调整路径

  • 创建软链接覆盖默认缓存目录 如果已手动下载模型文件,可以通过软链接将自定义路径映射到Xinference的默认缓存路径:

    bash 复制代码
    Bash
    ln -s /your/custom/model/path ~/.xinference/cache/model-name-format

    例如,将已下载的ChatGLM3模型链接到默认缓存目录:

    javascript 复制代码
    Bash
    ln -s ~/Downloads/chatglm3-6b ~/.xinference/cache/chatglm3-pytorch-6b

    此方法适用于希望复用现有模型文件的情况

4. 通过启动参数临时指定

  • 启动服务时指定路径 直接在启动命令中结合环境变量设置:

    lua 复制代码
    Bash
    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 或自定义路径中)。

相关推荐
折哥的程序人生 · 物流技术专研19 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
程序员二叉19 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
weixin_523185321 天前
Java面试高频题:Integer缓存机制与 equals、== 区别
java·缓存·面试
胡志辉1 天前
深入浅出理解浏览器事件循环:从一道输出题讲到 Chrome 源码
前端·javascript·面试
嵌入式ZYXC1 天前
第8篇:《面试题:模拟地和数字地为什么要分开?怎么接?》
stm32·单片机·嵌入式硬件·面试·职场和发展
plainGeekDev1 天前
算法刷题笔记:一维DP没那么难,状态想清楚就赢了一半
java·算法·面试
Sam_Deep_Thinking1 天前
java中的class到底是个什么东西?
java·开发语言·面试
mqiqe1 天前
面试题-MyBatis 面试篇
java·面试·mybatis
古希腊掌管代码的神THU1 天前
【清华代码熊】Agent Harness 工程实践之(1): Context管理
人工智能·深度学习·自然语言处理·面试
mqiqe1 天前
面试题-Zookeeper 面试篇
分布式·zookeeper·面试