news 2026/4/3 2:48:22

Xinference推理框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Xinference推理框架

一. Xinference

https://github.com/xorbitsai/inference

Xorbits Inference(简称Xinference)是一个高性能、分布式、多模态的模型推理框架,主要用于在本地或云端部署和运行各类 AI 模型,包括:

  • 大语言模型(LLM,如 Qwen、Llama3、ChatGLM 等)
  • 嵌入(Embedding)与重排序(Reranker)模型(如 BGE、bge-reranker)
  • 语音识别/合成模型(如 Whisper、Bark)
  • 图像生成/理解模型(如 Stable Diffusion、Qwen-VL)
  • 视频理解模型(实验性)

它提供统一的 RESTful API(兼容 OpenAI 接口)、Web UI、命令行工具和 Python SDK,支持 GPU/CPU 异构计算、分布式集群部署、自动批处理、KV Cache 共享等企业级特性。


和 Ollama、vLLM 的关系与区别

维度XinferenceOllamavLLM
定位通用、企业级、多模态推理平台轻量级本地 LLM 运行工具高性能 LLM 推理引擎(专注推理加速)
模型支持✅ LLM + Embedding + Reranker + 图像 + 音频 + 视频❌ 仅 LLM(少量 embedding)❌ 仅 LLM(部分支持 function calling)
部署方式单机 / 分布式(K8s/Ray)/ Docker单机(命令行一键启动)通常作为后端引擎嵌入到服务中(如 FastAPI)
API 兼容性完全兼容 OpenAI API(含 function calling)部分兼容 OpenAI API提供 OpenAI 兼容接口(需额外封装)
硬件支持NVIDIA/AMD/Apple Silicon/国产芯片(昇腾、寒武纪等)Apple Silicon 优化最佳,也支持 CUDA/CPU主要针对 NVIDIA GPU(CUDA),依赖 PagedAttention
扩展性支持自定义模型注册、多引擎(vLLM/SGLang/Transformers/llama.cpp/MLX)固定模型格式(Modelfile + GGUF)仅支持自身推理引擎
典型用户企业开发者、RAG 系统构建者、多模态应用团队个人开发者、快速实验者推理性能敏感的 LLM 服务开发者
是否包含 vLLM?✅ 是!Xinference可选集成 vLLM 作为后端引擎之一❌ 不包含vLLM 本身就是一个独立引擎

简单类比

  • vLLM:像“高性能发动机”——只负责把 LLM 跑得更快(低延迟、高吞吐)。
  • Ollama:像“电动滑板车”——轻便、开箱即用,适合一个人短途出行(本地玩 LLM)。
  • Xinference:像“智能物流平台”——能调度卡车(LLM)、无人机(图像)、冷链车(语音),还能自动装货卸货(模型管理)、多仓库协同(分布式),适合企业级复杂任务。

💡 实际上,Xinference 可以把 vLLM 当作一个“插件”来使用。你可以在 Xinference 中选择用 vLLM 引擎跑 Llama3,用 Transformers 跑 embedding,用 Whisper 做语音识别——全部通过同一个 API 管理。


什么时候用哪个?

  • 快速试试 Llama3? → 用Ollamaollama run llama3
  • 极致优化 LLM 推理速度? → 直接用vLLM
  • 搭建企业级 RAG 系统(需要 LLM + embedding + reranker + 图像理解)? → 用Xinference
  • 在国产 GPU 上跑多模态模型? →Xinference(支持昇腾、寒武纪等)
  • 用一套 API 管理所有 AI 模型? →Xinference

总结

  • Xinference ≠ vLLM/Ollama 的竞品,而是更高层的“模型服务平台”
  • 整合了 vLLM、SGLang、llama.cpp 等引擎,并大幅扩展了模型类型和部署能力
  • 如果你只需要跑 LLM,Ollama 或 vLLM 可能更简单;但如果你需要多模型协同、生产级部署、多模态能力,Xinference 是更全面的选择。

官网:https://github.com/xorbitsai/inference
文档:https://inference.readthedocs.io/

二. LLM + embedding + reranker + 图像理解 都是什么?

LLM(大语言模型)Embedding(嵌入)Reranker(重排序器)图像理解(Image Understanding)——是当前人工智能系统(尤其是多模态智能体和 RAG 系统)中的核心组件。下面我用通俗易懂的方式逐一解释它们“是什么”、“干什么用”,以及它们如何协同工作。


1.LLM(Large Language Model,大语言模型)

是什么?

  • 一个超大规模的神经网络,在海量文本上训练而成。
  • 能“预测下一个词”,从而实现:回答问题、写文章、编程、推理等。
  • 代表模型:Qwen、Llama3、GPT-4、Claude 等。

干什么用?

  • 生成自然语言内容(如聊天、写作)
  • 理解用户意图
  • 基于上下文做逻辑推理
  • 调用工具或执行指令

📌 但 LLM 有缺陷:会“胡说八道”(幻觉)、知识截止、无法访问私有数据。


