Huashu Design
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
从图片中读取乌克兰语手写文档,找出每个文字区域、标注类型,并以结构化 JSON 返回转写内容。这是用于手写数字化的开放 4B 视觉语言模型。
Rukopys-OCR-4B 是一款工具包,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。
pip install -U huggingface_hub hf download ebinan92/Rukopys-OCR-4B
Rukopys-OCR-4B 用来读取乌克兰语手写文档的图片。它会找出页面上的每个区域,标注类型,并把每个区域转写出的文字以结构化 JSON 返回。ebinan92 为一场手写识别比赛调整了 Qwen3.5-4B 的全部权重来训练它,模型卡称它是获得第三名的参赛方案的一部分。
适合需要把乌克兰语手写内容变成数据的人,例如档案管理员、研究人员和搭建文档流程的开发者。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 档案 | 数字化团队 | 把手写页面变成可搜索的文字 | 转写一页扫描的笔记本 |
| 教育 | 学校和研究人员 | 数字化学生的手写作业 | 读取一页学校笔记本 |
| 软件 | 文档流程开发者 | 把区域框和文字交给其他工具 | 把 JSON 输出载入数据库 |
| 研究 | OCR 研究人员 | 研究西里尔文字的手写识别 | 对比公式和表格上的结果 |
使用其他语言或只处理印刷文字的人可以跳过它,因为它是针对乌克兰语手写调校的。
它通过 Transformers 或 vLLM 在 Python 里运行,模型卡为两者各给了一个脚本。
| 用例 | 谁用 | 得到什么 |
|---|---|---|
| 手写转写 | 档案管理员 | 每个手写区域的文字 |
| 页面版面检测 | 开发者 | 归一化 0 到 1000 网格上的区域框 |
| 公式和表格 | 研究人员 | 用 LaTeX 写的公式文字,以及用竖线字符分隔的表格文字 |
你需要 Python、较新的 Transformers 和一张文档图片。
pip install -U huggingface_hub hf download ebinan92/Rukopys-OCR-4B
用模型卡里的 Transformers 脚本处理你的图片。提示词要原样保留,因为模型卡说训练时用的提示词不应更改。脚本会发送图片和提示词,不采样地生成最多 8192 个新 token,然后打印 JSON。
from PIL import Image
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
MODEL_ID = "ebinan92/Rukopys-OCR-4B"
PROMPT = (
"Detect every text region in this Ukrainian handwritten document and "
"return a JSON array of regions. Each region has bbox (x1 y1 x2 y2 in "
"0..1000 normalized image coordinates), type (handwritten | printed | "
"formula | table | annotation | image | graph), and text (transcription; "
"empty for image/graph; LaTeX for formula; pipe-separated for table)."
)
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype=torch.bfloat16, device_map="auto"
)
image = Image.open("document.jpg").convert("RGB")
messages = [{
"role": "user",
"content": [{"type": "image"}, {"type": "text", "text": PROMPT}],
}]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=8192, do_sample=False)
new_tokens = output_ids[:, inputs["input_ids"].shape[1]:]
print(processor.batch_decode(new_tokens, skip_special_tokens=True)[0])| 工具 | 作用 |
|---|---|
| AutoProcessor | 把图片和提示词变成模型输入 |
| AutoModelForMultimodalLM | 以 bfloat16 在可用设备上加载模型权重 |
| apply_chat_template | 生成关闭思考模式的聊天文本 |
| generate | 生成转写结果,最多 8192 个新 token |
模型卡还给了一个 vLLM 脚本,做同样的事,最大长度为 16384,每个提示一张图片。
| 区域类型 | 文字内容 |
|---|---|
| handwritten, printed, annotation | 转写出的文字 |
| formula | 用 LaTeX 写的公式 |
| table | 表格文字,单元格用竖线字符分隔 |
| image, graph | 空文本 |
你把一张乌克兰语手写页面的照片连同模型卡里的提示词一起交给它。它返回一个 JSON 列表,每个区域一项,每项有框、类型和文字,就像下面这个手写行的例子。
[
{
"bbox": [84, 107, 912, 168],
"type": "handwritten",
"text": "Приклад рукописного тексту"
}
]这是一个读手写字的模型。你给它看一页手写内容的图片,它会交还文字以及文字所在的位置。第一件可以试的小事,就是在一张清晰的照片上运行示例脚本,读一读它打印出的 JSON。
它只回答一条固定的提示词,并把每个区域放在 0 到 1000 的网格上。解码是贪心的,思考模式关闭,vLLM 示例则通过最小和最大像素数来限制图片大小。训练混合了 RUKOPYS 的金标和银标数据、外部的西里尔手写数据集和伪标签,其中一部分来自 Gemini。
它面向乌克兰语手写,精度降低后权重会更轻。
从图片中读取乌克兰语手写文档,找出每个文字区域、标注类型,并以结构化 JSON 返回转写内容。这是用于手写数字化的开放 4B 视觉语言模型。
由 ebinan92 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。
它是什么:Rukopys-OCR-4B 用来读取乌克兰语手写文档的图片。它会找出页面上的每个区域,标注类型,并把每个区域转写出的文字以结构化 JSON 返回。ebinan92 为一场手写识别比赛调整了 Qwen3.5-4B 的全部权重来训练它,模型卡称它是获得第三名的参赛方案的一部分。
适合谁:适合需要把乌克兰语手写内容变成数据的人,例如档案管理员、研究人员和搭建文档流程的开发者。
行业 | 谁在用 | 怎么用 | 例子
档案 | 数字化团队 | 把手写页面变成可搜索的文字 | 转写一页扫描的笔记本
教育 | 学校和研究人员 | 数字化学生的手写作业 | 读取一页学校笔记本
软件 | 文档流程开发者 | 把区域框和文字交给其他工具 | 把 JSON 输出载入数据库
研究 | OCR 研究人员 | 研究西里尔文字的手写识别 | 对比公式和表格上的结果
使用其他语言或只处理印刷文字的人可以跳过它,因为它是针对乌克兰语手写调校的。
用在哪里:它通过 Transformers 或 vLLM 在 Python 里运行,模型卡为两者各给了一个脚本。
用例 | 谁用 | 得到什么
手写转写 | 档案管理员 | 每个手写区域的文字
页面版面检测 | 开发者 | 归一化 0 到 1000 网格上的区域框
公式和表格 | 研究人员 | 用 LaTeX 写的公式文字,以及用竖线字符分隔的表格文字
如何设置:你需要 Python、较新的 Transformers 和一张文档图片。
pip install -U huggingface_hub
hf download ebinan92/Rukopys-OCR-4B
如何使用:用模型卡里的 Transformers 脚本处理你的图片。提示词要原样保留,因为模型卡说训练时用的提示词不应更改。脚本会发送图片和提示词,不采样地生成最多 8192 个新 token,然后打印 JSON。
from PIL import Image
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
MODEL_ID = "ebinan92/Rukopys-OCR-4B"
PROMPT = (
"Detect every text region in this Ukrainian handwritten document and "
"return a JSON array of regions. Each region has bbox (x1 y1 x2 y2 in "
"0..1000 normalized image coordinates), type (handwritten | printed | "
"formula | table | annotation | image | graph), and text (transcription; "
"empty for image/graph; LaTeX for formula; pipe-separated for table)."
)
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype=torch.bfloat16, device_map="auto"
)
image = Image.open("document.jpg").convert("RGB")
messages = [{
"role": "user",
"content": [{"type": "image"}, {"type": "text", "text": PROMPT}],
}]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=8192, do_sample=False)
new_tokens = output_ids[:, inputs["input_ids"].shape[1]:]
print(processor.batch_decode(new_tokens, skip_special_tokens=True)[0])
工具 | 作用
AutoProcessor | 把图片和提示词变成模型输入
AutoModelForMultimodalLM | 以 bfloat16 在可用设备上加载模型权重
apply_chat_template | 生成关闭思考模式的聊天文本
generate | 生成转写结果,最多 8192 个新 token
模型卡还给了一个 vLLM 脚本,做同样的事,最大长度为 16384,每个提示一张图片。
区域类型 | 文字内容
handwritten, printed, annotation | 转写出的文字
formula | 用 LaTeX 写的公式
table | 表格文字,单元格用竖线字符分隔
image, graph | 空文本
示例:你把一张乌克兰语手写页面的照片连同模型卡里的提示词一起交给它。它返回一个 JSON 列表,每个区域一项,每项有框、类型和文字,就像下面这个手写行的例子。
[
{
"bbox": [84, 107, 912, 168],
"type": "handwritten",
"text": "Приклад рукописного тексту"
}
]
新手与专家:这是一个读手写字的模型。你给它看一页手写内容的图片,它会交还文字以及文字所在的位置。第一件可以试的小事,就是在一张清晰的照片上运行示例脚本,读一读它打印出的 JSON。
它只回答一条固定的提示词,并把每个区域放在 0 到 1000 的网格上。解码是贪心的,思考模式关闭,vLLM 示例则通过最小和最大像素数来限制图片大小。训练混合了 RUKOPYS 的金标和银标数据、外部的西里尔手写数据集和伪标签,其中一部分来自 Gemini。
给它一张手写页面的照片
发送固定的训练提示词
模型找出文字区域
每个区域得到一个类型
你收到带框和文字的 JSON
注意事项:它面向乌克兰语手写,精度降低后权重会更轻。
Title: 权重大小估算
BF16: 9.1 GB
4 位估算: 2.3 GB
用 Hugging Face 的命令行下载它的文件:
pip install -U huggingface_hub
hf download ebinan92/Rukopys-OCR-4B
然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。
README.md 7 KB
同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。
| 产品 | 最近 30 天下载 | 点赞 | 参数量 | 许可证 | 最近更新 |
|---|---|---|---|---|---|
| Rukopys-OCR-4B 本页 | 86 | 7 | 4.5B | apache-2.0 | |
| Chandra OCR 2共有 qwen3_5 · image-text-to-text · conversational | 1,356,074 | 606 | 5.3B | openrail | |
| Surya OCR 2.5共有 qwen3_5 · image-text-to-text · conversational | 75,033 | 52 | 689M | openrail | |
| Surya 2.5 GGUF共有 qwen3_5 · image-text-to-text · conversational | 126,232 | 8 | 589M | openrail | |
| Dolphin共有 layout-analysis · image-text-to-text · transformers | 469 | 521 | 398M | mit | |
| MinerU2.5-Pro共有 image-text-to-text · conversational · transformers | 37,179 | 115 | 1.2B | apache-2.0 |
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
op7418 · 技能
能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。
alirezarezvani · 技能
为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。
zarazhangrui · 技能
从零开始或从 PowerPoint 文件生成 HTML 演示文稿,并展示几种视觉风格预览供你挑选,适合不懂 CSS 和 JavaScript、又想做网页幻灯片的人。
iptv-org · 工具包
把来自多个国家的公开电视直播频道整理成播放列表,任何支持直播流的视频播放器都能打开。适合想看直播的观众,也适合需要频道数据的开发者。
uwg · 工具包
收录来自 OpenModelDB 社区的一组图像放大模型,适合想在自己电脑上用 AI 放大低分辨率图片的人。