Mindket

UltraBERT-150M-clairic-extraction

新上架第 1 版 · 更新于

概览

按你用简短指令描述的字段,从文本里抽取答案,比如发票号或公司名,并返回匹配的片段。一个 150M 模型同时覆盖抽取式问答和实体识别。

UltraBERT-150M-clairic-extraction 是一款工具包,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。

速览

你需要
  • Python 和 pip
  • PyTorch 和 transformers 库
  • 允许运行仓库自带的代码,因为模型卡说 UltraBERT 架构需要 trust_remote_code=True
  • 可选:用于 ONNX 文件的 onnxruntime 和 huggingface_hub
用在
  • 装有 transformers 库的 Python 脚本
  • 浏览器,通过模型卡的 int8 ONNX 文件和 onnxruntime-web,就像它的演示空间那样
  • 装有 onnxruntime 的 Python,使用同一个 ONNX 文件
  • 装有 Python 的 Windows、macOS 或 Linux,用来下载文件
先运行
pip install -U huggingface_hub
hf download tasksource/UltraBERT-150M-clairic-extraction

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

UltraBERT-150M-clairic-extraction 是建立在 UltraBERT-150M 之上的 150M 参数抽取模型。你给它一段文本和一组字段,每个字段带一条简短指令,它就返回回答每个字段的片段。一个字段可能返回一个答案、一个列表,或者什么都没有。

字段可以是问题,也可以是实体类型,所以一个模型同时覆盖抽取式问答和命名实体识别。它在指令的引导下,把文本里的答案词标成 B、I 或 O,可处理最长 2048 个 token 的输入。

适合谁

需要从英文文本里取出结构化数据、比如发票或笔记,又不想运行生成自由文本的语言模型的开发者。想试试指令引导的片段标注的 NLP 研究人员也适合。

行业谁在用怎么用例子
财务与行政后台团队从文本里取出发票号和总额询问应付总金额
软件开发者用一个模型取代单独的问答和实体模型询问文本里提到的每家公司
研究NLP 研究人员研究指令引导的片段标注用你自己标注的文本来测试它

需要生成摘要或改写文本的人可以略过它,因为它只返回取自原文的片段。

用在哪里

  • 装有 transformers 库的 Python 脚本
  • 浏览器,通过模型卡的 int8 ONNX 文件和 onnxruntime-web,就像它的演示空间那样
  • 装有 onnxruntime 的 Python,使用同一个 ONNX 文件
  • 装有 Python 的 Windows、macOS 或 Linux,用来下载文件
使用场景谁用得到什么
从文档里抽取字段开发者每个字段对应的匹配片段列表
针对文本的问答分析人员回答每个问题的片段,或者一个空列表
实体列举NLP 团队你所描述类型的每个实体,按原文写法

如何设置

你需要装有 PyTorch 和 transformers 的 Python。

  • Python 和 pip
  • PyTorch 和 transformers 库
  • 允许运行仓库自带的代码,因为模型卡说 UltraBERT 架构需要 trust_remote_code=True
  • 可选:用于 ONNX 文件的 onnxruntime 和 huggingface_hub
  1. 安装 huggingface_hub 包。
  2. 用 hf 命令下载模型文件。
  3. 用 transformers 加载分词器和模型。
  4. 用你的文本和字段调用模型卡里的 extract 函数。
pip install -U huggingface_hub
hf download tasksource/UltraBERT-150M-clairic-extraction

如何使用

你传入一段文本和一个字典,字典把每个字段名映射到一条指令。指令可以是问题,也可以是实体类型。模型卡里的辅助函数会把模型的标签变成片段。

import torch
from transformers import AutoModelForTokenClassification, AutoTokenizer

name = "tasksource/UltraBERT-150M-clairic-extraction"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForTokenClassification.from_pretrained(name, trust_remote_code=True).eval()