2.Embedding(嵌入)

  • 是什么?

    • 文字、句子、图像等内容转换成一串数字向量(比如 768 维的浮点数数组)。
    • 这些向量能捕捉语义信息:语义越相近的内容,向量在空间中距离越近。

    举个例子:
    “猫” 的向量 ≈ “喵喵” 的向量
    “猫” 的向量 ≠ “汽车” 的向量

  • 干什么用?

    • 语义搜索:把用户问题和文档都转成向量,找最相似的。
    • 聚类/分类:相似内容自动归类。
    • 作为 LLM 的输入预处理(尤其在 RAG 中)

常见模型:text-embedding-ada-002、BGE、Qwen-embedding、OpenAI Embeddings

3.Reranker(重排序器)

  • 是什么?

    • 一个精细化打分模型,用于对“初步召回”的候选结果重新排序
    • 它比 Embedding 更“聪明”:能深度理解问题和文档之间的语义匹配度
  • 干什么用?

    • 解决 Embedding 召回“粗略但快”的问题。
    • 比如:
      • 用户问:“糖尿病患者能吃西瓜吗?”
      • Embedding 可能召回 10 篇含“糖尿病”“水果”的文章(包括讲胰岛素注射的)。
      • Reranker 会逐篇判断:哪篇真正讲“饮食禁忌”?然后把最相关的排前面。

常见模型:bge-reranker、Cohere Rerank、ColBERT

💡 技术原理:通常用Cross-Encoder(把问题+文档拼在一起输入 BERT 类模型),比双塔 Embedding(Bi-Encoder)更准但更慢。


4.图像理解(Image Understanding)

  • 是什么?

    • 让 AI看懂图片内容,不只是识别物体,还能描述场景、理解关系、回答问题
    • 属于计算机视觉 + 语言模型的交叉领域。
  • 干什么用?

    • 图像描述生成(Captioning):输入一张图,输出“一只黑猫坐在窗台上晒太阳”
    • 视觉问答(VQA):问“图中有几只狗?”,答“2只”
    • 图文检索:用文字搜图,或用图搜相似图
    • 多模态 RAG:把图像信息注入知识库,让 LLM 能回答基于图片的问题

代表模型:Qwen-VL、LLaVA、Florence、CLIP、BLIP


🤝 它们怎么一起工作?——以RAG(检索增强生成)系统为例

假设你有一个企业知识库(含 PDF、Word、图片、表格),想让 AI 助手准确回答员工问题:

  1. 离线阶段(建库)

    • 把所有文档切块(chunk)
    • Embedding 模型把每个 chunk 转成向量 → 存入向量数据库(如 Milvus、Chroma)
    • 如果有图片,用图像理解模型提取描述或特征向量,也存进去
  2. 在线阶段(问答)

    • 用户问:“去年Q3财报中,华东区营收是多少?”
    • 系统用Embedding 模型把问题转成向量
    • 在向量库中快速召回 Top 10 相关 chunk(可能包含表格截图)
    • Reranker对这 10 个结果精细打分重排,选出最相关的 2~3 个
    • 把问题 + 精选上下文 一起喂给LLM
    • LLM 生成准确、不胡编的答案

如果上下文包含图片,图像理解模型会先将其转化为文字描述,再交给 LLM 处理。


总结对比表

组件核心作用技术特点典型模型
LLM生成 & 理解语言自回归、上下文推理Qwen、Llama3、GPT-4
Embedding语义向量化快速、低精度召回BGE、text-embedding-ada
Reranker精细相关性排序慢但准,Cross-Encoderbge-reranker、Cohere
图像理解看懂图片内容多模态(视觉+语言)Qwen-VL、LLaVA、CLIP

一句话记住它们的关系:

Embedding 负责“广撒网”,Reranker 负责“精挑细选”,LLM 负责“组织语言回答”,图像理解负责“把图变成文字”—— 四者合力,打造准确、可靠、多模态的 AI 系统。

三. Embedding的用途

Embedding 既是 LLM(大语言模型)内部的一环,也可以独立于 LLM 存在。它的角色取决于具体使用场景——在模型推理流程中,它是 LLM 架构的必要组成部分;而在外部应用系统(如 RAG)中,它又常作为独立模块被调用。

下面我们从两个角度详细说明:


一、在 LLM 内部:Embedding 是模型的第一道“语义翻译器”

在所有基于 Transformer 的大语言模型(如 Qwen、Llama、GPT 等)中,Embedding 层是模型架构的起始环节,位于 Tokenizer(分词器)之后、Transformer 主干之前 。

工作流程如下:
  1. 输入文本→ 如"Hello world"
  2. Tokenizer将其拆分为 token 并映射为整数 ID →[9906, 2345]
  3. Embedding 层根据 ID 从预训练的嵌入矩阵(如tok_embeddings.weight)中查出对应的高维向量 → 每个 token 变成一个 2048 维(以 LLaMA-3 为例)的浮点向量
  4. 这些向量再送入Transformer Block进行后续处理(注意力、前馈网络等)

