> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-zh/yu-yan-mo-xing/qwen35-omni.md).

# Qwen3.5-Omni（多模态）

阿里巴巴的 **Qwen3.5-Omni** 是一个统一的端到端多模态模型，于 2026 年 3 月 30 日在 Apache 2.0 许可下发布。它可以同时理解并推理文本、音频、图像和视频——并生成文本和语音作为输出。将其运行在租用的 Clore.ai GPU 上，你就能以远低于云 API 成本的价格获得一个生产级多模态助手。

***

## 什么是 Qwen3.5-Omni？

Qwen3.5-Omni 是一个 **端到端多模态模型** ，基于稀疏混合专家（Mixture-of-Experts）架构构建。HuggingFace 版本（`Qwen3.5-Omni-7B`）采用阿里巴巴的命名约定，其中“7B”指的是每次推理步骤的激活参数配置；完整检查点包含所有专家权重。正是这种稀疏性，使它能够使用 INT4 量化在单张 RTX 4090（24 GB）上部署——否则在全精度下，这个模型需要多得多的显存。

### 主要能力

| 模态 | 输入           | 输出      |
| -- | ------------ | ------- |
| 文本 | ✅            | ✅       |
| 音频 | ✅（转录、理解）     | ✅（语音合成） |
| 镜像 | ✅（理解、OCR、分析） | —       |
| 视频 | ✅（场景理解、问答）   | —       |

与之前将独立编码器拼接在一起的多模态模型不同，Qwen3.5-Omni 以单次统一前向传递处理所有模态。它可以在一次推理调用中同时转写口语音频、分析视频帧，并以文本和合成语音进行回应。

### 架构亮点

* **门控 Delta 网络（GDN）** 用于高效序列建模，在长音频/视频流上具有次二次复杂度
* **稀疏混合专家** ——总参数 30B，每个 token 约激活 3B；质量可与 7–14B 稠密模型相媲美，但在大规模场景下更快
* **统一分词器** 覆盖文本、音频帧、图像块和视频帧序列
* **内置 TTS 解码器** ——原生生成语音波形，而不是通过独立流水线