def extract(text, fields):
    """fields: {name: instruction}. Returns {name: [extracted spans]}, [] when the text has no answer."""
    enc = tok(list(fields.values()), [text] * len(fields), truncation="only_second", max_length=2048,
              padding=True, return_offsets_mapping=True, return_tensors="pt")
    offsets = enc.pop("offset_mapping")
    with torch.no_grad():
        tags = model(**enc).logits.argmax(-1).tolist()  # 0 = O, 1 = B, 2 = I
    out = {}
    for f, field in enumerate(fields):
        spans, start, seq = [], None, enc.sequence_ids(f) + [None]
        for i, tag in enumerate(tags[f] + [0]):
            if start is not None and (seq[i] != 1 or tag != 2):
                spans.append(text[offsets[f][start][0]:offsets[f][i - 1][1]].strip().rstrip(",;:"))
                start = None
            if seq[i] == 1 and tag in (1, 2) and start is None:
                start = i
        out[field] = spans
    return out

text = "Invoice INV-2291 from Acme Corp to Globex, issued 3 March 2025. Total due: $1,240.50. Contact: billing@acme.com."
print(extract(text, {
    "invoice_number": "The invoice number.",
    "companies": "Every company mentioned in the text, as written.",
    "total": "The total amount due.",
    "phone": "The contact phone number.",
}))
# {'invoice_number': ['INV-2291'], 'companies': ['Acme Corp', 'Globex'], 'total': ['$1,240.50'], 'phone': []}

模型卡还提供了一个 int8 ONNX 导出文件,大小 204 MB,而 fp32 是 604 MB。它接收 input_ids 和 attention_mask,返回 O、B、I 三类的 logits。构造它的输入时,依次放 endoftext 标记、指令、sep 标记,再放文本。

工具作用
extract模型卡里的辅助函数,把模型的标签变成每个字段的片段
AutoModelForTokenClassification加载抽取模型,要把 trust_remote_code 设为 True
onnx/model_quantized.onnx供 Python 或浏览器里的 onnxruntime 使用的 int8 导出文件

示例

你传入一句关于发票的话,询问发票号、提到的每家公司、应付总额和一个电话号码。它返回每个字段找到的片段。文本里没有号码时,电话字段会返回空列表。

新手与专家

可以把它看作会听指令的荧光笔。你告诉它要找什么,它就在文本里标出匹配的词。第一次尝试可以用上面的示例脚本,配上你自己的短文本。

从底层看,它是 UltraBERT-150M 在类型化决策数据集的抽取部分上训练出来的,其中的问答和片段标注数据被改写成了指令、文本和片段三元组。ONNX 文件把线性层权重量化到每 32 个一块 8 位,普通的动态 int8 会让模型失效,所以请用模型卡里的文件。

  1. 给出文本和带指令的字段
  2. 把每条指令和文本配成一对
  3. 模型把答案词标成 B、I 或 O
  4. 从文本 token 上读出片段

注意事项

模型卡在每个来源 20 行的小型评测里,把 ONNX 文件和 PyTorch 做了比较。两者的标签在 99.6% 的 token 上一致。

模型卡评测里的 F1
问答 F1,ONNX int80.730
问答 F1,PyTorch fp160.728
列表 F1,ONNX int80.701
列表 F1,PyTorch fp160.700
  • 命名:模型卡说它与 Cloudflare 没有关联,Clairic-style 只是指请求格式
  • 规模:151M 参数,Safetensors 格式,ONNX 文件 204 MB
  • 语言:列出的只有英语
  • License: Apache 2.0
  • Cost to run: 没有提到 API 密钥或付费服务
  • Data it reaches: 你传入的文本,它留在你的机器上,以及你从 Hugging Face 下载的模型文件
  • Not for: 生成新文本,因为它只返回输入里的片段,也不适合超过 2048 个 token 的输入

README 和文件

README

UltraBERT-150M-clairic-extraction

按你用简短指令描述的字段,从文本里抽取答案,比如发票号或公司名,并返回匹配的片段。一个 150M 模型同时覆盖抽取式问答和实体识别。

由 tasksource 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。

简介

它是什么:UltraBERT-150M-clairic-extraction 是建立在 UltraBERT-150M 之上的 150M 参数抽取模型。你给它一段文本和一组字段,每个字段带一条简短指令,它就返回回答每个字段的片段。一个字段可能返回一个答案、一个列表,或者什么都没有。

字段可以是问题,也可以是实体类型,所以一个模型同时覆盖抽取式问答和命名实体识别。它在指令的引导下,把文本里的答案词标成 B、I 或 O,可处理最长 2048 个 token 的输入。

