Xinference 是什么
Xinference 用统一接口托管 LLM、Embedding、Rerank、语音等多类模型,支持本地部署与集群调度,默认服务端口 9997,同时提供 OpenAI 兼容接口与原生 REST 接口。它适合「一个平台挂多种模型」的轻量场景;单机多模型时平台会按显存调度加载与卸载,定位上更偏多模型统一入口,而不是单模型极限吞吐。
基本信息
| 默认端口 | 9997 |
|---|---|
| 模型类型 | LLM、embedding、rerank、语音等多类 |
| 接口 | OpenAI 兼容 /v1 与原生 REST 接口 |
| 安装 | pip install xinference |
| 调度特点 | 按显存情况加载与卸载模型,切换存在冷启动等待 |
典型使用场景
- 一张卡上同时提供对话、向量化与重排能力,省掉自己拼多套服务
- 内网自建多模型服务:把模型统一登记后由平台托管生命周期
- 快速横向对比:同一套接口下换不同模型做效果验证
- 作为 OpenAI 兼容后端接入前端或网关,业务代码不用改
- 教学与演示:用最少的运维投入跑起多种模型类型
启动与调用
启动与调用
pip install xinference
# 启动本地服务(监听地址与端口按需调整)
xinference-local -H 0.0.0.0 -p 9997
# 命令行拉起指定模型
xinference launch --model-name qwen2.5-instruct --model-type LLM --size-in-billions 7
# OpenAI 兼容调用:把 base_url 指向 9997 端口的 /v1 即可
curl http://127.0.0.1:9997/v1/models与其它形态的取舍
| 形态 | 优势 | 代价 |
|---|---|---|
| 多模型统一平台 | 多类型模型统一接口与生命周期管理 | 切换模型有加载等待,吞吐非极限 |
| 单模型高吞吐引擎 | 吞吐与延迟更优,调优手段丰富 | 一个实例只服务一个模型 |
| 仅网关 | 只做路由、鉴权与限流 | 不含模型托管能力 |
模型切换时的加载等待时间较长:网关侧的读超时与客户端的等待预期都要覆盖这段冷启动,或者提前把常用模型预热。
多模型共存会争抢同一份显存:按最大同时驻留量而不是模型总数来规划资源,避免热点切换时反复加载、反复等待。