Na kratko: AnyMD običajne dokumente PDF pretvori v Markdown v 0,3–0,8 sekunde — 4–10-krat hitreje od alternativ, kot so PyMuPDF4LLM, Marker in docling. Brez čakalnih vrst, asinhronih opravil in čakanja. Sinhroni API, obdelava v pomnilniku, manj kot sekunda.
AnyMD smo izdelali v Rustu z razlogom. Druga orodja za pretvorbo dokumentov v Markdown so lokalne knjižnice Python ali pa uporabljajo delavce v čakalni vrsti. AnyMD je prevedena binarna datoteka Rust s prilagojenim razčlenjevanjem dokumentov — datoteka gre noter, Markdown pa se vrne v istem odgovoru HTTP, običajno v manj kot sekundi.
Meritve
Čas pretvorbe treh pogostih vrst dokumentov smo primerjali v štirih orodjih. Vsi testi so potekali na isti strojni opremi (Xeon z 8 jedri, 16 GB RAM-a, SSD). Časi so v sekundah; manj je bolje.
| Dokument | Strani | AnyMD | PyMuPDF4LLM | Marker | docling |
|---|---|---|---|---|---|
| Raziskovalni PDF | 12 | 0,4 s | 2,8 s | 4,1 s | 3,2 s |
| Poslovno poročilo (PDF) | 48 | 0,8 s | 6,5 s | 14,2 s | 8,9 s |
| Rokopis DOCX | 85 | 0,6 s | N/A | N/A | 9,4 s |
| Predstavitev PPTX | 30 diapozitivov | 0,5 s | N/A | N/A | 5,7 s |
PyMuPDF4LLM in Marker podpirata le PDF. docling podpira PDF in pisarniške formate, vendar je zaradi Pythona počasnejši. AnyMD vse formate obravnava izvorno in z skoraj stalno zakasnitvijo.
Zakaj je Rust pomemben
Razčlenjevanje dokumentov je delo, omejeno s procesorjem: izločanje besedila, razčlenjevanje XML-ja v DOCX/PPTX in obnova postavitve iz operatorjev PDF. Knjižnice Python pri vsaki operaciji plačajo ceno GIL-a. Binarna datoteka Rust se prevede v izvorno kodo brez zbiralnika smeti in z izrabo vseh niti.
Razlika ni akademska. 48-stransko poslovno poročilo se z AnyMD pretvori v 0,8 sekunde, s Pythonovimi orodji pa v 6–14 sekundah. Pri cevovodu RAG, ki obdela tisoče dokumentov, se razlika hitro sešteje.
Preizkusi
curl https://anymd.net/api/convert \
-H "Authorization: Bearer your-key" \
-F "file=@report.pdf"
Brezplačni paket: 100 strani/mesec, kreditna kartica ni potrebna. Pridobi API ključ — traja približno 30 sekund.