适合谁:需要从英文文本里取出结构化数据、比如发票或笔记,又不想运行生成自由文本的语言模型的开发者。想试试指令引导的片段标注的 NLP 研究人员也适合。

行业 | 谁在用 | 怎么用 | 例子
财务与行政 | 后台团队 | 从文本里取出发票号和总额 | 询问应付总金额
软件 | 开发者 | 用一个模型取代单独的问答和实体模型 | 询问文本里提到的每家公司
研究 | NLP 研究人员 | 研究指令引导的片段标注 | 用你自己标注的文本来测试它

需要生成摘要或改写文本的人可以略过它,因为它只返回取自原文的片段。

用在哪里:

  • 装有 transformers 库的 Python 脚本
  • 浏览器,通过模型卡的 int8 ONNX 文件和 onnxruntime-web,就像它的演示空间那样
  • 装有 onnxruntime 的 Python,使用同一个 ONNX 文件
  • 装有 Python 的 Windows、macOS 或 Linux,用来下载文件
使用场景 | 谁用 | 得到什么
从文档里抽取字段 | 开发者 | 每个字段对应的匹配片段列表
针对文本的问答 | 分析人员 | 回答每个问题的片段,或者一个空列表
实体列举 | NLP 团队 | 你所描述类型的每个实体,按原文写法

如何设置:你需要装有 PyTorch 和 transformers 的 Python。

  • Python 和 pip
  • PyTorch 和 transformers 库
  • 允许运行仓库自带的代码,因为模型卡说 UltraBERT 架构需要 trust_remote_code=True
  • 可选:用于 ONNX 文件的 onnxruntime 和 huggingface_hub
  1. 安装 huggingface_hub 包。
  2. 用 hf 命令下载模型文件。
  3. 用 transformers 加载分词器和模型。
  4. 用你的文本和字段调用模型卡里的 extract 函数。
pip install -U huggingface_hub
hf download tasksource/UltraBERT-150M-clairic-extraction

如何使用:你传入一段文本和一个字典,字典把每个字段名映射到一条指令。指令可以是问题,也可以是实体类型。模型卡里的辅助函数会把模型的标签变成片段。

import torch
from transformers import AutoModelForTokenClassification, AutoTokenizer

name = "tasksource/UltraBERT-150M-clairic-extraction"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForTokenClassification.from_pretrained(name, trust_remote_code=True).eval()

def extract(text, fields):
    """fields: {name: instruction}. Returns {name: [extracted spans]}, [] when the text has no answer."""
    enc = tok(list(fields.values()), [text] * len(fields), truncation="only_second", max_length=2048,
              padding=True, return_offsets_mapping=True, return_tensors="pt")
    offsets = enc.pop("offset_mapping")
    with torch.no_grad():
        tags = model(**enc).logits.argmax(-1).tolist()  # 0 = O, 1 = B, 2 = I
    out = {}
    for f, field in enumerate(fields):
        spans, start, seq = [], None, enc.sequence_ids(f) + [None]
        for i, tag in enumerate(tags[f] + [0]):
            if start is not None and (seq[i] != 1 or tag != 2):
                spans.append(text[offsets[f][start][0]:offsets[f][i - 1][1]].strip().rstrip(",;:"))
                start = None
            if seq[i] == 1 and tag in (1, 2) and start is None:
                start = i
        out[field] = spans
    return out

text = "Invoice INV-2291 from Acme Corp to Globex, issued 3 March 2025. Total due: $1,240.50. Contact: billing@acme.com."
print(extract(text, {
    "invoice_number": "The invoice number.",
    "companies": "Every company mentioned in the text, as written.",
    "total": "The total amount due.",
    "phone": "The contact phone number.",
}))
# {'invoice_number': ['INV-2291'], 'companies': ['Acme Corp', 'Globex'], 'total': ['$1,240.50'], 'phone': []}

模型卡还提供了一个 int8 ONNX 导出文件,大小 204 MB,而 fp32 是 604 MB。它接收 input_ids 和 attention_mask,返回 O、B、I 三类的 logits。构造它的输入时,依次放 endoftext 标记、指令、sep 标记,再放文本。

