Xinference 开源推理服务框架全解析:一条命令部署 LLM、语音与多模态模型 Xinference 开源推理服务框架全解析一条命令部署 LLM、语音与多模态模型【免费下载链接】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/inferenceXinferenceXorbits Inference是一个面向大语言模型LLM、语音识别与多模态模型的开源推理服务框架它允许用户通过一条命令将内置或自有的前沿模型部署为标准化推理服务。本文以项目官方多语言 README意大利语版 README_it.md为核心骨架结合仓库源码与部署配置系统讲解其核心特性、部署方式与使用入口帮助你快速评估并落地自己的模型服务。项目定位让模型服务化变得简单从 README 的定位描述看Xinference 是一款强大且通用的语言模型、语音识别与多模态模型库。它的核心目标非常明确让研究者、开发者和数据科学家能够充分发挥现代 AI 模型的能力而不用关心底层部署的复杂性。无论是 Hugging Face 上的开源模型还是你自己训练/微调的模型都可以通过统一的命令和服务接口对外提供服务。从仓库目录结构看这一统一体现在对模型类型的全面覆盖上见 xinference/modelLLM 大语言模型支持 llama.cpp、vLLM、SGLang、MLX、Transformers、LMDeploy 等多种推理引擎见 xinference/model/llm 下的llama_cpp/、vllm/、sglang/、mlx/、transformers/、lmdeploy/等子目录语音模型语音识别ASR与语音合成TTS如 Whisper、Fish Speech、CosyVoice 等见 xinference/model/audio图像模型文生图、图生图、OCR、图像编辑等见 xinference/model/imageEmbedding / Rerank 模型文本向量化与重排序见 xinference/model/embedding、xinference/model/rerank视频与世界模型文生视频以及 world model见 xinference/model/video、xinference/model/world。值得强调的是覆盖不等于简单包装。仓库内置了每个模型的规格定义如各类型目录下的model_spec.json、llm_family.json并提供了缓存管理cache_manager.py、批量调度xinference/model/scheduler等生产级配套设施说明其服务化能力是成体系的。核心特性为什么选择 XinferenceREADME 用六个维度概括了项目核心能力下面逐一展开并结合仓库证据佐证。1. 简化模型部署使用一个命令即可配置并部署实验或生产环境中的模型——这是 Xinference 最核心的卖点。安装完成后启动本地服务只需xinference-local随后即可通过 Web UI、cURL、CLI 或 Python 客户端使用模型。这一命令在源码中的实现位于 xinference/deploy/cmdline.py 的local子命令click.command(helpStarts an Xinference local cluster.)它负责初始化系统设置、配置日志并拉起本地集群。2. 前沿模型开箱即用README 表示项目提供对最新开源模型的内置支持用一个命令试用内置模型。内置模型的能力来自仓库中 xinference/model/llm/llm_family.json 等规格文件的定义同时各模型规格的文档模板由 doc/templates 下的 Jinja 模板生成如llm.rst.jinja、audio.rst.jinja方便快速查阅每个内置模型的参数与用法。3. 异构硬件支持README 明确提到通过 ggml 等方案高效利用 GPU 和 CPU 加速推理。从源码看Xinference 对不同硬件的支持体现在多套引擎适配层上llama_cppGGML 系 CPU/GPU 推理、mlxApple Silicon、vllmGPU 高性能服务等并存于 xinference/model/llm 之下同时 xinference/device_utils.py 提供设备相关工具函数供服务端做设备感知与调度。4. 灵活多样的 API 与交互方式README 列举了 OpenAI 兼容的 RESTful API含 Function Calling、RPC、CLI、Web UI 等多种接口。这一点在仓库中有多处印证OpenAI 兼容 RESTful API由 xinference/api/routers 下的路由模块实现llm.py、embeddings.py、images.py、audio.py等Python 客户端提供了同步与异步两套封装见 xinference/client/restful/restful_client.py 与 xinference/client/restful/async_restful_client.py包含chat、generate、create_embedding、launch_model、register_model、list_models等常用方法CLI 工具xinference命令集成了 launch / list / chat / generate 等子命令见 xinference/deploy/cmdline.pyWeb UI前端是基于 Next.js 构建的构建产物以静态资源形式打包进 Python 包中由后端直接托管详见 doc/source/getting_started/using_xinference.rst 的说明因此运行时无需额外的 Node.js 环境。5. 分布式部署README 强调 Xinference 支持跨多设备、多机器的分布式推理。对应地部署目录 xinference/deploy 提供了三种角色xinference-local单机一键启动supervisor worker 都在本机xinference-supervisor启动 supervisor 节点负责控制与监控 worker actorxinference/deploy/cmdline.py 中supervisor子命令xinference-worker启动 worker 节点执行 supervisor 分配的任务并通过--endpoint指定连接的服务端点worker子命令。同时仓库还提供 xinference/deploy/docker/docker-compose-distributed.yml 这类分布式编排文件以及 doc/source/user_guide/distributed_inference.rst 专门文档说明集群部署方式。6. 第三方生态集成README 列出了与 LangChain、LlamaIndex、Dify、Chatbox 等生态的集成。RAGFlow、MaxKB、FastGPT 等知识库/RAG 平台也均在 README 的集成清单中说明 Xinference 常被作为这些上层应用的模型底座。新版本亮点框架增强与模型支持README 的 Novità in evidenza亮点章节透露了当前版本3.x 时代的主要演进方向分为框架改进与新增模型两部分。框架级改进Xinference 3.0.0 发布官方提供了专门的迁移说明与不兼容变更清单升级前务必查阅面向 Agent 的原生部署与 Xagent 深度集成提供动态规划、工具调用与多步自主推理突破静态 pipeline 的局限自动 Batching多条并发请求会被自动分组批处理显著提升吞吐量Xllamacpp由 Xinference 团队维护的 llama.cpp Python 绑定支持连续批处理continuous batching更贴近生产场景分布式推理单个模型可跨多个 worker 运行对应 xinference/core/pd_model.py 等并行分布式模型实现vLLM 增强支持多个副本间共享 KV-cache对应仓库中 vLLM 相关实现xinference/model/llm/vllm。新模型支持README 列出了大量新增内置模型覆盖语言、语音、图像、Embedding、OCR、世界模型等类型例如MiniCPM5-2B、Kimi-K3、GLM-5.2、DeepSeek-V4-Flash-0731、Qwen3.8 系列、Fish Audio S1/S2 系列、MonkeyOCR、dots.ocr、NaviDC-OCR、WeMM-Embedding 2B/4B/9B、ACE-Step 1.5、HiDream-O1 系列、FireRedTTS3、MiniMax-Music3、jina-reranker-m0 等。这些模型在仓库中均有对应适配实现例如 xinference/model/audio/ace_step.py、xinference/model/audio/fish_speech.py、xinference/model/embedding/wemm.py、xinference/model/image/ocr 等。与其他推理框架的能力对比README 提供了一张直接对比表便于在选型时横向评估 Xinference 与 FastChat、OpenLLM、RayLLM 的差异。这里完整继承如下✅ 表示支持❌ 表示不支持功能XinferenceFastChatOpenLLMRayLLMOpenAI 兼容 RESTful API✅✅✅✅vLLM 集成✅✅✅✅多种推理引擎GGML、TensorRT 等✅❌✅✅多平台支持CPU、Metal✅✅❌❌多节点集群部署✅❌❌✅图像模型文生图✅✅❌❌文本 Embedding 模型✅❌❌❌多模态模型✅❌❌❌语音模型✅❌❌❌OpenAI Function Calling 能力✅❌❌❌从表中可以直观看出Xinference 的优势在于模型类型的广覆盖图像、Embedding、多模态、语音以及Function Calling 支持同时在多引擎、多平台与集群能力上保持了全面性。需要说明的是此表反映的是 README 写作时的功能快照具体能力以当前版本为准。快速上手从安装到首次服务方式一Docker推荐 GPU 用户README 建议 NVIDIA GPU 用户使用官方 Docker 镜像使用前需确保 Docker 与 CUDA 驱动已安装docker run --name xinference -d -p 9997:9997 \ -e XINFERENCE_HOME/data \ -v /on/your/host:/data \ --gpus all \ xprobe/xinference:latest \ xinference-local -H 0.0.0.0该命令的要点-p 9997:9997暴露服务端口。9997 正是 Xinference 的默认端点端口定义于 xinference/constants.pyXINFERENCE_DEFAULT_ENDPOINT_PORT 9997-e XINFERENCE_HOME/data将数据目录模型、日志等指向容器内/data-v /on/your/host:/data将宿主机目录挂载到/data实现数据持久化--gpus all将宿主机全部 GPU 透传给容器xinference-local -H 0.0.0.0容器启动后执行本地服务命令并监听所有网卡便于外部访问。仓库同时提供多种 Docker 编排方案见 xinference/deploy/docker 目录docker-compose.yml标准编排、docker-compose.cpu.yml纯 CPU 环境、docker-compose-distributed.yml分布式集群、docker-compose.airgap.yml离线环境等以及 CPU 版镜像构建文件 xinference/deploy/docker/Dockerfile.cpu。方式二KubernetesHelm Chart在集群中启用 GPU 后可通过官方 Helm Chart 安装# 添加仓库 helm repo add xinference https://xorbitsai.github.io/xinference-helm-charts # 更新索引并查看可用版本 helm repo update xinference helm search repo xinference/xinference --devel --versions # 安装 Xinference版本号对应具体 release helm install xinference xinference/xinference -n xinference --version 0.0.1-vxinference_release_version方式三pip 快速安装Quickstart本地开发或原型验证最快的方式是 pip 安装全量依赖pip install xinference[all]提示[all]会安装所有模型引擎依赖vLLM、SGLang、MLX、Transformers 等体积较大如果只需要部分引擎可以只装基础包pip install xinference再按需补充具体引擎。启动本地实例$ xinference-local启动成功后即可通过多种方式使用服务Web UI浏览器访问http://127.0.0.1:9997可视化地启动、管理和调用模型见下方截图API 文档访问http://127.0.0.1:9997/docs查看交互式接口文档cURL直接调用 OpenAI 兼容的 RESTful 接口CLI使用xinference命令行的launch、list、chat等子命令Python 客户端通过RESTfulClient编程调用。关键启动参数与数据目录结合 xinference/deploy/cmdline.py 的实现xinference-local支持的常用参数如下参数默认值说明--log-levelINFO日志级别可选DEBUG INFO WARNING ERROR CRITICAL--host/-H127.0.0.1服务监听地址见XINFERENCE_DEFAULT_LOCAL_HOST--port/-p9997服务端口见XINFERENCE_DEFAULT_ENDPOINT_PORT--metrics-exporter-host/-MH同--hostPrometheus 指标导出服务监听地址--metrics-exporter-port/-mp无Prometheus 指标导出服务端口关于数据存储默认情况下Xinference 将日志、模型等必要文件存放在HOME/.xinference目录HOME为当前用户主目录。可通过环境变量XINFERENCE_HOME自定义例如XINFERENCE_HOME/tmp/xinference xinference-local --host 0.0.0.0 --port 9997从 xinference/constants.py 的源码可以看到XINFERENCE_HOME下划分了多个子目录cache/缓存、model/模型文件、logs/日志、image/、video/、world/、auth/鉴权凭据等并派生出一系列数据库文件如launch_history.db、download_tasks.db、system-settings.json说明 XINFERENCE_HOME 是服务状态的统一存储根目录。分布式启动示例如果需要跨机器部署可分别在对应机器上执行参考 xinference/deploy/cmdline.py# 在控制节点上启动 supervisor默认监听 0.0.0.0:9997 xinference-supervisor --host 0.0.0.0 --port 9997 # 在计算节点上启动 worker 并连接控制节点 xinference-worker --endpoint http://supervisor-host:9997 --host 0.0.0.0其中xinference-worker通过--endpoint拿到 supervisor 内部地址后自动注册具体实现可阅读 xinference/deploy/worker.py 与 xinference/deploy/supervisor.py。进一步了解与参与完整文档仓库内的用户指南见 doc/source/user_guide 与 doc/source/getting_started覆盖分布式推理、指标监控、鉴权审计、vLLM 增强等专题内置模型清单模型规格定义见 xinference/model/llm/llm_family.json 及各类型目录下的model_spec.json自定义模型支持注册自有模型对应实现见 xinference/model/custom.py多语言 README本项目提供多语言说明包括中文版 README_zh_CN.md、日文版 README_ja_JP.md、韩文版 README_ko.md 等社区渠道官方维护 Discord 与 Telegram 社区用于用户交流GitHub Issues 用于提交 bug 与功能需求。如果你在研究中使用了本项目可按 README 提供的 BibTeX 引用其论文Xinference: Making Large Model Serving EasyEMNLP 2024 System Demonstrations。小结Xinference 的核心价值可以概括为三点一条命令完成模型部署、OpenAI 兼容的统一服务 API、对 LLM/语音/图像/Embedding/视频/世界模型的广覆盖。无论是单机原型验证、本地 GPU 服务还是多节点分布式生产集群它都提供了从 Docker、K8s 到原生 CLI 的完整落地路径。如果你正在为团队或项目寻找一个开箱即用、生态成熟的模型推理服务底座不妨直接克隆本仓库运行pip install xinference[all] xinference-local在 Web UI 中体验第一个模型服务。【免费下载链接】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),仅供参考