Xinference推理框架

news2025/7/19 4:41:13

概述

GitHub,官方文档。

核心优势

  • 性能优化:通过vLLM、SGLang等引擎实现低延迟推理,吞吐量提升2-3倍;
  • 企业级支持:支持分布式部署、国产硬件适配及模型全生命周期管理;
  • 生态兼容:无缝对接LangChain、LlamaIndex等开发框架,加速AI应用构建。

特性:

  1. 全面且高效的模型管理
    提供模型全生命周期管理功能,从模型导入、版本控制到部署上线,一切尽在掌握。还支持100+最新开源模型,涵盖文本、语音、视频以及embedding/rerank等多个领域,确保用户能够快速适配并使用最前沿的模型。
  2. 多推理引擎与硬件兼容
    为了最大化推理性能,优化多种主流推理引擎,包括vLLM、SGLang、TensorRT等。广泛支持多种硬件平台,无论是国际品牌还是国产GPU(如华为昇腾、海光等),都能实现无缝对接,共同服务于AI推理任务。
  3. 高性能与分布式架构
    借助底层算法优化和硬件加速技术,实现高性能推理。其原生分布式架构更是如虎添翼,支持水平扩展集群,轻松应对大规模数据处理需求。多种调度策略的应用使得Xinference能够灵活适应低延迟、高上下文、高吞吐等不同场景。
  4. 丰富的企业级特性
    除了强大的推理能力外,提供众多企业级特性以满足复杂业务需求。这包括用户权限管理、单点登录、批处理、多租户隔离、模型微调以及全面的可观测性等。这些特性使得Xinference在保障数据安全与合规性的同时,也大大提升业务运营的效率与灵活性。

核心功能模块:

  • 聊天&生成:大语言模型(LLM)
    • 内置模型:支持Qwen、ChatGLM3、Vicuna、WizardLM等主流开源模型,涵盖中英文及多语言场景;
    • 长上下文处理:优化高吞吐量推理,支持超长文本对话、代码生成及复杂逻辑推理;
    • 函数调用:为Qwen、ChatGLM3等模型提供结构化输出能力,支持与外部API交互(如天气查询、代码执行),赋能智能体开发。
  • 多模态处理
    • 视觉模块
      图像生成:集成Stable Diffusion等模型,支持文本到图像生成;
      图文理解:通过多模态大模型(如Qwen-VL)实现图像描述、视觉问答等任务。
    • 音频模块
      语音识别:支持Whisper模型,实现语音转文字及多语言翻译;
      语音生成(实验):探索文本到语音(TTS)能力,支持自定义音色生成。
    • 视频模块(实验)
      视频理解:基于多模态嵌入技术解析视频内容,支持片段检索与摘要生成。
  • 嵌入&重排序
    • 嵌入模型
      文本/图像向量化:支持BGE、M3E等模型,生成跨模态统一语义向量;
      应用场景:优化搜索、推荐系统的召回精度,支持混合模态检索。
    • 重排序模型
      精细化排序:通过交叉编码器优化检索结果排序,提升Top-K准确率。

内置模型清单

模型类型代表模型关键特性
大语言模型Qwen-72B、ChatGLM3-6B、Vicuna-7B支持函数调用、长上下文、多轮对话
嵌入模型BGE-Large、M3E-Base跨模态语义对齐、低延迟推理
图像模型Stable Diffusion XL、Qwen-VL文生图、图像描述、视觉问答
音频模型Whisper-Large、Bark(实验)语音识别、多语言翻译、TTS生成
重排序模型bge-reranker-large动态调整检索结果排序
视频模型CLIP-ViT(实验)视频内容解析、跨模态检索

版本

功能企业版本开源版本
用户权限管理用户权限、单点登录、加密认证tokens授权
集群能力SLA调度、租户隔离、弹性伸缩抢占调度
引擎支持优化过的vLLM、SGLang、TensorRTvLLM、SGLang
批处理支持大量调用的定制批处理
微调支持上传数据集微调
国产GPU支持昇腾、海光、天数、寒武纪、沐曦
模型管理可私有部署的模型下载和管理服务依赖ModelScope和HuggingFace
故障检测和恢复自动检测节点故障并进行故障复位
高可用所有节点都是冗余部署支持服务高可用
监控监控指标API接口,和现有系统集成页面显示
运维远程cli部署、不停机升级
服务远程技术支持和自动升级服务社区支持

安装