✅ 因此,在 LLM内部推理流程中,Embedding 是不可或缺的一环,没有它,模型无法将离散符号转化为可计算的语义表示 。

关键特点:
  • Embedding 矩阵是模型参数的一部分,在预训练阶段学习得到
  • 向量维度固定(如 768、2048),与模型结构绑定
  • 它提供的是token-level 的静态初始表示(虽然后续层会生成上下文相关的动态表示)

二、在 LLM 外部:Embedding 可作为独立服务使用

在实际 AI 应用中(尤其是RAG、语义搜索、聚类等场景),我们常常不依赖 LLM 自带的 Embedding,而是使用专门训练的独立 Embedding 模型ty-reference。

原因包括:
  • LLM 的 Embedding 是为语言建模任务(预测下一个词)优化的,不一定适合语义相似度计算
  • 专用 Embedding 模型(如 BGE、text-embedding-ada-002)通过对比学习等方法,专门优化了向量间的语义距离,更适合检索任务
  • 可以离线批量生成文档向量,存入向量数据库,避免每次调用 LLM

✅ 所以在 RAG 系统中,常见架构是:
独立 Embedding 模型(用于召回) +Reranker(用于精排) +LLM(用于生成)


三、两类 Embedding 的对比

特性LLM 内部 Embedding独立 Embedding 模型
目的支持语言建模(next-token prediction)支持语义相似度/检索
训练目标最大化语言模型似然最大化正样本相似度、最小化负样本相似度
是否可单独调用通常不可(需加载整个 LLM)可独立部署(如 Sentence-BERT、BGE)
向量质量(用于检索)一般优秀(专为此优化)
典型代表LLaMA 的tok_embeddings.weightBGE-large-zh、text-embedding-3-small

结论

是的,Embedding 属于 LLM 内部的一环——它是模型将 token 转化为语义向量的第一层神经网络,没有它 LLM 无法工作。
但同时,Embedding 也可以脱离 LLM 单独存在,作为外部工具服务于检索、聚类等任务。

因此,不能简单地说“Embedding 就是 LLM 的一部分”或“不是”,而要根据上下文判断:

  • 在讨论模型架构时:✅ 是内部组件
  • 在讨论RAG 或语义搜索系统时:✅ 常是独立模块

这种“内外双重身份”,正是 Embedding 技术强大与灵活的体现。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 18:10:25

Open-AutoGLM接口调用避坑指南:90%新手都会忽略的3个关键参数

第一章:Open-AutoGLM接口调用避坑指南概述在对接 Open-AutoGLM 接口的过程中,开发者常因认证配置、参数格式或网络策略等问题导致请求失败。本章聚焦于高频问题场景,提供可落地的解决方案与最佳实践,帮助快速定位并规避常见陷阱。…

作者头像 李华
网站建设 2026/4/3 0:04:39

挂号排队耗时降低80%?Open-AutoGLM智能调度背后的秘密

第一章:挂号排队耗时降低80%?Open-AutoGLM智能调度背后的秘密在医疗信息化升级的浪潮中,患者挂号排队时间过长一直是困扰医院服务效率的痛点。Open-AutoGLM 作为新一代智能任务调度引擎,通过动态资源分配与语义理解驱动的请求优先…

作者头像 李华
网站建设 2026/3/23 21:20:36

【Open-AutoGLM保险到期提醒】:3大智能监控策略助你零遗漏规避断保风险

第一章:Open-AutoGLM 保险到期提醒在企业级自动化运维场景中,及时监控关键服务的证书或保险有效期至关重要。Open-AutoGLM 是一个基于大语言模型驱动的自动化任务调度框架,能够实现对保险、证书等周期性资源的状态监测与智能提醒。通过配置规…

作者头像 李华
网站建设 2026/3/30 0:23:54

【Java毕设源码分享】基于springboot+vue的的大学生家教兼职管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/3/31 3:11:46

Open-AutoGLM预约成功率提升300%:资深用户都在用的自动化工具解析

第一章:Open-AutoGLM预约成功率提升300%的背景与意义 在大模型应用快速发展的背景下,Open-AutoGLM作为一款面向自动化任务调度与资源分配的智能系统,其核心功能依赖于高并发场景下的资源预约机制。然而,在早期版本中,由…

作者头像 李华
网站建设 2026/3/22 22:12:28

20251127 - 韦东山Linux - 通用Makefile解析

韦东山Linux - 通用Makefile解析 # Makefile文件 CROSS_COMPILE AS $(CROSS_COMPILE)as LD $(CROSS_COMPILE)ld CC $(CROSS_COMPILE)gcc CPP $(CC) -E AR $(CROSS_COMPILE)ar NM $(CROSS_COMPILE)nmSTRIP $(CROSS_COMPILE)strip OBJCOPY $(CROSS_COMPILE)obj…

作者头像 李华