cari

Apakah MarkItDown?

MarkItDown ialah pakej Python yang dibangunkan oleh Microsoft, direka untuk menukar pelbagai format fail kepada Markdown.

Sejak kemunculannya, pustaka ini telah melonjak dalam populariti, memperoleh lebih 25k bintang GitHub dalam masa dua minggu sahaja! ?

Deep Dive into Microsoft MarkItDown

Apa yang Membuatkan MarkItDown Sangat Popular?

MarkItDown menawarkan sokongan yang teguh untuk pelbagai jenis fail, seperti:

  • Format pejabat: Word, PowerPoint, Excel
  • Fail media: Imej (dengan data EXIF ​​​​dan penerangan), Audio (dengan sokongan transkripsi)
  • Format web dan data: HTML, JSON, XML, CSV
  • Arkib: Fail ZIP

Keupayaannya untuk mengendalikan bukan sahaja format standard seperti Word tetapi juga data berbilang modal menjadikannya menonjol. Contohnya, ia menggunakan OCR dan pengecaman pertuturan untuk mengekstrak kandungan daripada imej dan fail audio.

Keupayaan untuk menukar apa-apa kepada Markdown menjadikan MarkItDown alat yang berkuasa untuk latihan LLM. Dengan memproses dokumen khusus domain, ia menyediakan konteks yang kaya untuk menjana respons yang lebih tepat dan berkaitan dalam aplikasi berkuasa LLM.

Bermula dengan MarkItDown

Menggunakan MarkItDown adalah sangat mudah - hanya 4 baris kod diperlukan:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)

Berikut ialah beberapa kes penggunaan MarkItDown.

Menukar dokumen Word menjana Markdown yang bersih dan tepat:

Deep Dive into Microsoft MarkItDown

Malah hamparan Excel berbilang tab dikendalikan dengan mudah:

Deep Dive into Microsoft MarkItDown

ZIP arkib? Tiada masalah! Pustaka menghuraikan semua fail di dalamnya secara rekursif:

Deep Dive into Microsoft MarkItDown

Pada mulanya, pengekstrakan imej mungkin tidak memberikan hasil:

Deep Dive into Microsoft MarkItDown

Ini kerana MarkItDown bergantung pada LLM untuk menjana penerangan imej. Dengan menyepadukan pelanggan LLM, anda boleh mendayakan ciri ini:

from openai import OpenAI

client = OpenAI(api_key="i-am-not-an-api-key")

md = MarkItDown(llm_client=client, llm_model="gpt-4o")

Dengan konfigurasi sedia ada, fail imej boleh diproses dengan jayanya:

Deep Dive into Microsoft MarkItDown

Nota: LLM tidak akan berurusan dengan PDF berasaskan imej. PDF memerlukan prapemprosesan OCR untuk mengekstrak kandungan.

Deep Dive into Microsoft MarkItDown

Walau bagaimanapun, PDF kehilangan pemformatannya selepas pengekstrakan, oleh itu tajuk dan teks biasa tidak dibezakan:

Deep Dive into Microsoft MarkItDown

Had

MarkItDown bukan tanpa hadnya:

  • Fail PDF tanpa OCR tidak boleh diproses.
  • Pemformatan tidak tersedia apabila mengekstrak daripada fail PDF.

Walau bagaimanapun, sebagai projek sumber terbuka, ia sangat boleh disesuaikan. Pembangun boleh melanjutkan fungsinya dengan mudah kerana pangkalan kodnya yang bersih.

Bagaimana MarkItDown Berfungsi

Seni bina MarkItDown adalah mudah dan modular.

Ia mempunyai kelas DocumentConverter, yang mentakrifkan kaedah convert() generik:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)

Penukar individu mewarisi daripada kelas asas ini dan didaftarkan secara dinamik:

from openai import OpenAI

client = OpenAI(api_key="i-am-not-an-api-key")

md = MarkItDown(llm_client=client, llm_model="gpt-4o")

Pendekatan modular ini memudahkan anda menambah sokongan untuk jenis fail baharu.

Aliran Kerja Penukaran Fail

Dokumen Pejabat

Fail pejabat diubah menjadi HTML menggunakan perpustakaan seperti raksasa, panda atau pptx, dan kemudian ditukar kepada Markdown dengan BeautifulSoup.

Deep Dive into Microsoft MarkItDown

Fail Audio

Audio ditranskripsikan dengan pustaka speech_recognition, yang menggunakan API Google.

(Microsoft, kenapa tidak Azure di sini? ?)

Deep Dive into Microsoft MarkItDown

Imej

Pemprosesan imej melibatkan penjanaan kapsyen melalui gesaan LLM:
"Tulis penerangan terperinci untuk imej ini."

Deep Dive into Microsoft MarkItDown

PDF

PDF dikendalikan oleh perpustakaan pdfminer tetapi kekurangan OCR terbina dalam. Anda mesti praproses PDF untuk pengekstrakan teks.

Deep Dive into Microsoft MarkItDown

Menggunakan MarkItDown sebagai API

MarkItDown boleh dijalankan secara setempat, tetapi mengehosnya sebagai API membuka kunci fleksibiliti tambahan, menjadikannya mudah untuk disepadukan ke dalam aliran kerja seperti Zapier dan n8n.