# 安装所有
pip install "xinference[all]"
# Transformers 引擎
pip install "xinference[transformers]"
# vLLM引擎
pip install "xinference[vllm]"
# Llama.cpp 引擎
pip install xinference
pip install xllamacpp --force-reinstall --index-url https://xorbitsai.github.io/xllamacpp/whl/cu124
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
# SGLang 引擎
pip install "xinference[sglang]"
# MLX引擎
pip install "xinference[mlx]"

运行

本地运行:

conda create --name xinference python=3.10
conda activate xinference
# 启动命令
xinference-local --host 0.0.0.0 --port 9997
# 启动模型命令
xinference engine -e http://0.0.0.0:9997 --model-name qwen-chat
# 其他参考
xinference launch --model-name <MODEL_NAME> \
	[--model-engine <MODEL_ENGINE>] \
	[--model-type <MODEL_TYPE>] \
	[--model-uid <MODEL_UID>] \
	[--endpoint "http://<XINFERENCE_HOST>:<XINFERENCE_PORT>"]

集群部署:

# 启动 Supervisor 用当前节点的 IP 来替换`${supervisor_host}`
xinference-supervisor -H "${supervisor_host}"
# 启动Worker
xinference-worker -e "http://${supervisor_host}:9997" -H "${worker_host}"

Docker部署:

# 英伟达显卡机器
docker run -e XINFERENCE_MODEL_SRC=modelscope -p 9998:9997 --gpus all xprobe/xinference:<your_version> xinference-local -H 0.0.0.0 --log-level debug
# 只有CPU机器
docker run -e XINFERENCE_MODEL_SRC=modelscope -p 9998:9997 xprobe/xinference:<your_version>-cpu xinference-local -H 0.0.0.0 --log-level debug

启动完成可在http://${supervisor_host}:9997/ui访问Web UI:
在这里插入图片描述
打开http://${supervisor_host}:9997/docs访问API文档:
在这里插入图片描述
部分API截图:
在这里插入图片描述

API

如上图,接口列表中包含大量接口,不仅有LLM模型的接口,还有其他模型(如Embedding或Rerank)的接口,都是兼容OpenAI API的接口。可使用Curl工具来调用其接口,示例如下:

curl -X 'POST' \
  'http://localhost:9997/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "chatglm3",
    "messages": [
      {
        "role": "user",
        "content": "hello"
      }
    ]
  }'

不同模型可使用不同的requestBody参数,但是大多都是类似的:

{
    "model": "deepseek-r1-distill-qwen-32b-awq",
    "messages": [
        {
            "role": "user",
            "content": "你是谁"
        }
    ],
    "temperature": 0.1,
    "top_p": 0.6,
    "stream": true,
    "stop": [
        "<|im_end|>",
        "<|endoftext|>"
    ]
}

模型部署

注:版本为v0.14.2
在这里插入图片描述
在Launch Model菜单中选择LANGUAGE MODELS标签,输入关键字,比如chatglm3:
在这里插入图片描述
点击第一个:
在这里插入图片描述
可选参数:

  • Model Engine:模型引擎,可选择Transformers和vLLM。选择Transformers后,截图如上。
  • Model Format:模型格式,可选择量化和非量化的格式,非量化的格式是pytorch,量化格式有ggml、gptq等。不同的模型支持不同的格式。
  • Model Size:模型的参数量大小,不同的模型,其可选择的参数量候选列表不一样。比如ChatGLM3只有6这个选项(表示6B,60亿参数);Llama2,有7、13、70等选项。
  • Quantization:量化精度,4-bit、8-bit、none等。
  • N-GPU:选择使用第几个GPU。
  • Replica:副本数。

选择vLLM后,支持填入副本数:
在这里插入图片描述
和使用的GPU卡个数:
在这里插入图片描述
不管是Transformers还是vLLM,都支持填写其他可选参数:
在这里插入图片描述
包括:

  • Model UID:模型自定义名称,不填的话就默认用原始模型名称。

参数填写完成后,点击左边的火箭图标按钮即开始部署模型,后台会根据参数选择下载LLM模型。部署完成后,界面会自动跳转到Running Models菜单。

部署Embedding模型,只需要在Launch Model菜单中选择Embedding标签,然后选择相应模型,不像LLM模型一样需要选择参数,直接部署模型即可。

通过Curl命令调用API接口来验证部署好的Embedding模型:

