- यह एक वेब टूल है जो दस्तावेज़ इमेज को टेक्स्ट में बदलने के बाद दोबारा व्यवस्थित करने वाले काम को structured Markdown conversion के जरिए कम करता है
- फिलहाल वेब इनपुट image upload पर केंद्रित है, और बताया गया है कि PDF support जल्द उपलब्ध होगा
- सेवा npm package llama-ocr और Together AI के आधार पर चलती है
- JavaScript में
ocr फ़ंक्शन को filePath और TOGETHER_API_KEY देकर Markdown परिणाम प्राप्त किया जा सकता है
- यह वेब upload और code call दोनों को support करता है, इसलिए दस्तावेज़ इमेज conversion को manual काम या development workflow के अनुसार आज़माया जा सकता है
इमेज दस्तावेज़ों को Markdown में बदलना
- LlamaOCR.com अपलोड किए गए दस्तावेज़ को Markdown में बदलने वाला एक टूल है
- वेब पेज पर “Upload an image to turn it into structured markdown” लिखा है, और यह image upload के जरिए structured Markdown बनाता है
- PDF support को “soon” के रूप में दिखाया गया है, इसलिए अभी उपलब्ध दायरा इमेज-केंद्रित है
कोड में उपयोग करने का तरीका
- npm package llama-ocr का उपयोग करके JavaScript code में OCR चलाया जा सकता है
import { ocr } from 'llama-ocr';
const markdown = await ocr({
filePath: './trader-receipt.jpg',
apiKey: process.env.TOGETHER_API_KEY
});
- उदाहरण में
filePath में image file path दिया जाता है, और apiKey में TOGETHER_API_KEY environment variable पास किया जाता है
- यह सेवा llama-ocr और Together AI पर आधारित है
1 टिप्पणियां
Hacker News की राय
मैं llama-ocr बनाने वाला व्यक्ति हूं। शेयर करने और अच्छे रिस्पॉन्स के लिए धन्यवाद। मुझे एक सरल OCR API चाहिए था, इसलिए इसे इस हफ्ते की शुरुआत में बनाया, और यह Together.ai पर होस्ट किए गए Llama 3.2 Vision से इमेज को structured Markdown में parse करता है
यह npm package के रूप में भी उपलब्ध है। PDF parsing, JSON response जैसी features भी जोड़ने की योजना है, और अगर कोई सवाल हों तो जवाब देने की कोशिश करूंगा
सोच रहा हूं कि इस स्तर का बड़ा transformation expected या desirable behavior है या नहीं। Output कभी bulleted list होता है और कभी table, इसलिए बाद की automated processing थोड़ी और कठिन हो जाती है
जानना चाहूंगा कि क्या आपने ऐसे use case पर भी विचार किया है
existing OCR systems की तुलना में यह किस तरह की गलतियां करता है, जानना चाहता हूं
यह बस image को Llama 3.2 Vision को भेजकर text पढ़ने को कहता है
दूसरे LLM outputs की तरह यह hallucination के प्रति संवेदनशील है। क्योंकि यह pixels से अक्षरों के shape नहीं पढ़ता, बल्कि training में देखी images और captions के आधार पर picture का वर्णन करते हुए text का अनुमान लगाता है। खासकर अगर पढ़ना मुश्किल हो, तो यह शब्द पूरी तरह गढ़ सकता है
अच्छा लग रहा है। हाल में मैं काफी OCR कर रहा हूं, इसलिए इस क्षेत्र में नया tool आना अच्छा है। PDF→Markdown क्षेत्र में अभी शायद Facebook का Nougat[1] सबसे मजबूत है, और मैं इसे DSPy से जोड़कर देखना चाहता हूं कि philosophy books के लिए कौन बेहतर है
इस repo ने जिस startup के Zerox[2] project को link किया है, वह भी अच्छा दिखता है, और कम से कम promotion के मामले में Nougat से कहीं ज्यादा polished है। अगर कोई असली expert इधर से गुजरे तो correction या advice सुनना चाहूंगा
मेरे दो सवाल हैं। 1) Together.ai क्या है और क्या यह model open source है, यह जानना चाहूंगा। Website hosting service जैसी दिखती है और “Custom Models” page[3] proprietary model training के बजाय custom fine-tuning जैसा लगता है। HuggingFace profile दिखती है, लेकिन यह सच में उनकी है या नहीं, स्पष्ट नहीं है https://huggingface.co/TogetherAI
2) GitHub पर “hosted demo” लिखा है, लेकिन लगता है कि hosted हिस्सा सिर्फ एक छोटा और साफ WebGUI है। क्या इसका मतलब है कि यह functionality अभी भी और आगे भी सिर्फ API calls के जरिए ही इस्तेमाल की जा सकेगी?
P.S.: desktop browser में header link टूटा हुआ है और onClick trigger नहीं होता
[1] https://facebookresearch.github.io/nougat/
[2] https://github.com/getomni-ai/zerox
[3] https://www.together.ai/products#custom-models
एक अजीब बात हुई। उदाहरण के तौर पर मैंने एक webcomic upload किया जिसमें सभी dialogues uppercase में थे, लेकिन output में हर panel पर sentence case और title case असंगत रूप से mix हो गए
मैंने वह समस्या भी test की जिसके लिए सच में OCR इस्तेमाल करना चाहता हूं। मेरे पास कुछ पुराने slides हैं जिन्हें digitize करना है और ज्यादातर पर labels लगे हैं। एक upload किया तो इसने बताया कि यह slide या film frame photo जैसा दिखता है, पुराना होकर पीला पड़ गया है, बीच में dark rectangular cutout है, और text “Once Upon a Time”, number “1069” है
बेवजह repetitive slide description भी एक समस्या है, लेकिन actual text cursive भी नहीं था और “Once Uniquitous.” था, और number 106g था। वह ‘9’ नहीं बल्कि ‘g’ बहुत साफ था
दिलचस्प बात यह है कि यह model bias का case हो सकता है। इसने slide को इतना antique समझ लिया कि पूरी तरह cliché title hallucinate कर दिया, और black rectangle असल में सामने से light डालने का नतीजा था ताकि transparent हिस्सा न दिखे, लेकिन यह उसे समझ नहीं पाया
इसके अलावा लगता है कि API में undocumented file size या resolution limits भी हैं
हाल ही में charity auction के लिए paper bid sheets process करने में llama3.2-vision इस्तेमाल किया, और काफी खराब handwriting भी इसने काफी accurately पढ़ी। अगले साल के event में भी इस्तेमाल करना चाहूंगा
हालांकि इससे consistently CSV output करवाना काफी परेशान करने वाला है। ChatGPT और Gemini उस हिस्से में बेहतर लगते हैं, लेकिन मैंने automation तक try नहीं किया
scale करीब 100 pages bid sheets का है, इसलिए कुछ manual cleanup ठीक है। यह volunteers का time खर्च कराने से निश्चित रूप से बेहतर है
https://github.com/philips/paper-bidsheets
यह free नहीं है, लेकिन handwritten documents की accuracy top tier है। मैं founder हूं इसलिए bias है, लेकिन current accuracy level सच में उम्मीद जगाता है। 100-page project के लिए सिर्फ 12 dollars लगेंगे और समय बच सकता है
हाल में OCR काफी किया, मुख्य तौर पर family photos में मौजूद text को digitalize करने का काम था। सामान्य OCR models बेहद खराब थे और LLM ने कहीं बेहतर काम किया। जिन models को test किया उनमें Gemini Flash बहुत आगे था, लेकिन फिर भी failures और hallucinations इतने ज्यादा थे कि हाथ से type करना ज्यादा तेज था
लगभग काम हो जाएगा जैसा लगता है, लेकिन नहीं होता—यही चिढ़ाता है। यह tool और भी खराब दिखता है। कभी-कभी सिर्फ text का जवाब देता है, और कभी “The image is a scanned document with handwritten text...” जैसी पूरी description दे देता है। उम्मीद थी कि Gemini Flash को मात देने लायक कोई fine-tuning वगैरह होगी, जिससे काफी समय बच सकता था, पर अफसोस
convert -density 76 input.pdf output-%d.pnghttps://github.com/philips/paper-bidsheets
Flash दिलचस्प है; यह भी जानना चाहूंगा कि आपने कौन-कौन से LLMs test किए
image को crop करके सिर्फ text वाला हिस्सा छोड़ा, borders हटाए और contrast बढ़ाया—इससे बहुत मदद मिली। यह 2015 में लिखा मेरा लेख है, लेकिन GPT पर भी अब भी खूब लागू होता है: https://www.danvk.org/2015/01/07/finding-blocks-of-text-in-a...
GPT को एक बार में पूरी page देने के बजाय कुछ paragraphs या उससे कम देना बेहतर रहा। text जितना छोटा होगा, hallucination की संभावना उतनी घटती है
हाल में चर्चा में आया OCR खराब था, और उम्मीद थी कि यह बेहतर होगा। individual images को chat में paste करने पर ChatGPT 4o अच्छा था, लेकिन API अभी try नहीं किया। 6500 photos process करने पर cost कितनी आएगी, पता नहीं; उनमें से कई blank भी हैं, लेकिन उन्हें आसानी से filter करने का तरीका भी नहीं है
text positions return करने में यह अभी अच्छा नहीं है, लेकिन मेरे tests में OCR performance जबरदस्त थी
संदेह है कि क्या यह “Show HN” post होना चाहिए। यह बस frontend जैसा दिखता है, और नाम के Llama से सीधे जुड़ता कोई हिस्सा भी नहीं दिखता। हो सकता है together.ai ने cloud space दिया हो
genetic algorithm से 500 circles arrange करके एक sentence बनाया, और वास्तविक physical circles से खींचे गए sentence को डाला
https://www.instagram.com/marekgibney/p/BiFNyYBhvGr/
दिलचस्प बात है कि यह circles को अच्छी तरह पहचानता है, लेकिन sentence नहीं देख पाता। जवाब कुछ ऐसा था कि “image में Markdown में व्यक्त किया जा सकने वाला कोई text या elements नहीं हैं; यह सिर्फ circles की visual composition है, Markdown में translate करने लायक जानकारी नहीं है”
response deterministic नहीं था, इसलिए original image को भी कई बार try किया, लेकिन एक बार भी success नहीं मिली। वहीं लगाए गए सभी low-pass filter effects ने high success rate के साथ काम किया
https://imgur.com/q7Zd7fa
दूर से देखने पर पढ़ना आसान है
genetic algorithm इस्तेमाल करने का तरीका काफी cool है। code या कम से कम reward function देखना चाहूंगा
मजेदार था। लंबे document के 3 screenshots डाले, तो इसने अपेक्षाकृत अच्छा process किया, लेकिन proofreading करते समय दिखा कि AI ने original में न होने वाले paragraphs बना दिए थे
शायद screenshot की nature के कारण कुछ sentences या paragraphs बीच में कट गए थे, और इससे LLM की fill-in-the-blanks tendency trigger हो गई। यह अधूरे paragraph को जस का तस नहीं छोड़ पाया, और original document में बिल्कुल न मौजूद एक छोटा conclusion paragraph तक जोड़ दिया
1997 के Asus P3B-F motherboard schematic का पुराना scan डाला
title block से बस कुछ text निकाला, जैसे project name और date; और font साफ होने के बावजूद 8/B और 1/I सब मिला दिए
असल में useful जानकारी “Tables / Table 1: [Insert table 1 here] / Other Elements / [Insert other elements here]” जैसी बन गई