
Xinference 内置图像模型 GLM-Image 使用指南基于 stable_diffusion 家族的文生图与图生图【免费下载链接】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/inferenceGLM-Image 是 Xinference 内置的builtin图像生成模型隶属 stable_diffusion 模型家族提供 text2image文生图与 image2image图生图两种能力。本文以官方内置模型文档为主体结合仓库中的模型规格定义model_spec.json与 diffusers / SGLang 图像引擎实现说明如何通过一条命令完成模型加载并深入解析其引擎选择、模型源、默认推理参数、能力边界与缓存管理机制。模型基本信息依据 glm-image.rst 及 model_spec.json第 2119-2163 行中的内置规格定义GLM-Image 的核心元信息如下配置项值Model NameGLM-ImageModel Familystable_diffusionAbilitiestext2image、image2imageAvailable ControlNetNoneModel IDHugging Facezai-org/GLM-ImageModel IDModelScopeZhipuAI/GLM-Image默认torch_dtypebfloat16默认num_inference_steps50默认guidance_scale1.5官方对该模型的定位描述为GLM-Image is a hybrid autoregressive and diffusion image generation model with strong text rendering and knowledge-intensive generation capabilities.GLM-Image 是一个混合自回归与扩散架构的图像生成模型具备较强的文本渲染与知识密集型生成能力。该描述直接来源于仓库中的内置规格定义 model_spec.json可作为选型参考。启动模型根据内置模型文档只需执行以下命令即可启动 GLM-Imagexinference launch --model-name GLM-Image --model-type image该命令会触发如下流程匹配内置规格Xinference 依据--model-name GLM-Image --model-type image在内置模型规格builtin model spec中匹配到 model_family 为stable_diffusion、能力为 text2image / image2image 的模型定义解析模型源按 model_spec.json 中的model_src优先从 Hugging Face 拉取zai-org/GLM-Imagemain分支也可从 ModelScope 拉取ZhipuAI/GLM-Imagemaster分支两种源对应同一模型权重按需创建虚拟环境规格中的virtualenv.packages为模型声明了运行时依赖首次加载时会依据所选引擎自动解析并安装初始化推理引擎并返回模型 UID可通过返回的 UID 调用/v1/images/generations文生图与图生图相关 RESTful 接口。如果需要以自定义名称注册可追加--model-uid参数若已安装过依赖或希望使用自定义权重目录也可以通过--model-path指定本地路径加载。引擎与能力边界双引擎支持diffusers 与 SGLang从 model_spec.json 可以看到GLM-Image 的虚拟环境依赖按引擎条件声明#engine# diffusers与#engine# SGLang说明该模型同时支持两种推理引擎diffusers 引擎完整实现 text2image 与 image2image 能力依赖包含diffusers0.38.0、transformers5.0.0、accelerate1.0.0、huggingface-hub1.23.0,2.0、tokenizers0.22.2、importlib-metadata以及系统级的 torch、torchvision、numpy 等SGLang 引擎依赖sglang[diffusion]并限定numpy2.3、pandas3。SGLang 引擎的能力收敛在 sglang/core.py 中SGLang 图像引擎明确声明了其兼容矩阵SGLANG_SUPPORTED_IMAGE_MODELS包含 GLM-Image同时强调Abilities this engine actually implements; the builtin specs of the models above also advertise image2image/inpainting, which only the diffusers engine provides ——SGLANG_SUPPORTED_ABILITIES (text2image,)这意味着虽然内置规格广告了 image2image 能力但若选择 SGLang 引擎实际可用的能力只有 text2image。加载时引擎会通过复制并裁剪model_ability的方式仅向描述文件暴露其真实支持的端点见 sglang/core.py避免暴露会调用失败的接口。其他限制从 sglang/core.py 的初始化校验可以推断出以下限制SGLang 引擎不支持 GGUF 量化gguf_model_path会直接抛错提示改用 diffusers 引擎SGLang 引擎不支持 Lightning LoRA 加速与 LoRA 加载SGLang 引擎不支持 ControlNet。而 diffusers 引擎是功能最完整的路径text2image、image2image 均可使用。由于内置规格中 GLM-Image 的 Available ControlNet 为 None控制网络参数对该模型同样不适用。默认推理参数与采样配置内置规格中为 GLM-Image 声明的默认生成配置default_generate_config为参数默认值作用num_inference_steps50扩散采样步数步数越高通常图像细节越精细但推理耗时随之增加guidance_scale1.5文本条件引导强度classifier-free guidance 系数该值相对较低说明模型本身的文本跟随能力较强torch_dtypebfloat16加载权重时的数据类型兼顾显存占用与精度在 stable_diffusion/core.py 中可以看到 diffusers 引擎对推理参数的实际处理逻辑引擎会读取num_inference_steps并将其透传给底层 pipeline 的num_timesteps见 core.py即 Xinference 侧的步数设置会直接映射为扩散过程的时间步数量引擎会针对具体模型处理guidance_scale的兼容性例如部分 img2img pipeline 不接受guidance_scaleNone见 core.py并对negative_prompt、num_inference_steps等参数做清洗与兜底见 core.py 与 core.py。因此实际调用时可以通过 REST API 或 Python Client 传入num_inference_steps、guidance_scale、negative_prompt、size、seed等参数覆盖默认值以获得不同的生成效果。模型下载与缓存管理GLM-Image 的权重下载与缓存遵循 Xinference 统一的模型缓存机制模型目录按XINFERENCE_CACHE_DIR下的v2/glm-image组织从 ModelScope 拉取时快照存放于MODELSCOPE_CACHE/models/ZhipuAI--GLM-Image/snapshots/master镜像目录名使用--连接组织与模型名权重文件为transformer/model.safetensors缓存清理逻辑由 worker 的 cache tracker 负责在 test_worker.py 中测试test_remove_model_cache_prunes_empty_modelscope_directories验证了删除模型缓存后会同步清理空的 ModelScope 快照目录ZhipuAI--GLM-Image/snapshots/master且不会误删同目录下的其他模型如ZhipuAI--Another-Model。这说明卸载/清理 GLM-Image 缓存时Xinference 会做目录级的安全回收。常见操作方式1. 命令行启动# 使用默认引擎diffusers启动能力完整 xinference launch --model-name GLM-Image --model-type image # 指定模型 UID便于后续 API 调用 xinference launch --model-name GLM-Image --model-type image --model-uid glm-image-1 # 指定使用 SGLang 引擎注意此时仅支持 text2image xinference launch --model-name GLM-Image --model-type image --engine SGLang2. 查看模型状态xinference list # 查看已加载模型及其 UID、引擎、地址3. RESTful API 调用文生图启动后可通过 OpenAI 兼容的图像生成端点发起请求curl -X POST http://xinference-address:port/v1/images/generations \ -H Content-Type: application/json \ -d { model: glm-image-1, prompt: a Chinese-style ink painting of a mountain waterfall, num_inference_steps: 50, guidance_scale: 1.5 }4. Python Client 调用from xinference.client import Client client Client(http://xinference-address:port) model client.get_model(glm-image-1) # 文生图 result model.text_to_image( a cute cat sitting on a desk, studio lighting, num_inference_steps50, guidance_scale1.5, ) # result.images[0] 即为生成的 PIL Image总结GLM-Image 是 Xinference 内置图像模型中基于 stable_diffusion 家族的代表性成员一条xinference launch命令即可完成从权重拉取、依赖解析到引擎初始化的全流程。使用时需要特别注意两点一是它同时支持 diffusers 与 SGLang 两种引擎其中 diffusers 引擎能力最完整text2image image2imageSGLang 引擎仅提供 text2image二是其默认采用 50 步采样、1.5 引导系数与 bfloat16 精度适合对文本渲染与知识密集场景有要求的图像生成任务。【免费下载链接】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),仅供参考