curl -X 'POST' \
  'http://localhost:9997/v1/embeddings' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "bge-base-en-v1.5",
  "input": "hello"
}'

验证rerank模型:

curl --location 'http://192.168.0.106:9997/v1/rerank' \
--header 'Content-Type: application/json' \
--data '{
    "model":"bge-reranker-v2-m3",
    "query":"智能家居系统如何帮助提高家庭能源效率?",
    "documents":["智能家居系统如何帮助提高家庭能源效率?213","fsdf"]
}'

对比

FeatureXinferenceFastChatOpenLLMRayLLM
OpenAI-Compatible RESTful API
vLLM Integrations
More Inference Engines (GGML, TensorRT)
More Platforms (CPU, Metal)
Multi-node Cluster Deployment
Image Models (Text-to-Image)
Text Embedding Models
Multimodal Models
Audio Models
More OpenAI Functionalities (Function Calling)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端ECS简介

ECS概念 ECS是一种软件架构模式&#xff0c;常见于游戏业务场景&#xff0c;其主要对象分类为 • Entity 实体,ECS架构中所有的业务对象都必须拥有一个唯一的Entity实体 • Component 组件,存储着数据结构,对应着某一种业务属性,一个Entity上可以动态挂载多个Component • …

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】

Dify与n8n全面对比指南&#xff1a;AI应用开发与工作流自动化平台选择【2025最新】 随着AI技术与自动化工具的迅速发展&#xff0c;开发者和企业面临着多种平台选择。Dify和n8n作为两个备受关注的自动化平台&#xff0c;分别专注于不同领域&#xff1a;Dify主要面向AI应用开发&…

【深度学习之四】知识蒸馏综述提炼

知识蒸馏综述提炼 目录 知识蒸馏综述提炼 前言 参考文献 一、什么是知识蒸馏&#xff1f; 二、为什么要知识蒸馏&#xff1f; 三、一点点理论 四、知识蒸馏代码 总结 前言 知识蒸馏作为一种新兴的、通用的模型压缩和迁移学习架构&#xff0c;在最近几年展现出蓬勃的活力…

redis解决常见的秒杀问题

title: redis解决常见的秒杀问题 date: 2025-03-07 14:24:13 tags: redis categories: redis的应用 秒杀问题 每个店铺都可以发布优惠券&#xff0c;保存到 tb_voucher 表中&#xff1b;当用户抢购时&#xff0c;生成订单并保存到 tb_voucher_order 表中。 订单表如果使用数据…

TypeScript中文文档

最近一直想学习TypeScript&#xff0c;一直找不到一个全面的完整的TypeScript 中文文档。在网直上找了了久&#xff0c;终于找到一个全面的中文的typescript中文学习站&#xff0c;有学习ts的朋友可以年。 文档地址&#xff1a;https://typescript.uihtm.com 该TypeScript 官…

Function Calling

在介绍Function Calling之前我们先了解一个概念,接口。 接口 两种常见接口: 人机交互接口,User Interface,简称 UI应用程序编程接口,Application Programming Interface,简称 API接口能「通」的关键,是两边都要遵守约定。 人要按照 UI 的设计来操作。UI 的设计要符合人…

面试--HTML

1.src和href的区别 总结来说&#xff1a; <font style"color:rgb(238, 39, 70);background-color:rgb(249, 241, 219);">src</font>用于替换当前元素&#xff0c;指向的资源会嵌入到文档中&#xff0c;例如脚本、图像、框架等。<font style"co…

SparkSQL操作Mysql-准备mysql环境

我们计划在hadoop001这台设备上安装mysql服务器&#xff0c;&#xff08;当然也可以重新使用一台全新的虚拟机&#xff09;。 以下是具体步骤&#xff1a; 使用finalshell连接hadoop001.查看是否已安装MySQL。命令是: rpm -qa|grep mariadb若已安装&#xff0c;需要先做卸载MyS…

DeepBook 与 CEX 的不同

如果你曾经使用过像币安或 Coinbase 这样的中心化交易所&#xff08;CEX&#xff09;&#xff0c;你可能已经熟悉了订单簿系统 — — 这是一种撮合买卖双方进行交易的机制。而 DeepBook 是 Sui 上首个完全链上的中央限价订单簿。 那么&#xff0c;是什么让 DeepBook 如此独特&…

Scrapy框架下地图爬虫的进度监控与优化策略

