Xinference 发布了接入新推理引擎并加强服务器安全的 4.1.0。提供模型服务的开发者可通过同一套统一 API 选择更多引擎,服务器运维人员则可应用安全补丁,防范管理员账户被抢先注册和内部信息泄露等问题。

1. 在同一服务接口接入新推理引擎

TensorRT-LLM 已成为 Xinference 的推理后端,即负责执行模型推理的组件。它通过现有统一 API 处理受支持模型的聊天、生成和流式输出,即边生成边传送结果,因此开发者可保留服务接入方式,同时选择执行引擎。

兼容模型还可在不同推理引擎之间移交任务。发布说明将同时使用英伟达 GPU 和苹果芯片的部署也列为这一功能的应用示例。

Xavier 提供的公共输入部分中间计算结果共享功能也扩展到了 TRT-LLM。

新引擎可将预先处理输入的阶段与逐步生成回答的阶段分开执行。这项功能可采用默认方式或 Xavier 方式。

用于存储共享计算结果的位置也有所增加。使用可选的 LMCache 存储后端,可将缓存放在内存或磁盘上。新引擎同样支持这种存储方式。

2. 完成进行中的请求后替换进程

在线升级功能可更新受支持的模型引擎,并替换服务器的工作、API 和管理进程。进行中的请求和流会在旧服务进程退出前完成,用户可在网页界面控制单机和分布式部署的升级。

这项功能面向 POSIX 环境,目前仍处于实验阶段。

各推理引擎的上下文长度设置也得到统一,该设置决定模型一次可参考的输入范围。用户可通过网页界面的滑块调整上限,并依据实际生效的模型配置进行校验。

此外,还新增了估算在多种推理引擎上启动模型所需内存的功能。

3. 加强模型加载与管理员创建的信任边界

本版本是针对四项已公开安全公告的首个补丁版本。项目建议受影响版本的用户更新至 4.1.0 或更高版本。

针对严重程度被评为致命的 CosyVoice 模型加载问题,本次修复要求运维人员明确授予信任。它阻止了未经批准将自定义来源或显式本地路径传递给加载器的途径,加载器是负责读取模型文件的组件。

创建首个管理员时需要运维人员配置的令牌。这是为了防止未经认证的调用者抢先接管尚未初始化的服务器,该漏洞影响 3.0.0 及以上、4.1.0 以下版本。

Cairn Security 的 Paul White 报告了这一问题,并验证了 API 层面的修复。

自动模型注册被限制为仅从获准路径读取配置文件。额外的模型启动器则要求运维人员配置允许列表,以应对已报告的部分配置泄露、文件系统探查(查找系统内文件和路径)及任意模块导入(加载未指定代码)问题。

聊天错误响应会隐藏内部诊断信息,包括工作进程(执行任务的独立进程)的地址和进程标识符。

此次还改进了共享存储中 API 密钥的验证方式,会将其与当前状态进行比对。

4. 信任授权和允许列表由运维人员配置

新实例使用 API 服务器启动日志中显示的配置令牌创建首个管理员。自定义 CosyVoice 来源需要在工作进程侧配置信任,而且来源本身也必须可信。

额外的模型注册路径和启动器(指定模型运行方式的工具)分别需要配置允许列表,即仅放行获准对象的列表。以下代码块汇总了发布说明中出现的相关环境变量写法。

XINFERENCE_TRUST_REMOTE_CODE=1
XINFERENCE_MODEL_REGISTER_ROOTS
XINFERENCE_FLEXIBLE_LAUNCHERS
XOSCAR_AUTH_KEY

负责进程间通信的 Xoscar,其认证功能由运维人员选择启用。使用时,需要为参与通信的各个进程设置相同的非空认证密钥。

其收益在于扩大了引擎和缓存存储位置的选择范围,并能在更新时完成原有请求。与此同时,运维人员需要在安全配置中亲自管理首个管理员的创建令牌、可信来源以及获准的路径和启动器。

5. 减少工具调用流的重复检查

工具调用流式处理不再在每次收到新片段时重新扫描字符串。这项改进面向 DeepSeek、GLM-5 等多个模型系列的工具调用流。

据公司公布的数据,32KB 工具调用的处理时间从 12.5 秒降至 11 毫秒。这一数据反映的是减少工具调用流重复检查所带来的结果,展示了本次发布改进的具体处理路径。

Xinference 4.1.0 在保持服务接入方式不变的同时,着重扩大推理引擎选择,并将服务器的敏感操作置于运维人员的明确控制之下。