- Alat web ini membantu mengurangi pekerjaan memindahkan teks dari gambar dokumen lalu merapikannya kembali melalui konversi Markdown terstruktur
- Saat ini input web berfokus pada unggah gambar, dan disebutkan bahwa dukungan PDF akan segera tersedia
- Layanan ini berjalan berbasis paket npm llama-ocr dan Together AI
- Di JavaScript, Anda bisa meneruskan
filePath dan TOGETHER_API_KEY ke fungsi ocr untuk menerima hasil dalam bentuk Markdown
- Mendukung unggahan web maupun pemanggilan lewat kode, sehingga konversi gambar dokumen bisa dicoba sesuai pekerjaan manual atau alur pengembangan
Mengubah dokumen gambar menjadi Markdown
- LlamaOCR.com adalah alat untuk mengubah dokumen yang diunggah menjadi Markdown
- Halaman web menjelaskan “Upload an image to turn it into structured markdown”, dan membuat Markdown terstruktur melalui unggah gambar
- Dukungan PDF ditandai sebagai “soon”, sehingga cakupan saat ini berfokus pada gambar
Cara menggunakannya di kode
- Jika menggunakan paket npm llama-ocr, Anda dapat menjalankan OCR dari kode JavaScript
import { ocr } from 'llama-ocr';
const markdown = await ocr({
filePath: './trader-receipt.jpg',
apiKey: process.env.TOGETHER_API_KEY
});
- Contoh tersebut memasukkan jalur file gambar ke
filePath, dan meneruskan variabel lingkungan TOGETHER_API_KEY ke apiKey
- Layanan ini berbasis llama-ocr dan Together AI
1 komentar
Komentar Hacker News
Saya pembuat llama-ocr. Terima kasih atas pembagian dan respons positifnya. Saya butuh OCR API yang sederhana, jadi saya membuatnya awal minggu ini, dan ini mem-parsing gambar menjadi Markdown terstruktur dengan Llama 3.2 Vision yang di-host di Together.ai
Saat ini juga tersedia sebagai paket npm. Saya berencana menambahkan fitur seperti parsing PDF dan respons JSON, dan saya akan coba menjawab jika ada pertanyaan
Saya penasaran apakah transformasi sebesar ini memang perilaku yang diharapkan atau diinginkan. Kadang keluarannya berupa daftar bullet, kadang tabel, jadi pemrosesan otomatis setelahnya jadi sedikit lebih sulit
Saya penasaran apakah kasus penggunaan seperti ini juga dipertimbangkan
Saya ingin tahu jenis kesalahan apa yang dibuat dibandingkan sistem OCR yang sudah ada
Ini pada dasarnya hanya mengirim gambar ke Llama 3.2 Vision dan memintanya membaca teks
Seperti output LLM lain, ini rentan terhadap halusinasi. Model ini tidak membaca bentuk huruf langsung dari piksel, melainkan menilai teks sambil mendeskripsikan gambar berdasarkan gambar dan caption yang dipelajarinya. Terutama jika sulit dibaca, model bisa sepenuhnya mengarang kata-kata
Kelihatannya keren. Saya sedang banyak memakai OCR belakangan ini, jadi senang melihat ada alat baru di bidang ini. Pemimpin saat ini di ranah PDF→Markdown mungkin adalah Nougat dari Facebook[1], dan saya ingin menghubungkannya ke DSPy untuk membandingkan mana yang lebih baik untuk buku filsafat
Proyek Zerox[2] dari startup yang ditautkan repositori ini juga terlihat bagus, dan setidaknya promosinya jauh lebih mulus daripada Nougat. Kalau ada pakar sungguhan yang lewat, saya ingin mendengar koreksi atau sarannya
Ada dua hal yang saya penasaran. 1) Apa itu Together.ai dan apakah model ini open source. Situs webnya terlihat seperti layanan hosting, dan halaman “Custom Models”[3] tampak lebih mirip fine-tuning khusus daripada pelatihan model proprietary mereka sendiri. Sepertinya ada profil HuggingFace, tetapi kurang jelas apakah itu benar-benar milik mereka https://huggingface.co/TogetherAI
2) Di GitHub tertulis “hosted demo”, tetapi bagian yang di-host tampaknya hanya WebGUI kecil yang rapi. Apakah ini berarti fitur ini sekarang dan ke depannya hanya bisa digunakan lewat pemanggilan API
PS: Di browser desktop, tautan header rusak dan onClick tidak terpicu
[1] https://facebookresearch.github.io/nougat/
[2] https://github.com/getomni-ai/zerox
[3] https://www.together.ai/products#custom-models
Ada hal yang terasa aneh. Saya mengunggah webcomic sebagai contoh, dan semua dialognya huruf besar semua, tetapi output-nya mencampur sentence case dan title case secara tidak konsisten di tiap panel
Saya juga mencoba masalah nyata yang memang ingin saya pakai OCR untuknya. Saya punya slide lama yang perlu didigitalkan dan kebanyakan berlabel; saat saya mengunggah salah satunya, model menjelaskan bahwa itu tampak seperti foto slide atau frame film yang tua dan menguning, dengan potongan persegi panjang gelap di tengah, dan teksnya “Once Upon a Time”, angkanya “1069”
Deskripsi slide yang berulang dan tidak perlu itu sendiri sudah jadi masalah, tetapi teks sebenarnya bukan tulisan sambung dan seharusnya “Once Uniquitous.”, sedangkan angkanya 106g. Hurufnya jelas sekali ‘g’, bukan ‘9’
Yang menarik, ini mungkin contoh bias model. Model terlalu melihat slide itu sebagai barang antik sampai berhalusinasi membuat judul yang sangat klise, dan persegi hitam itu sebenarnya akibat pencahayaan dari depan untuk menyembunyikan bagian transparan, tetapi itu terlewat
Selain itu, API-nya tampaknya memiliki batas ukuran file atau resolusi yang tidak didokumentasikan
Baru-baru ini saya mencoba llama3.2-vision untuk memproses lembar penawaran kertas untuk lelang amal, dan hasilnya cukup akurat bahkan untuk tulisan tangan yang lumayan jelek. Saya ingin memakainya lagi untuk acara tahun depan
Tapi cukup menjengkelkan bahwa sulit membuatnya mengeluarkan CSV secara konsisten. ChatGPT dan Gemini tampaknya lebih baik untuk bagian itu, meskipun saya belum mencoba sampai tahap otomatisasi
Skalanya sekitar 100 halaman lembar penawaran, jadi sedikit pembersihan manual masih tidak masalah. Jelas lebih baik daripada menghabiskan waktu relawan
https://github.com/philips/paper-bidsheets
Memang tidak gratis, tetapi akurasinya untuk dokumen tulisan tangan termasuk yang terbaik. Saya memang pendirinya jadi bias, tetapi tingkat akurasinya sekarang benar-benar menjanjikan. Untuk proyek 100 halaman, biayanya hanya 12 dolar dan bisa menghemat waktu
Belakangan ini saya sering melakukan OCR, terutama untuk mendigitalkan teks dari foto keluarga. Model OCR biasa payah sekali, dan LLM jauh lebih bagus. Dari model yang saya uji, Gemini Flash sejauh ini yang terbaik, tetapi tetap saja cukup sering gagal dan berhalusinasi sehingga mengetik manual justru lebih cepat.
Rasanya seperti hampir bisa, tapi ternyata tidak, dan itu menyebalkan. Alat ini terlihat lebih buruk. Kadang hanya menjawab teksnya, kadang malah memberi deskripsi penuh seperti “The image is a scanned document with handwritten text...”. Saya sempat berharap ada semacam fine-tuning yang bisa mengalahkan Gemini Flash, karena itu bisa sangat menghemat waktu
convert -density 76 input.pdf output-%d.pnghttps://github.com/philips/paper-bidsheets
Flash memang menarik, dan saya juga penasaran LLM apa saja yang Anda uji
Memotong gambar agar hanya menyisakan bagian teks, membuang tepian, lalu meningkatkan kontras sangat membantu. Ini tulisan dari 2015, tetapi masih sangat relevan untuk GPT: https://www.danvk.org/2015/01/07/finding-blocks-of-text-in-a...
Untuk GPT, memberi beberapa paragraf atau kurang sekaligus ternyata lebih baik daripada satu halaman penuh. Semakin pendek teksnya, semakin kecil kemungkinan halusinasi
OCR yang belakangan ramai dibicarakan hasilnya buruk, dan saya berharap ini lebih baik. Saat menempelkan gambar satu per satu ke chat, ChatGPT 4o cukup bagus, tetapi saya belum mencoba API-nya. Saya tidak tahu berapa biayanya untuk memproses 6500 foto, dan banyak di antaranya kosong, tetapi saya juga tidak punya cara mudah untuk menyaringnya
Untuk mengembalikan posisi teks memang masih belum bagus, tetapi setidaknya dalam pengujian saya, kemampuan OCR-nya luar biasa
Saya ragu ini layak jadi postingan “Show HN”. Ini cuma terlihat seperti frontend, dan sepertinya juga tidak ada hubungan langsung dengan Llama di namanya. Mungkin together.ai hanya menyediakan ruang cloud
Saya pernah memakai algoritme genetik untuk menata 500 lingkaran sehingga membentuk sebuah kalimat, lalu mencoba memasukkan kalimat yang digambar memakai lingkaran fisik sungguhan
https://www.instagram.com/marekgibney/p/BiFNyYBhvGr/
Menariknya, lingkarannya dikenali dengan baik, tetapi kalimatnya tidak terbaca. Jawabannya kira-kira seperti, “Gambar ini tidak berisi teks atau elemen yang bisa direpresentasikan dalam Markdown, hanya susunan visual lingkaran, jadi tidak ada informasi untuk diterjemahkan ke Markdown”
Responsnya tidak konsisten, jadi saya juga mencoba gambar aslinya berkali-kali, tetapi tidak pernah berhasil satu kali pun. Sebaliknya, semua efek filter low-pass yang saya terapkan bekerja dengan tingkat keberhasilan tinggi
https://imgur.com/q7Zd7fa
Dari jauh justru lebih mudah dibaca
Cara Anda memakai algoritme genetik cukup keren. Saya ingin melihat kodenya, atau setidaknya fungsi reward-nya
Lucu juga. Saya memasukkan 3 screenshot dari dokumen panjang dan hasilnya lumayan bagus, tetapi saat saya koreksi, ternyata AI mengarang paragraf yang tidak ada di naskah asli
Mungkin karena sifat screenshot, beberapa kalimat atau paragraf terpotong di tengah, dan itu memicu kecenderungan LLM untuk mengisi bagian yang kosong. Ia tidak bisa membiarkan paragraf yang belum selesai tetap seperti itu, bahkan menambahkan paragraf penutup pendek yang sama sekali tidak ada di dokumen asli
Saya mencoba memasukkan scan lama skematik motherboard Asus P3B-F tahun 1997
Ia hanya mengekstrak sebagian teks pada blok judul, misalnya nama proyek dan tanggal, dan meskipun font-nya cukup jelas, angka 8/B dan 1/I tetap tercampur semuanya
Informasi yang sebenarnya berguna malah berubah menjadi sesuatu seperti “Tables / Table 1: [Insert table 1 here] / Other Elements / [Insert other elements here]”