Get DeepSeek-OCR running on an NVIDIA Spark with Claude Code
- Posted
- by Simon Willison
- Last checked
- Method:
- How we verify
Evidence: Screenshots or logsThe source shows screenshots, a transcript or the agent's output.
Outcome
With four prompts and about 40 minutes, Claude Code figured out the right ARM CUDA PyTorch wheels, got DeepSeek-OCR running on NVIDIA Spark hardware, and OCR'd a test image.
Agent
Prompt Original prompt
Exact prompt as published in the source.
Your task is to get this working: https://github.com/deepseek-ai/DeepSeek-OCR —it uses Hugging Face Transformers and models from https://huggingface.co/deepseek-ai/DeepSeek-OCR —you are running in a Docker container on an NVIDIA ARM device, first research your environment to check it will be possible to do this. Git clone both of those—you may need to enable LFS first. Make extensive notes as you go in a notes.md file which you should only ever append new notes to. At the end of this you should have scripts in the folder which can be run to both setup and then run the model against an example—use https://static.simonwillison.net/static/2025/ft.jpeg as the example image that you OCR. As a final step create a detailed README.md file explaining the project and what you learned and how to run your code.
Try this in:
Sends the Original prompt shown above. ChatGPT and Grok open with it filled in, and ChatGPT may send it straight away. Gemini opens empty, so we copy the prompt for you to paste. Every button also copies it.
The source used Claude Code, which can take actions on your computer or in a browser. These are general chat tools, so results may differ, and a normal chat may only give you a plan.
Opens in a new tab. We don't see what you send.
These links are only a shortcut. We're not affiliated with OpenAI, Google or xAI, and your results may not match the source.
Optional stronger version
Our rewrite with extra checks. The poster didn't test it.
Goal: Get DeepSeek-OCR running inside this Docker container on an NVIDIA ARM device and prove it works on a sample image. Inputs (fill in or confirm): - Repo and model links (github.com/deepseek-ai/DeepSeek-OCR, huggingface.co/deepseek-ai/DeepSeek-OCR) - A test image path - Working directory you may write to Rules: - First check the environment: GPU visibility, CUDA version, Python, disk space; report whether it's feasible before installing anything big. - Use a virtual environment and pin versions that match the CUDA/ARM build. - Keep notes in a markdown log of every command and fix as you go. - Prefer official wheels; if you must build from source, say why. - Log each install command and its result in a notes file. Checkpoint: Ask before deleting files outside the working directory or upgrading system drivers. If you get stuck: If a dependency has no ARM build, stop and list options rather than looping on installs. If a login, CAPTCHA or two-step code appears, stop and ask me to handle it; never guess or store passwords. Verify before you finish: Run OCR on the sample image and show the extracted text. Output: The setup log, a run script, and the OCR output. Done when: a single command reproduces working OCR on the sample image.
Source
https://simonwillison.net/2025/Oct/20/deepseek-ocr-claude-code/
Related cases
- Write and ship a complete Datasette plugin with Claude CodeEvidence: Screenshots or logs
Claude Code (Sonnet 4.5) wrote every line of code and every test for the datasette-os-info plugin with minimal prompting, and the author shipped it.
Claude Code · Coding · Source date:
- Migrate two websites from WordPress to Wagtail with Claude CodeRecreated promptEvidence: Described by poster
Over a weekend Claude Code migrated two sites from WordPress to Wagtail (PHP to Python), including server setup, data transfer, testing and fixes, and redesigned a homepage; the poster reports nothing broke and traffic and tools stayed in place.
Claude Code · Coding · Source date:
- Migrate a 50-screen app from Firebase to Supabase with Claude CodeRecreated promptEvidence: Described by poster
Going feature by feature, the poster used Claude Code to generate database schemas, write queries and fix daily errors; they report migrating about 85% of a 45–50 screen Flutter app from Firebase to Supabase in 10–20 days.
Poster says:~85% migrated in 10–20 days
Claude Code · Coding · Source date: