this post was submitted on 25 Jun 2025
8 points (90.0% liked)

LocalLLaMA

3299 readers
20 users here now

Welcome to LocalLLaMA! Here we discuss running and developing machine learning models at home. Lets explore cutting edge open source neural network technology together.

Get support from the community! Ask questions, share prompts, discuss benchmarks, get hyped at the latest and greatest model releases! Enjoy talking about our awesome hobby.

As ambassadors of the self-hosting machine learning community, we strive to support each other and share our enthusiasm in a positive constructive way.

Rules:

Rule 1 - No harassment or personal character attacks of community members. I.E no namecalling, no generalizing entire groups of people that make up our community, no baseless personal insults.

Rule 2 - No comparing artificial intelligence/machine learning models to cryptocurrency. I.E no comparing the usefulness of models to that of NFTs, no comparing the resource usage required to train a model is anything close to maintaining a blockchain/ mining for crypto, no implying its just a fad/bubble that will leave people with nothing of value when it burst.

Rule 3 - No comparing artificial intelligence/machine learning to simple text prediction algorithms. I.E statements such as "llms are basically just simple text predictions like what your phone keyboard autocorrect uses, and they're still using the same algorithms since <over 10 years ago>.

Rule 4 - No implying that models are devoid of purpose or potential for enriching peoples lives.

founded 2 years ago
MODERATORS
 

I mean it in the sense that I can upload a low quality phone photo of a page from a Chinese cookbook and it will OCR it, translate it into English and give me a summary of the ingredients.

I’ve been looking into vision models but they seem daunting to set up, and the specs say stuff like 384x384 image resolution, so it doesn’t seem like it would be able to do what I look for. Am I even searching in the right direction right now?

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 2 days ago (1 children)

Try the gemma3 models. They improved quite a bit and are now able to handle my grocery receipts which sometimes are barely readable even for the human eye.

[–] [email protected] 2 points 2 days ago (2 children)

Sounds like what I’m looking for! What do you use for inference?

[–] [email protected] 3 points 2 days ago

Ok, turned out to be as simple to run as downloading llama.cpp binaries, gguf of gemma3 and an mmproj file and running it all like this

./llama-server -m ~/LLM-models/gemma-3-4b-it-qat-IQ4_NL.gguf --mmproj ~/LLM-models/gemma-3-4b-it-qat-mmproj-F16.gguf --port 5002

(Could be even easier if I’d let it download weights itself, and just used -hf option instead of -m and —mmproj).

And now I can use it from my browser at localhost:5002, llama.cpp already provides an interface there that supports images!

Tested high resolution images and it seems to either downscale or cut them into chunks or both, but the main thing is that 20 megapixels photos work fine, even on my laptop with no gpu, they just take a couple of minutes to get processed. And while 4b model is not very smart (especially quantized), it could still read and translate text for me.

Need to test more with other models but just wanted to leave this here already in case someone stumbles upon this question and wants to do it themselves. It turned out to be much more accessible than expected.

[–] [email protected] 2 points 2 days ago

Check out open webui 10/10 do recommend

[–] [email protected] 2 points 3 days ago (1 children)

No idea your skill level, but try installing open webui and downloading any of ollama vision models

There’s a bit of a learning curve to running docker but ChatGPT can easily get you to a point it’s running.

[–] [email protected] 1 points 20 hours ago

I’m not sure if I’m doing something wrong here, but openwebui has been weird for me. I’ve tried running nanonets-ocr, but it only read the last lines visible on a photo. And other models would start reprocessing the whole chat and ignoring the last image I post, answering with the context of the previous reply instead… Using the websearch is easy with it though, so I think I’ll keep an eye on it and maybe will try again later

[–] [email protected] 2 points 3 days ago* (last edited 3 days ago) (1 children)

I think MiniCPM advertises with strong OCR capabilities. Maybe try that one. But is that 384 number correct? Seems to me even the common Llama 3.2 models do images up to 1120x1120px for a while and that should be enough. MiniCPM can do even more (1.8 million pixels).

Setup shouldn't be too hard. Lots of interfaces and inference frameworks have vision capabilities these days. It should work pretty much out of the box with something like Ollama, AnythingLLM or llama.cpp based stuff.

Other approaches include doing OCR by more traditional means and then feed the result into an LLM. Just make sure to check that whatever you use can read Chinese.

I'm not entirely sure what your prompt should look like. Obviously attach the image. With ChatGPT I believe I had a bit better results when I told it to first copy and write down the text, and then translate it in a second step. And then do whatever I want after that. I'm not sure what it does if you make it do everything in one go.

[–] [email protected] 2 points 3 days ago (1 children)

Thank you, haven’t heard of it before and it looks really interesting! I need to test how it works with llama.cpp, I wonder how it works with resolutions higher than supported, will it get downscaled

[–] [email protected] 2 points 3 days ago* (last edited 3 days ago) (1 children)

Most frontends should have you covered and scale down the image appropriately (and automatically). I'm not entirely sure about that. I think working on resolutions higher than supported should either not work due to the image encoder, or lead to degraded performance. Usually they're scaled to what the model needs, somewhere within the pipeline. You can crop them if you like, that sheds off some pixels. Or split them up and feed them in one part after the other, if that somehow makes sense. But I bet with most software you can just upload a random image and it'll do whatever scaling is required for you.

[–] [email protected] 2 points 2 days ago

Managed to run it with llama.cpp. It was a great suggestion, thank you! MiniCPM-o-2_6 iq4 managed to read text from a picture of a shirt that gemma could not get right

[–] Oni_eyes 2 points 3 days ago

Not necessarily the ingredient summary, but Google translate and several other translator apps will do the "scan picture for text" and translate that.

[–] [email protected] 2 points 3 days ago (1 children)

I've been meaning to try Pixtral for multimodal use cases, looks like llama.cpp is the way but I have only used Ollama before locally.

[–] [email protected] 1 points 3 days ago

Looks like what I’m looking for, and llama.cpp has added support this year, so should be easy to try, thank you!