
Xinference 内置模型实战Yi-chat 系列 LLM 的模型规格、引擎适配与 launch 启动指南【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference导读本文基于 Xinference 仓库内置模型文档 doc/source/models/builtin/llm/yi-chat.rst系统梳理 01.AI 开发的 Yi 系列对话大模型Yi-chat在 Xinference 中的四种内置模型规格Model Spec、支持的推理引擎与量化选项并结合仓库源码与 CLI 实现给出可直接复制的xinference launch启动命令、核心参数语义及底层匹配机制。读完本文你将掌握如何在本地或集群中按需启动 6B/34B 的 Yi-chat 模型并理解 Xinference 如何根据你传入的 format、size、quantization 三元组自动解析出正确的 Hugging Face / ModelScope 模型标识。一、Yi-chat 模型概况Yi 系列模型是由 01.AI 团队从零开始训练的大型语言模型LLMYi-chat 是其针对对话场景微调后的版本。在 Xinference 的内置模型清单中Yi-chat 的核心元数据定义如下Context Length上下文长度4096Model Name模型名Yi-chatLanguages支持语言en英语、zh中文Abilities能力chat对话DescriptionThe Yi series models are large language models trained from scratch by developers at 01.AI.以上信息同时记录在模型注册表 xinference/model/llm/llm_family.json 中文档与源码保持一致{ version: 2, context_length: 4096, model_name: Yi-chat, model_lang: [en, zh], model_ability: [chat], model_description: The Yi series models are large language models trained from scratch by developers at 01.AI. }与大多数纯英文模型不同Yi-chat 同时覆盖中英双语适合需要中文对话能力的业务场景。模型架构为LlamaForCausalLMmodel_type为llama这意味着它在 Transformer 解码器结构上与 LLaMA 系列同源Xinference 的 transformers、vLLM、SGLang 等引擎均可直接承载。二、四种内置 Model Spec 详解Xinference 为 Yi-chat 内置了 4 种模型规格Model Spec覆盖不同参数量、模型格式与量化方案的组合。启动前需要根据硬件条件显存/内存选择匹配的规格。下表汇总了全部规格Spec模型格式参数量Billion量化方案支持的引擎模型 IDHugging FaceSpec 1gptq348bitsvLLM、Transformers、SGLang01-ai/Yi-34B-Chat-{quantization}Spec 2pytorch6nonevLLM、Transformers、SGLang01-ai/Yi-6B-ChatSpec 3pytorch34nonevLLM、Transformers、SGLang01-ai/Yi-34B-ChatSpec 4ggufv234Q2_K、Q3_K_L、Q3_K_M、Q3_K_S、Q4_0、Q4_K_M、Q4_K_S、Q5_0、Q5_K_M、Q5_K_S、Q6_K、Q8_0vLLM、llama.cppTheBloke/Yi-34B-Chat-GGUF下面逐个展开每一条 Spec 的启动方式。2.1 Spec 1gptq 格式 · 34B · 8bits 量化Model FormatgptqModel Size34 BillionQuantizations8bitsEnginesvLLM、Transformers、SGLangModel ID01-ai/Yi-34B-Chat-{quantization}该规格在 Hugging Face 与 ModelScope 渠道均有提供。执行以下命令启动将${quantization}替换为上方列出的量化方法即8bitsxinference launch --model-engine ${engine} --model-name Yi-chat --size-in-billions 34 --model-format gptq --quantization ${quantization}实际启动时${engine}取vllm、transformers或sglang之一${quantization}填8bits例如xinference launch --model-engine vllm --model-name Yi-chat --size-in-billions 34 --model-format gptq --quantization 8bits2.2 Spec 2pytorch 格式 · 6B · 无量化Model FormatpytorchModel Size6 BillionQuantizationsnoneEnginesvLLM、Transformers、SGLangModel ID01-ai/Yi-6B-Chat6B 规模在普通单卡消费级 GPU 或入门级专业卡上即可运行是低资源环境下体验 Yi-chat 的推荐入口。启动命令如下xinference launch --model-engine ${engine} --model-name Yi-chat --size-in-billions 6 --model-format pytorch --quantization ${quantization}pytorch 格式没有量化选项${quantization}固定为none例如xinference launch --model-engine transformers --model-name Yi-chat --size-in-billions 6 --model-format pytorch --quantization none2.3 Spec 3pytorch 格式 · 34B · 无量化Model FormatpytorchModel Size34 BillionQuantizationsnoneEnginesvLLM、Transformers、SGLangModel ID01-ai/Yi-34B-Chat全精度 34B 需要较大的显存多卡或大显存实例适合追求最高精度的场景。启动命令xinference launch --model-engine ${engine} --model-name Yi-chat --size-in-billions 34 --model-format pytorch --quantization ${quantization}其中${quantization}填none例如xinference launch --model-engine sglang --model-name Yi-chat --size-in-billions 34 --model-format pytorch --quantization none2.4 Spec 4ggufv2 格式 · 34B · 12 档 GGUF 量化Model Formatggufv2Model Size34 BillionQuantizationsQ2_K、Q3_K_L、Q3_K_M、Q3_K_S、Q4_0、Q4_K_M、Q4_K_S、Q5_0、Q5_K_M、Q5_K_S、Q6_K、Q8_0EnginesvLLM、llama.cppModel IDTheBloke/Yi-34B-Chat-GGUFGGUF 是唯一覆盖 vLLM 与 llama.cpp 双引擎的格式提供从 Q2_K体积最小、质量最低到 Q8_0体积最大、质量最接近全精度共 12 档量化是 CPU 推理或低显存 GPU 推理的首选。启动命令xinference launch --model-engine ${engine} --model-name Yi-chat --size-in-billions 34 --model-format ggufv2 --quantization ${quantization}例如使用 llama.cpp 引擎 Q4_K_M 量化体积/质量均衡的经典选择xinference launch --model-engine llama.cpp --model-name Yi-chat --size-in-billions 34 --model-format ggufv2 --quantization Q4_K_M注意ggufv2 规格没有 ModelScope 渠道模型仅来自 Hugging Face 的TheBloke/Yi-34B-Chat-GGUF仓库。三、launch 命令参数深度解析上面的每条启动命令都基于 Xinference CLI 的launch子命令其定义位于 xinference/deploy/cmdline.py。核心参数语义如下参数短选项必填说明--model-name-n是要启动的模型名此处固定为Yi-chat--model-type-t否模型类型默认LLM--model-engine-en否指定推理引擎如vllm、transformers、sglang、llama.cpp--model-uid-u否指定模型 UID用于后续 API 调用定位默认自动生成--size-in-billions-s否参数量Billion如6、34--model-format-f否模型格式如pytorch、gptq、ggufv2--quantization-q否量化设置如none、8bits、Q4_K_M--replica-r否模型副本数默认1--n-worker—否使用的 worker 数量默认1--n-gpu—否使用的 GPU 数量默认auton_worker 1时表示每个 worker 的 GPU 数--endpoint-e否Xinference 服务端点本地模式可省略--lora-modules-lm否LoRA 模块配置格式namepath可多次指定几个实用要点--model-uid的重要性启动后Xinference 会通过 OpenAI 兼容的 REST API 暴露模型调用时以 UID 定位具体模型。不指定时系统自动生成指定自定义 UID 便于多模型管理与后续对接可参考 doc/source/user_guide/client_api.rst。--replica与--n-gpu34B 全精度模型显存需求高可结合多 worker、多 GPU 参数横向扩展GGUF 量化档位越低越适合单卡或纯 CPU 场景。LoRA 扩展若需要基于 Yi-chat 加载 LoRA 适配器可叠加--lora-modules namepath参数定义同样在 cmdline.py 中。四、引擎选择与虚拟环境依赖Yi-chat 四种规格合计覆盖 vLLM、Transformers、SGLang、llama.cpp 四个引擎。不同引擎适合不同诉求Transformers兼容性最好启动门槛最低适合验证与调试vLLM吞吐高、支持 PagedAttention 等优化适合生产级在线服务SGLang面向高效推理的结构化生成引擎与 vLLM 定位相近llama.cpp仅搭配 ggufv2 格式可在 CPU 或低显存设备上运行量化模型。从源码看引擎选择与依赖隔离是强关联的。Yi-chat 在 llm_family.json 中的virtualenv字段声明了按引擎分派的依赖包virtualenv: { packages: [ #transformers_dependencies# ; #engine# \Transformers\, #llama_cpp_dependencies# ; #engine# \llama.cpp\, #vllm_dependencies# ; #engine# \vllm\, #system_numpy# ; #engine# \vllm\ ] }即选择 Transformers 引擎时安装 transformers 依赖组选择 llama.cpp 时安装 llama_cpp 依赖组选择 vllm 时安装 vllm 依赖组并额外保证系统级 numpy。Xinference 的虚拟环境管理器xinference/core/virtual_env_manager.py会依据这些声明自动创建/复用隔离环境避免多个引擎的依赖互相冲突。五、参数匹配与模型 ID 解析源码级原理启动 Yi-chat 时--model-name、--size-in-billions、--model-format、--quantization四个参数共同决定最终加载哪个模型文件。其匹配逻辑集中在 xinference/model/llm/llm_family.py 的get_llm_family函数中核心规则如下格式与规模过滤逐条遍历model_specs要求model_format与model_size_in_billions完全匹配规模比较经match_model_size归一化处理支持34、34.0等写法见 llm_family.py。量化大小写不敏感匹配_match_quantization通过q.lower() ! quant.lower()比较量化名因此q4_k_m与Q4_K_M等价llm_family.py。模型 ID 占位符填充对于01-ai/Yi-34B-Chat-{quantization}这类含{}占位符的模型 ID_apply_format_to_model_id会用实际量化值格式化得到如01-ai/Yi-34B-Chat-8bits的最终 IDllm_family.py。未指定量化时的默认行为若用户省略--quantizationpytorch 格式默认取none其他格式取该 spec 声明的首个量化llm_family.py。下载渠道优先级默认按download_from_modelscope()/download_from_openmind_hub()/download_from_csghub()的检测结果优先使用对应渠道否则回退 Hugging Face用户也可显式传入download_hubllm_family.py。如果某个参数组合与 Yi-chat 的全部 spec 都不匹配Xinference 会抛出类似 Model Yi-chat cannot be run on engine ..., with format ..., size ... and quantization ... 的错误见 llm_family.py 的校验逻辑提示用户检查三元组组合。六、对话模板与停止令牌开箱即用的细节Yi-chat 无需手工配置提示词模板。内置的chat_template与stop定义在 llm_family.jsonchat_template: {% if not add_generation_prompt is defined %}{% set add_generation_prompt false %}{% endif %}{% for message in messages %}{{|im_start| message[role] \n message[content] |im_end| \n}}{% endfor %}{% if add_generation_prompt %}{{ |im_start|assistant\n }}{% endif %}, stop_token_ids: [2, 6, 7, 8], stop: [|endoftext|, |im_start|, |im_end|, |im_sep|]ChatML 风格模板Yi-chat 使用|im_start|/|im_end|包裹角色与内容的消息格式Xinference 在内部将 OpenAI 风格的 messages 列表渲染为该模板停止令牌内置stop列表覆盖了对话结束标记|endoftext|、|im_end|与消息边界标记|im_start|、|im_sep|可确保生成在合适的边界处截断避免输出多余内容。这意味着通过 Xinference 启动 Yi-chat 后客户端只需按标准 chat 接口传 messages 即可获得符合原版格式的回复。七、启动后的下一步模型启动成功后本地默认 endpoint 为http://localhost:9997Xinference 会为模型分配 UID你可通过REST API使用 OpenAI 兼容的/v1/chat/completions接口路径与用法见 xinference/api/routers/llm.py 与 doc/source/user_guide/client_api.rst以modeluid发起对话请求CLI使用xinference list查看已启动模型及其状态Web UI在浏览器打开 Xinference 管理界面在运行模型列表中直接与 Yi-chat 对话。若需查询某个模型规格可用性xinference list系列命令cmdline.py支持传入--model-format、--quantization等参数进行组合过滤。八、小结与参考资料Yi-chat 是 Xinference 内置模型中典型的双语对话 LLM四种 Model Spec 覆盖 6B 到 34B、pytorch/gptq/ggufv2 三种格式、最多 12 档量化配合 vLLM / Transformers / SGLang / llama.cpp 四种引擎可灵活适配从 CPU 笔记本到多卡 GPU 集群的各类部署环境。启动命令以--model-name Yi-chat为核心辅以--size-in-billions、--model-format、--quantization三元组精确定位模型文件这一模式同样适用于仓库内置的其他模型。感兴趣的读者可继续深入以下仓库文件模型文档doc/source/models/builtin/llm/yi-chat.rst模型注册表xinference/model/llm/llm_family.json参数匹配逻辑xinference/model/llm/llm_family.pyCLI 启动命令xinference/deploy/cmdline.py内置模型总览doc/source/models/builtin/llm/index.rst模型启动指南doc/source/user_guide/launch.rst【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考