发布于 2026 年 3 月 30 日 · 许可： **Apache 2.0** · [HuggingFace](https://huggingface.co/Qwen/Qwen3.5-Omni-7B)

***

## Qwen3.5-Omni 与相关模型对比

| 模型               | 参数             | 输入模态        | 语音输出 | 许可证        | 显存（INT4） |
| ---------------- | -------------- | ----------- | ---- | ---------- | -------- |
| **Qwen3.5-Omni** | 30B MoE（激活 3B） | 文本、音频、图像、视频 | ✅    | Apache 2.0 | \~15 GB  |
| Qwen3.5（仅文本）     | 32B            | 仅文本         | ❌    | Apache 2.0 | \~18 GB  |
| Qwen2.5-VL       | 72B            | 文本、图像、视频    | ❌    | Apache 2.0 | 约 40 GB  |
| Gemini 2.0 Flash | —              | 文本、音频、图像、视频 | ✅    | 专有         | 仅 API    |

与 **Qwen3.5（仅文本）**&#x76F8;比，Omni 版本增加了音频/视频理解和语音生成，同时实际上只需要 *更少* 的 INT4 显存，得益于 MoE 架构。与 **Qwen2.5-VL**相比，它增加了音频输入/输出，但所需硬件要少得多。

***

## 硬件要求

| 精度          | 所需显存     | 推荐 GPU                  |
| ----------- | -------- | ----------------------- |
| BF16（全精度）   | 64–80 GB | A100 80GB，H100          |
| BF16 多 GPU  | 2× 40 GB | 2× A40 / 2× A6000       |
| INT4 / GGUF | \~15 GB  | RTX 4090（24 GB）✅        |
| INT8        | \~30 GB  | A6000 48GB，RTX 6000 Ada |

对于大多数自托管场景， **RTX 4090 上的 INT4** 是最佳选择：在 Clore.ai 上以每小时 $0.14–0.42 的价格获得完整多模态能力。

***

## 在 Clore.ai 上快速开始

### 步骤 1：租用 GPU

前往 [clore.ai/marketplace](https://clore.ai/marketplace) 并租用：

* **INT4 / 单 GPU**：RTX 4090（24 GB）——起价 **$0.14–0.42/小时**
* **BF16 / 全精度**：A100 80GB 或 H100——起价 **约 $1.04/小时**

使用 **vllm/vllm-openai** Docker 镜像或标准 CUDA 镜像。

### 步骤 2：使用 vLLM 部署（推荐）

Qwen3.5-Omni 需要 vLLM v0.17.0+ 支持。

```bash
# 拉取并运行 vLLM 兼容 OpenAI 的服务器
docker run --gpus all --rm -it \\
  -p 8000:8000 \
  -v /workspace/models:/root/.cache/huggingface \\
  vllm/vllm-openai:v0.17.0 \\
  --model Qwen/Qwen3.5-Omni-7B \\
  --quantization awq_marlin \\
  --max-model-len 32768 \\
  --trust-remote-code
```

> **注意：** 该 `awq_marlin` 参数需要一个预量化的 AWQ 模型。请下载 `Qwen/Qwen3.5-Omni-7B-AWQ` ，而不是基础模型，或者省略 `--quantization` 以在 A100/H100 上使用 BF16。

一旦服务器运行起来，它会在 `http://localhost:8000/v1`.

### 步骤 3：使用 Ollama 部署（更简单的设置）

如果你想快速试验而不想处理 Docker 的复杂性：

```bash
# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 拉取 Qwen3.5-Omni（已量化）
# 注意：请查看 https://ollama.com/library 以确认可用性——标签可能会变化
ollama pull qwen3.5-omni

# 启动服务器
ollama serve
```

Ollama 会自动处理量化，并提供一个简单的 `/api/generate` 端点。

***

## API 调用示例

### 多模态输入：图像 + 文本

```python
import openai
import base64

client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="none")

# 加载一张图像
with open("screenshot.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/png;base64,{image_b64}"}
                },
                {
                    "type": "text",
                    "text": "描述你在这张图片中看到的内容，并识别其中的任何文字。"
                }
            ]
        }
    ],
    max_tokens=512
)
print(response.choices[0].message.content)
```

### 音频转录 + 理解

```python
import openai
import base64

client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="none")

with open("meeting_recording.wav", "rb") as f:
    audio_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "audio_url",
                    "audio_url": {"url": f"data:audio/wav;base64,{audio_b64}"}
                },
                {
                    "type": "text",
                    "text": "请转录这段音频并总结要点。"
                }
            ]
        }
    ]
)
print(response.choices[0].message.content)
```

### 视频理解

```python
# 视频帧可以作为一系列图像 URL 传入
# 或者在使用 Qwen3.5-Omni 原生 API 时作为 video_url 传入
response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "video_url",
                    "video_url": {"url": "https://example.com/product-demo.mp4"}
                },
                {
                    "type": "text",
                    "text": "这个视频里发生了什么？请描述每个场景。"
                }
            ]
        }
    ]
)
```

***

## BF16 的多 GPU 配置

如果你在 Clore.ai 上租用多 GPU 机器（例如 2× A40 或 2× A6000），请使用张量并行：

```bash
docker run --gpus all --rm -it \\
  -p 8000:8000 \
  -v /workspace/models:/root/.cache/huggingface \\
  vllm/vllm-openai:v0.17.0 \\
  --model Qwen/Qwen3.5-Omni-7B \\
  --tensor-parallel-size 2 \\
  --dtype bfloat16 \\
  --max-model-len 65536 \\
  --trust-remote-code
```

这会将模型分布到两块 GPU 上，以获得最大吞吐量和质量。

***

## 应用场景

### 1. 客户服务自动化

Qwen3.5-Omni 可以聆听客户语音通话，实时转录，理解问题，并同时生成文本摘要和语音回复。全部由一个模型完成，无需拼接独立的 ASR + LLM + TTS 流水线。

### 2. 视频内容理解

上传产品演示视频、讲座录音或监控录像，并获取详细的文本描述、带时间戳的摘要或问答。该模型可处理最多 32K token 的上下文，覆盖多分钟视频。

### 3. 实时语音代理

构建能理解跨音频轮次上下文的对话式语音助手。Qwen3.5-Omni 保持对话记忆，并可将文本推理与语音生成交错进行——非常适合电话客服机器人。

### 4. 文档 + 截图分析

OCR、版面理解、图表解读——输入仪表盘截图、PDF 或手写笔记，即可获得结构化文本输出或详细分析。

### 5. 多语言音频处理

该模型同时支持 29 种语言的文本和语音，因此适用于国际客户支持、多语言转录流水线以及跨语言视频分析。

***

## Clore.ai 成本估算

| GPU          | 精度        | 显存      | 每日价格    | 最适合         |
| ------------ | --------- | ------- | ------- | ----------- |
| RTX 4090     | INT4      | 24 GB   | \~$0.50 | 开发、测试、小规模生产 |
| RTX 6000 Ada | INT8      | 48 GB   | \~$1.20 | 更好的质量，中等吞吐量 |
| A100 80GB    | BF16      | 80 GB   | \~$2.50 | 完整质量，高吞吐量   |
| 2× A40       | BF16 张量并行 | 2×48 GB | \~$2.00 | 完整质量，成本高效   |

在 RTX 4090 上以 INT4 运行 Qwen3.5-Omni，每天的成本甚至低于一次 OpenAI API 调用就能完成的大规模复杂多模态任务。

***

## 提示与故障排查

**RTX 4090 上出现“CUDA out of memory”**

* 在 `--gpu-memory-utilization 0.90` 添加到 vLLM 命令中
* 减少 `--max-model-len` 如果处理的是短输入，则设为 16384

**音频输入无法工作**

* 确保 vLLM 版本正好是 `v0.17.0` 或更新版本——较早版本不支持 Omni 音频
* WAV 文件为获得最佳效果必须是 16kHz 单声道；请使用 `ffmpeg -ar 16000 -ac 1` 进行转换

**首次推理较慢**

* vLLM 在首次运行时会编译 CUDA 内核；预热需要 2–5 分钟。后续调用会很快。

**Ollama 无法识别视频输入**

* Ollama 目前仅支持图像+文本和音频；如需视频理解，请使用 vLLM 部署。

***

## 总结

Qwen3.5-Omni 将真正的端到端多模态 AI——文本、音频、图像和视频输入，文本和语音输出——带到一个可在消费级硬件上运行的开源模型中。在 INT4 下，它可装入 24 GB 的 RTX 4090，并且在 Clore.ai 上每天花费不到一美元。借助 Apache 2.0 许可以及通过 vLLM 提供的 OpenAI 兼容 API，它可以直接接入现有流水线。

**→** [**在 Clore.ai 上租用 RTX 4090**](https://clore.ai/marketplace) 并立即部署 Qwen3.5-Omni。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-zh/yu-yan-mo-xing/qwen35-omni.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