工具 | 作用
extract | 模型卡里的辅助函数,把模型的标签变成每个字段的片段
AutoModelForTokenClassification | 加载抽取模型,要把 trust_remote_code 设为 True
onnx/model_quantized.onnx | 供 Python 或浏览器里的 onnxruntime 使用的 int8 导出文件

示例:你传入一句关于发票的话,询问发票号、提到的每家公司、应付总额和一个电话号码。它返回每个字段找到的片段。文本里没有号码时,电话字段会返回空列表。

新手与专家:可以把它看作会听指令的荧光笔。你告诉它要找什么,它就在文本里标出匹配的词。第一次尝试可以用上面的示例脚本,配上你自己的短文本。

从底层看,它是 UltraBERT-150M 在类型化决策数据集的抽取部分上训练出来的,其中的问答和片段标注数据被改写成了指令、文本和片段三元组。ONNX 文件把线性层权重量化到每 32 个一块 8 位,普通的动态 int8 会让模型失效,所以请用模型卡里的文件。

给出文本和带指令的字段
把每条指令和文本配成一对
模型把答案词标成 B、I 或 O
从文本 token 上读出片段

注意事项:模型卡在每个来源 20 行的小型评测里,把 ONNX 文件和 PyTorch 做了比较。两者的标签在 99.6% 的 token 上一致。

Title: 模型卡评测里的 F1
问答 F1,ONNX int8: 0.730
问答 F1,PyTorch fp16: 0.728
列表 F1,ONNX int8: 0.701
列表 F1,PyTorch fp16: 0.700
  • 命名:模型卡说它与 Cloudflare 没有关联,Clairic-style 只是指请求格式
  • 规模:151M 参数,Safetensors 格式,ONNX 文件 204 MB
  • 语言:列出的只有英语
  • License: Apache 2.0
  • Cost to run: 没有提到 API 密钥或付费服务
  • Data it reaches: 你传入的文本,它留在你的机器上,以及你从 Hugging Face 下载的模型文件
  • Not for: 生成新文本,因为它只返回输入里的片段,也不适合超过 2048 个 token 的输入

Hugging Face 上的数据(2026年11月13日)

  • 任务:token classification
  • 框架:transformers
  • 参数量:151M
  • Weights: about 604 MB in F32; about 76 MB at 4-bit (estimate)
  • Formats: Safetensors
  • 最近 30 天下载:138
  • 点赞:5
  • 许可证:apache-2.0
  • 语言:en
  • 基于:dmis-lab/UltraBERT-150M
  • 标签:transformers, onnx, safetensors, ultrabert, token-classification, information-extraction, extractive-qa, span-extraction, tasksource

链接

  • 模型:https://huggingface.co/tasksource/UltraBERT-150M-clairic-extraction
  • 文件:https://huggingface.co/tasksource/UltraBERT-150M-clairic-extraction/tree/main

获取模型

用 Hugging Face 的命令行下载它的文件:

pip install -U huggingface_hub
hf download tasksource/UltraBERT-150M-clairic-extraction

然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。

文件
README.md  8 KB

1 个文件,共 8 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-13

同类产品对比

同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。

产品最近 30 天下载点赞参数量许可证最近更新
UltraBERT-150M-clairic-extraction 本页1385151Mapache-2.0
bert-base-NER共有 token-classification · onnx · transformers1,038,928750108Mmit
OpenAI Privacy Filter共有 token-classification · onnx · transformers102,9111,8311.4Bapache-2.0
cbx-indic-pii-extractor-58M共有 token-classification · onnx · safetensors96457.6Mapache-2.0
cbx-indic-pii-extractor-17M共有 token-classification · onnx · safetensors76316.7Mapache-2.0
AstrLink Guard共有 token-classification · onnx40829—apache-2.0
数据为 Mindket 在 2026-11-13 读取的数值。

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

开发类的相似商品

查看开发类的全部商品

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k

open-code-review

alibaba · 工具包

用 AI 智能体审查 Git 改动:它会读取文件、搜索代码库,再写出对应到具体行的审查意见。适合想在命令行里自动做代码审查的开发者。

新上架50.7k