ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Xinference Models Hub:一站式模型浏览、注册、审核与自动 PR 更新实战指南

Xinference Models Hub:一站式模型浏览、注册、审核与自动 PR 更新实战指南 Xinference Models Hub一站式模型浏览、注册、审核与自动 PR 更新实战指南【免费下载链接】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/inferenceXinference Models Hub 是 Xinferencev1.13.0 起引入统一的模型管理与协作平台将模型 JSON 的维护方式从手动提交 PR升级为平台集中编辑 系统自动生成 PR覆盖模型浏览、注册、审核、更新与协作维护全流程。本文面向普通用户与模型维护者两类角色完整讲解公开模型浏览、模型注册、README 编辑、GitHub Token 配置、审核工作流以及模型更新按钮背后的底层实现链路前端 → REST API → Supervisor → Worker → 在线模型列表服务帮助读者掌握从消费模型到维护模型、再到实时同步最新模型清单的完整技能。Models Hub 是什么统一模型管理与协作平台Xinference Models Hub 是 Xinference 面向模型管理、协作与交付的统一平台提供从模型浏览、注册、审核、更新到协作维护的端到端支持同时服务两类人群普通用户Regular Users无模型注册或维护权限通过平台浏览、发现并消费模型模型维护者Model Maintainers具备模型注册或维护权限负责模型的提交、更新与审核。为什么需要 Models Hub手动 PR 时代的痛点在 Models Hub 引入之前Xinference 的模型 JSON 文件完全依赖开源仓库xorbitsai/inference通过 PR 手动提交与修改由此带来三个突出问题版本不受控不同维护者的手动编辑缺乏统一规范与版本约束容易产生不一致迭代周期长每次模型更新都要走一遍人工 PR 流程从提交到合入耗时漫长交付与发布强绑定模型更新跟随产品发布节奏用户无法在新模型可用时第一时间获取。集中式在线管理机制引入 Models Hub 后核心变化在于所有模型信息必须在平台内编辑包括元数据metadata、参数parameters与 README基于模型维护者的修改系统自动生成并提交 PR到 xorbitsai/inference 仓库整个流程标准化、自动化、可追溯彻底消除手动编辑带来的不一致。与此同时普通用户可随时通过 模型更新Model Update 功能获取最新模型列表显著提升模型交付效率与使用体验。普通用户指南浏览公开模型普通注册用户无模型注册与维护权限无需登录即可浏览公开模型项目说明访问入口导航栏 → “Models”功能查看所有公开可用的模型模型详情默认展示 “README” 页签包含模型描述、使用指南与重要注意事项注意部分高级或企业级模型仅对授权用户可见普通用户浏览不到这些受控模型。模型维护者指南注册、维护与审核模型维护者拥有模型注册或维护权限的用户在普通用户能力之外还拥有以下高级功能全部需要登录后使用。用户中心入口右上角头像 → “用户中心”账户管理更新个人资料、邮箱等信息Token 管理配置个人 GitHub Token用于模型提交或更新注意如果未配置 GitHub Token系统在生成 PR 时将使用默认 Token。模型注册入口登录后 → 右上角头像 → “模型注册”提交步骤填写模型基本信息名称、引擎、格式等编辑 README点击 “Get README” 可自动生成模板提交模型若注册公开模型请开启 “Public Model” 参数。注意注册公开模型时系统会自动在 xorbitsai/inference 仓库中创建 PR。我的模型入口登录后 → 右上角头像 → “我的模型”功能查看当前账户关联的所有模型。模型维护功能修改模型的 JSON 或 README入口模型详情页 → “Settings” 图标注意更新公开模型时系统同样会自动在 xorbitsai/inference 仓库中创建 PR保证仓库中的模型定义与平台维护内容保持一致、可追溯。审核工作流Review Workflow提交者Submitter流程提交模型等待审核根据审核者反馈进行修改更新后的 PR 自动生成针对公开模型。审核者Reviewer权限可访问模型审核列表拥有模型审核权限。审核者流程进入 “Review List”评估模型的质量、完整性与合规性批准或拒绝并在必要时提供反馈意见。“模型更新”功能与底层实现链路Models Hub 的在线模型列表服务不仅支撑平台浏览还通过 模型更新Model Update 能力向 Xinference 本地部署实例同步最新模型。该功能对应 Launch Model 页面顶部的 “Type Selection Update” 按钮用于快速刷新指定类型llm、embedding、rerank、image、audio、video 等的模型列表。页面操作步骤在页面右上角的 Type Selection 下拉框中选择模型类型如 llm、embedding、rerank、image、audio、video点击 “Update” 按钮页面向后端发送更新请求随后自动跳转到对应 Tab 并刷新该类型的模型列表。前端更新请求的发起前端 launch-model 页面 中updateModels函数向后端发送POST /v1/models/update_type请求携带下拉框选择的model_typeconst updateModels async () { setUpdateLoading(true); try { await request.post(/v1/models/update_type, { model_type: refreshType.toLowerCase() }); if (isCustomRoute) { fetchModels(refreshType); } else { onTabChange(refreshType); } } finally { setUpdateLoading(false); } };请求成功后若当前处于自定义模型路由则直接刷新否则跳转到对应 Tab 并刷新该类型的模型列表对应页面顶部的Select类型选择与Update按钮组合。REST API请求入口后端由 restful_api.py 中的update_model_type接口接收请求将model_type透传给 Supervisor 的update_model_type方法并捕获ValueError与未知异常返回给调用方。路由注册位于 api/routers/models.py。Supervisor广播到所有 Worker在分布式部署下Supervisor 的 update_model_type 会把请求转发给集群内的所有 Worker通过asyncio.gather并发执行等待全部 Worker 完成更新操作单个 Worker 失败不会阻塞整体流程而是记录日志继续执行。这保证了即使多节点集群每个节点的模型注册表都能同步刷新。Worker下载、存储与动态重载真正执行模型更新的逻辑位于 Worker 的 update_model_type核心步骤包括类型校验将model_type与当前 Worker 支持的自定义注册类型比对不支持则抛出ValueError远程下载从在线模型列表服务下载该类型的完整 JSON 配置https://model.xinference.io/api/models/download?model_typemodel_type请求通过asyncio.to_thread(requests.get, url, timeout30)在独立线程中执行避免阻塞 Actor 事件循环超时 30 秒本地存储调用 _store_complete_model_configurations将 JSON 原样写入本地统一配置文件XINFERENCE_MODEL_DIR/v2/builtin/model_type/model_type_models.json动态重载根据模型类型调用对应的register_builtin_model()llm、embedding、audio、image、rerank、video、world 均有对应分支使新模型立即对 Launch Model 页面可见无需重启服务容错处理网络异常RequestException、JSON 解析错误JSONDecodeError及未知异常分别记录日志并向上抛出明确错误信息重载失败仅记录日志不阻断整个更新流程。从调用链可以看到模型更新 本质上是把 Models Hub 作为权威在线模型源将模型清单从远端持续同步到本地与文档中 Model update relies on the online model list service provided by Xinference Models Hub 的描述完全对应。支持的模型类型与模型注册查询Xinference 通过 Models Hub 与内置模型体系支持以下模型类型见 Models 总览模型类型能力说明内置模型文档LLM文本生成 / 大语言模型内置 LLM 列表embedding文本嵌入内置 Embedding 列表image图像生成与编辑内置 Image 列表audio语音识别 / 语音合成内置 Audio 列表rerank重排序内置 Rerank 列表video视频生成内置 Video 列表world世界模型 / 环境视频生成内置 World 列表flexible传统机器学习模型推理见 flexible 相关文档说明flexible类型对应传统 ML 模型推理能力其余类型均可在 Models Hub 中浏览与维护。查询模型注册信息的三种方式与平台操作并行Xinference 也提供命令行、HTTP 与 Python Client 三种方式查询某类型的模型注册列表见 Models 总览# 方式一CLI xinference registrations --model-type MODEL_TYPE \ [--endpoint http://XINFERENCE_HOST:XINFERENCE_PORT] # 方式二cURL curl http://XINFERENCE_HOST:XINFERENCE_PORT/v1/model_registrations/MODEL_TYPE # 方式三Python Client from xinference.client import Client client Client(http://XINFERENCE_HOST:XINFERENCE_PORT) print(client.list_model_registrations(model_typeMODEL_TYPE))后端实现上Worker 的list_model_registrations见 worker.py会合并内置模型族、用户自定义模型与在线更新得到的模型清单Supervisor 则聚合所有 Worker 结果supervisor.py并统一排序返回audio、world 类型还会经过专门的合并逻辑处理。若内置模型列表中找不到所需模型还可参考 自定义模型注册 在本地注册自定义模型对于依赖旧版依赖库如transformers的存量模型建议启用 模型虚拟环境 以保证兼容运行。使用注意事项与限制基于上述实现在实际使用 Models Hub 相关能力时需留意以下几点模型更新依赖网络update_model_type需要从在线模型列表服务下载 JSON网络不可达时请求将在 30 秒超时后失败并返回明确错误集群部署下全节点同步Supervisor 会把更新请求广播到所有 Worker单节点失败不会阻塞整体但对应节点的模型清单可能保持旧版PR 自动生成的前提注册或更新公开模型时系统才会自动创建 PR未配置个人 GitHub Token 时使用系统默认 Token平台编辑为准模型元数据、参数与 README 均以 Models Hub 平台内编辑内容为唯一来源手动修改仓库内文件不保证被采纳或与平台一致。总结Xinference Models Hub 通过在线集中编辑 自动生成 PR 本地在线同步三层设计彻底解决了模型 JSON 手动维护时代版本失控、迭代缓慢与交付滞后的问题维护者在平台完成模型的注册、编辑与审核系统自动向 xorbitsai/inference 仓库提交可追溯的 PR普通用户既可在平台浏览公开模型也可借助 Launch Model 页面的模型更新功能将远端最新模型清单实时同步到本地部署。理解从POST /v1/models/update_type到 Worker 下载、落盘、动态重载的完整调用链将帮助你在集群部署、网络受限或模型交付异常等场景下快速定位问题充分发挥 Models Hub 作为 Xinference 模型中枢的价值。【免费下载链接】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),仅供参考
返回列表