1. 引言 在互联网数据采集领域&#xff0c;地图数据爬取是一项常见但具有挑战性的任务。由于地图数据通常具有复杂的结构&#xff08;如POI点、路径信息、动态加载等&#xff09;&#xff0c;使用传统的爬虫技术可能会遇到效率低下、反爬策略限制、任务进度难以监控等问题。 …

城市扫街人文街头纪实胶片电影感Lr调色预设,DNG/手机适配滤镜!

调色详情 城市扫街人文街头纪实胶片电影感 Lr 调色是通过 Lightroom&#xff08;Lr&#xff09;软件&#xff0c;对城市街头抓拍的人文纪实照片进行后期调色处理。旨在赋予照片如同胶片拍摄的质感以及电影般浓厚的叙事氛围&#xff0c;不放过每一个日常又珍贵的瞬间&#xff0c…

让AI帮我写一个word转pdf的工具

需求分析 前几天&#xff0c;一个美女找我&#xff1a; 阿瑞啊&#xff0c;能不能帮我写个工具&#xff0c;我想把word文件转为pdf格式的 我说&#xff1a;“你直接网上搜啊&#xff0c;网上工具多了去了” 美女说&#xff1a; 网上的要么是需要登录注册会员的&#xff0c;要…

OrangePi Zero 3学习笔记(Android篇)10 - SPI和从设备

目录 1. 配置内核 2. 修改设备数 3. 修改权限 4. 验证 Zero 3的板子有2个SPI Master接口&#xff0c;其中SPI0接的是板载16MB大小的SPI Nor Flash&#xff0c;SPI1则是导出到26pin的接口上。 spi和i2c有点不同&#xff0c;spi是直接生成spi虚拟设备&#xff0c;所以在dev里…

基于策略的强化学习方法之近端策略优化(PPO)深度解析

PPO&#xff08;Proximal Policy Optimization&#xff09;是一种基于策略梯度的强化学习算法&#xff0c;旨在通过限制策略更新幅度来提升训练稳定性。传统策略梯度方法&#xff08;如REINFORCE&#xff09;直接优化策略参数&#xff0c;但易因更新步长过大导致性能震荡或崩溃…

文章复现|(1)整合scRNA-seq 和空间转录组学揭示了子宫内膜癌中 MDK-NCL 依赖性免疫抑制环境

https://www.frontiersin.org/journals/immunology/articles/10.3389/fimmu.2023.1145300/full 目标&#xff1a;肿瘤微环境(TME)在子宫内膜癌(EC)的进展中起着重要作用。我们旨在评估EC的TME中的细胞群体。 方法&#xff1a;我们从GEO下载了EC的单细胞RNA测序(scRNA-seq)和空…

HTML-3.4 表单form

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 系列文章目录 HTML-1.1 文本字体样式-字体设置、分割线、段落标签、段内回车以及特殊符号 HTML…

【MySQL】服务器配置与管理(相关日志)

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【MySQL】探秘&#xff1a;数据库世界的瑞士军刀 一、系统变量和选项 当通过mysqld启动数据库服务器时&#xff0c;可以通过选项文件或命令行中提供选项。一般&#xff0c;为了确保服务器在每次运行时…

【问题】Watt加速github访问速度:好用[特殊字符]

前言 GitHub 是全球知名的代码托管平台&#xff0c;主要用于软件开发&#xff0c;提供 Git 仓库托管、协作工具等功能&#xff0c;经常要用到&#xff0c;但是国内用户常因网络问题难以稳定访问 。 Watt Toolkit&#xff08;原名 Steam&#xff09;是由江苏蒸汽凡星科技有限公…

vue3:十三、分类管理-表格--行内按钮---行删除、批量删除实现功能实现

一、实现效果 增加行内按钮的样式效果,并且可以根绝父组件决定是否显示 增加行内删除功能、批量删除功能 二、增加行内按钮样式 1、增加视图层按钮 由于多个表格都含有按钮功能,所以这里直接在子组件中加入插槽按钮 首先增加表格行<el-table-column></el-table-…

浏览器设置代理ip后不能上网?浏览器如何改ip地址教程

使用代理IP已成为许多用户保护隐私、绕过地域限制或进行网络测试的常见做法。当浏览器设置代理IP后无法上网时&#xff0c;通常是由于代理配置问题或代理服务器本身不可用。以下是排查和解决问题的详细步骤&#xff0c;以及更改浏览器IP的方法&#xff1a; 一、代理设置后无法上…