@julien_c:Cloudflare 又发布了新模型 Clef!

X AI KOLs Timeline 模型

摘要

Cloudflare 发布了新的多模态模型 Clef-Omni,这是一个基于 Qwen3-Omni-30B-A3B-Instruct 后训练的 30B-A3B 混合专家多模态模型,可将状态和结构化问题模式一次性转换为概率决策,无需自由文本生成。

而且……Cloudflare 又发布了新模型 Clef! https://t.co/gvb422RlpU
查看原文
查看缓存全文

缓存时间: 2026/10/10 06:43

Cloudflare/clef-omni · Hugging Face

来源:https://huggingface.co/Cloudflare/clef-omni

  • **公告:**Clef-omni 模型发布于 Cloudflare 博客 (https://blog.cloudflare.com/clef-faster-cheaper-multimodal)

Clef-Omni 是一个 30B-A3B 混合专家多模态模型,能够将状态和类型化问题模式转化为决策。它以文本、JSON、图像、音频或视频的形式读取状态,并在单次前向传播中为每个问题的每个允许选项返回一个概率。不存在自由文本生成,也无需输出解析。

Clef-Omni API 与 Jev 和 SystemOne 完全兼容。

Clef-Omni 基于Qwen/Qwen3-Omni-30B-A3B-Instruct (https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct)进行后训练。关于密集图像和视频变体,请参阅Clef (https://huggingface.co/Cloudflare/clef)和Clef-Flash (https://huggingface.co/Cloudflare/clef-flash)。

模型

  • **骨干网络:**Qwen/Qwen3-Omni-30B-A3B-Instruct思考器,附带其视觉和音频编码器,以标准分片 safetensors 存储。基础模型的语音输出权重(talker 和 code2wav)原封不动地包含在内但不会使用;load_release_model不会加载它们。
  • **联合模式头:**一个小型 transformer 头,读取骨干网络的最终隐藏状态,将状态中的证据路由到每个问题,并联合评分所有问题的所有选项。
  • **输出:**每个问题的每个允许选项对应一个 logit。对每个问题应用 softmax 即可得到概率。

文件

文件用途
model-*.safetensors、model.safetensors.index.json、config.json、generation_config.json骨干网络,包括视觉和音频编码器
joint_head.safetensors、joint_head_config.json联合模式头
joint_schema_model.py记录编码、媒体解码、批处理、模型、load_release_model 和 systemone
tokenizer.json、tokenizer_config.json、chat_template.jinja、processor_config.json分词器和图像/音频/视频处理器
LICENSEApache-2.0 许可证

使用方法

在单张 H200 上使用 torch 2.11 和 transformers 5.10.2 测试通过;骨干网络在 bfloat16 下大约需要 64 GB GPU 显存。图像输入还需要 pillow,音频和视频文件需要 av。

import sys

import torch
from huggingface_hub import snapshot_download

path = snapshot_download("Cloudflare/clef-omni")
sys.path.insert(0, path)
from joint_schema_model import collate_records, encode_record, load_release_model

model, processor = load_release_model(path, device="cuda")

record = {
    "state": {"invoice": {"vendor": "Acme", "total": 1250.0, "currency": "USD", "status": "overdue"}},
    "questions": {
        "status": {
            "type": "choice",
            "instructions": "What is the invoice status?",
            "criteria": {"paid": "Invoice is paid.", "overdue": "Invoice is past due.", "draft": "Not sent."},
        },
        "large": {"type": "noul", "instructions": "Is the total above 1000 USD?"},
    },
}

encoded = encode_record(processor.tokenizer, record, processor=processor)
batch = collate_records([encoded], processor.tokenizer.pad_token_id, torch.device("cuda"))
with torch.inference_mode():
    logits = model(batch)[0]

for question, question_logits in zip(encoded.questions, logits):
    probabilities = question_logits.float().softmax(-1).tolist()
    print(question.question_id, dict(zip(question.option_ids, probabilities)))

Jev / SystemOne API

systemone 接受 Jev/SystemOne POST /v1/systemone 请求体并返回相同的响应体:model、按问题 ID 索引的 answers 以及 usage。choice 回答包含 choice、confidence 和 probabilities;score 回答包含预期的 score、confidence、legend 和 probabilities;noul 回答包含为真的概率。instructions 是可选的,请求中还可以添加 images、audio 和 videos(base64 数据 URL)。

from joint_schema_model import systemone

response = systemone(model, processor, {
    "model": "clef-omni",
    "state": "Our checkout started returning errors and orders are blocked.",
    "questions": {
        "department": {
            "type": "choice",
            "instructions": "Which team should handle the message?",
            "criteria": {"billing": "Payments or invoices", "technical": "Bugs or outages"},
        },
        "urgency": {"type": "score", "criteria": ["Can wait", "This week", "Today"]},
        "outage": {"type": "noul", "instructions": "Is a service down?"},
    },
})
print(response["answers"])

图像、音频和视频

在记录中添加 images、audio 或 videos,并将处理器传给 encode_record。每个条目可以是文件路径、URL、base64 数据 URL 或原始字节。图像也可以是 PIL 图像,音频可以是 16 kHz 单声道采样数组,视频可以是按每秒 2 帧采样的 RGB 帧数组。视频文件按每秒 2 帧采样,当记录中的每个视频都有音轨时,其音轨会与帧一起被处理。可选的处理器参数放在 media_kwargs 中。

record = {
    "state": {"task": "Review the attached call recording and dashcam clip."},
    "audio": ["call.wav"],
    "videos": ["dashcam.mp4"],
    "questions": {
        "glass": {"type": "noul", "instructions": "Is glass breaking in the audio clip?"},
        "collision": {"type": "noul", "instructions": "Does the video show a collision?"},
    },
}
encoded = encode_record(processor.tokenizer, record, processor=processor)

纯文本和多模态记录可以在同一批次中混合使用。

SGLang

使用 SGLang(即将推出!)

输入格式

字段描述
state任意 JSON 值或字符串,描述当前情境
images可选的图像列表
audio可选的音频片段列表
videos可选的视频列表
media_kwargs可选的处理器关键字参数
questions问题 ID 到问题的映射

每个问题包含:

  • type:noul(真/假)、choice(命名选项)或 score(有序选项)
  • instructions:要判断的内容;可选,省略时使用问题 ID 作为说明
  • criteria:对于 choice,是选项 ID 到描述的映射;对于 score,是从 0 开始索引的选项描述列表;对于 noul,是可选的 true 和 false 描述

encode_record 接受 max_length(默认 64,000 个 token)和 max_state_tokens 参数来限制输入。

结果

Decision Index

来自我们内部运行的Decision Index (https://clef-evals.workers-ai-mle.workers.dev/) 0.2.1 套件的各基准测试结果。分数为百分比;ForecastBench 是 Brier 分数,越低越好。每行的最佳值以粗体标出。

基准测试Clef-OmniClefClef-flashJev
BFCL(完全匹配准确率)98.298.598.895.8
ToolRet(nDCG@10)66.669.266.465.3
API-Bank(准确率)92.791.993.188.2
BANKING77(macro-F1)94.894.290.979.7
CLINC150+OOS(macro-F1)97.797.466.889.3
RouterBench(选择质量)79.979.779.979.9
家用电器模拟器(完全匹配准确率)69.383.097.752.3
SGD/SGD-X(macro-F1)39.243.834.243.0
ContractNLI(macro-F1)80.381.484.371.7
ANLI(macro-F1)65.569.859.174.8
BPoMP(准确率)96.896.995.490.6
Humicroedit(准确率)70.166.775.161.9
POP909-CL(准确率)2.615.81.618.1
cfcolor(准确率)62.966.065.864.7
MMLU(准确率)92.790.391.891.7
GPQA Diamond(准确率)47.448.051.078.3
ARC-Easy(准确率)99.899.099.599.3
ARC-Challenge(准确率)97.897.798.397.8
WinoGrande(准确率)96.793.597.592.0
HellaSwag(准确率)99.198.298.694.5
GSM8K(准确率)79.080.867.379.9
ChessBench(准确率)22.124.723.017.2
MuSR(准确率)83.883.586.066.1
SATA-Bench(完全匹配准确率)31.933.836.726.4
BRIGHT(nDCG@10)42.045.939.347.5
Amazon ESCI(macro-F1)57.857.557.455.2
ACOS(每条评论 F1)28.433.325.929.5
FinEntity(macro-F1)96.396.297.187.0
VAST(macro-F1)50.959.549.664.6
NLI4CT(macro-F1)76.882.978.684.1
CRUXEval(准确率)88.886.786.173.0
CLadder(准确率)97.294.097.772.6
ForecastBench(Brier,越低越好)11.713.910.617.4
Habermas Machine(准确率)67.868.771.845.9
PhishNChips(准确率)73.279.675.062.5
MMLU-Pro(准确率)70.665.965.382.7
BBH(准确率)69.073.768.992.9
RAGTruth(幻觉 F1)42.079.435.676.5
HoVer(准确率)64.265.261.272.9
When2Call 选择题(准确率)63.372.465.681.0
New Yorker(准确率)64.269.566.170.1

工作流评估

来自Typesafe Evals (https://evals.typesafe.ai/) 的四个端到端业务工作流的决策准确率,以共识参考标签进行评分。所有模型在同一数据集修订版和案例群体上评分。

工作流指标Clef-OmniClefClef-flashJev
发票处理精确动作60.264.757.161.8
发票处理主要动作82.086.273.383.1
客户服务精确动作71.676.377.076.0
安全事件精确动作61.762.961.761.7
Agent 跟踪可观测性主要动作65.868.569.871.6

许可证

基于 Apache-2.0 许可证发布,基础模型为Qwen/Qwen3-Omni-30B-A3B-Instruct (https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct)。

相似文章

Cloudflare/clef-flash

Hugging Face Models Trending

Cloudflare 发布了 Clef-Flash,这是一个基于 Qwen3.5-9B 构建的 9B 多模态决策模型,能够在单次前向传播中将一个状态和一组带类型问题的 schema 转换为各选项的概率,无需自由文本生成或输出解析。

Clef:我们的开源决策模型

Hacker News Top

Cloudflare 发布了两个开源决策模型 Clef 和 Clef-flash,托管于 Workers AI,采用 Apache 2.0 许可并在 Hugging Face 上开放下载,主打低成本、快速且一致的结构化输出,目前在 Jev Decision Index 榜单领先;同时推出新的强化学习微调平台,支持客户针对自身用例对 Clef 进行微调。

Clef:Cloudflare 发布的开放权重决策模型

Reddit r/LocalLLaMA

Cloudflare 发布了 Clef,这是一个开放权重的 27B 多模态决策模型。它以一个状态和一组带类型的结构化问题作为输入,通过一次前向传播直接输出每个选项的概率,无需自由文本生成,也无需解析输出。该模型在 Qwen3.8-27B 基础上进行后训练,已发布于 Hugging Face,并提供更小的 Clef-Flash 变体,同时兼容 Jev/SystemOne API。