Berikut ialah contoh mudah API MarkItDown menggunakan FastAPI:

class DocumentConverter:
    """Base class for all document converters."""

    def convert(
        self, local_path: str, **kwargs: Any
    ) -> Union[None, DocumentConverterResult]:
        raise NotImplementedError()

Untuk memanggil API:

self.register_page_converter(PlainTextConverter())
self.register_page_converter(HtmlConverter())
self.register_page_converter(DocxConverter())
self.register_page_converter(XlsxConverter())
self.register_page_converter(Mp3Converter())
self.register_page_converter(ImageConverter())
# ...

Mengehos API Tanpa Kos

Menghos API Python boleh menjadi rumit. Perkhidmatan tradisional seperti AWS EC2 atau DigitalOcean memerlukan penyewaan keseluruhan pelayan, yang sentiasa mahal.

Tetapi sekarang, anda boleh menggunakan Leapcell.

Ia adalah platform yang boleh mengehos pangkalan kod Python dalam cara tanpa pelayan - ia mengenakan bayaran hanya untuk setiap panggilan API, dengan penggunaan peringkat percuma yang banyak.

Hanya sambungkan repositori GitHub anda, tentukan arahan bina dan mulakan, dan anda sudah bersedia:

Deep Dive into Microsoft MarkItDown

Kini anda mempunyai API MarkItDown yang dihoskan dalam awan, sedia untuk disepadukan ke dalam aliran kerja anda dan yang paling penting, hanya mengecaj apabila ia benar-benar dipanggil.


Mula membina API MarkItDown anda sendiri di Leapcell hari ini! ?

Deep Dive into Microsoft MarkItDown

Atas ialah kandungan terperinci Selam dalam Microsoft MarkItDown. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousoperations: 1) SlicingExtractsSubsets, 2) Menambah/ExtendingAddSelements, 3) InsertingPlaceSelementSatSatSatSpecifics, 4) RemovingDeleteselements, 5) Sorting/ReversingChangesOrder,

Dalam jenis aplikasi yang biasa digunakan oleh numpy?Dalam jenis aplikasi yang biasa digunakan oleh numpy?Apr 26, 2025 am 12:13 AM

NumpyarraysareessentialforapplicationRequiringeficientnumericalcomputationsanddatamanipulation.theyarecrucialindaSascience, machinelearning, fizik, kejuruteraan, danfinanceduetotheirabilitytOHandlelarge-Scaledataefisien.Forexample, infinancialanal

Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Apr 26, 2025 am 12:12 AM

UseanArray.arrayoveralistinpythonwhendealingwithhomogeneousdata, criticalcode prestasi, orinterfacingwithccode.1) homogeneousdata: arrayssavemememorywithtypedelements.2)

Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Apr 26, 2025 am 12:05 AM

Tidak, notalllistoperationsaresuportedByArrays, andviceversa.1) arraysdonotsupportdynamicoperationslikeappendorinsertwithoutresizing, whyimpactsperformance.2) listsdonotguaranteeconstantTimeComplexityFordirectacesscesscesscesscesscesscesscesscesscesessd.

Bagaimana anda mengakses elemen dalam senarai python?Bagaimana anda mengakses elemen dalam senarai python?Apr 26, 2025 am 12:03 AM

ToaccesselementsinaPythonlist,useindexing,negativeindexing,slicing,oriteration.1)Indexingstartsat0.2)Negativeindexingaccessesfromtheend.3)Slicingextractsportions.4)Iterationusesforloopsorenumerate.AlwayschecklistlengthtoavoidIndexError.

Bagaimana tatasusunan digunakan dalam pengkomputeran saintifik dengan python?Bagaimana tatasusunan digunakan dalam pengkomputeran saintifik dengan python?Apr 25, 2025 am 12:28 AM

Arraysinpython, terutamanya yang, arecrucialinscientificificputingputingfortheirefficiencyandversatility.1) mereka yang digunakan untuk

Bagaimana anda mengendalikan versi python yang berbeza pada sistem yang sama?Bagaimana anda mengendalikan versi python yang berbeza pada sistem yang sama?Apr 25, 2025 am 12:24 AM

Anda boleh menguruskan versi python yang berbeza dengan menggunakan Pyenv, Venv dan Anaconda. 1) Gunakan pyenv untuk menguruskan pelbagai versi python: Pasang pyenv, tetapkan versi global dan tempatan. 2) Gunakan VENV untuk mewujudkan persekitaran maya untuk mengasingkan kebergantungan projek. 3) Gunakan Anaconda untuk menguruskan versi python dalam projek sains data anda. 4) Simpan sistem python untuk tugas peringkat sistem. Melalui alat dan strategi ini, anda dapat menguruskan versi Python yang berbeza untuk memastikan projek yang lancar.

Apakah beberapa kelebihan menggunakan array numpy melalui array python standard?Apakah beberapa kelebihan menggunakan array numpy melalui array python standard?Apr 25, 2025 am 12:21 AM

Numpyarrayshaveseveraladvantagesoverstanderardpythonarrays: 1) thearemuchfasterduetoc-assedimplementation, 2) thearemorememory-efficient, antyedlargedataSets, and3) theyofferoptimized, vectorizedfuncionsformathhematicalicalicalicialisation

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)