Daniel van Strien

Machine Learning Librarian at Hugging Face

Machine Learning Librarian at @hf.co

Articles & links

Got a digitised collection that needs OCR? uv-scripts is a set of single-file Python scripts that OCR a whole image dataset to markdown in one command — 20+ open VLMs to pick from, nothing to install but uv. github.com/davanstrien/...

GitHub - davanstrien/uv-scripts-for-ai: Self-contained UV scripts for data & ML tasks — OCR, vision, audio & more — run one in a command, locally or on Hugging Face Jobs. Built for humans and agents. github.com
AI Weekly's analysis
  • Each script is a self-contained Python file using PEP 723 inline dependency declarations, runnable with a single `uv run` command.
  • Nine task categories are covered including OCR with 30+ models, audio transcription, vision detection, embeddings, and LLM inference.
  • Scripts use standardized argument patterns so both humans and AI agents can run them locally or on Hugging Face Jobs GPU infrastructure.
Read full analysis →
View on Bluesky · ♥ 38 ↻ 13 ↩ 1 · 2 from the directory shared this · 28d ago

Recent commentary

I think VLM-based OCR might finally be close to working on historic newspapers! Many models I've tried before failed i.e. hallucinations, repetition loops, context overflow. Surya OCR 2 (a 650M model!) does a very good job!

View on Bluesky · ♥ 87 ↻ 14 ↩ 1 · 16d ago

NuExtract3 (4B, Apache-2.0) does OCR *and* structured extraction. Point it at a dataset of scanned index cards + a JSON schema → clean catalog JSON One command on huggingface Jobs. (or skip the schema for plain Markdown OCR) Script + dataset 👇

View on Bluesky · ♥ 39 ↻ 13 ↩ 2 · 49d ago

If libraries, archives and museums pooled their (labelled) data, they could build state-of-the-art open models for the things they actually care about! I tried a small version: one open model (NuExtract-3, 4B) fine-tuned to read archival index cards across several collections.

View on Bluesky · ♥ 28 ↻ 5 ↩ 1 · 14d ago

What could a rich ecosystem of small GLAM AI models enable? IMO: cheaper, better-fitted, more robust models. Example: I extended an existing @natlibscot.bsky.social archival card detector to 4 collections to make a more generic index card detector. Took an hour or two and minimal $

View on Bluesky · ♥ 14 ↻ 1 ↩ 1 · 36d ago

In Daniel van Strien's orbit

Center = Daniel van Strien. Left = members they follow (green edges). Right = members who follow them (blue edges). Top = mutual follows (orange edges, slightly larger). Drag any node to reposition; click to open that profile.