พื้นที่เก็บข้อมูลนี้มีตัวอย่างที่แสดงว่า pymupdf สามารถใช้เป็นฟีดข้อมูลสำหรับแชทบอทที่ใช้ RAG ได้อย่างไร
ตัวอย่างรวมถึงสคริปต์ที่เริ่ม chatbots ไม่ว่าจะเป็นโปรแกรม CLI อย่างง่ายในโหมด REPL หรือ GUIS ที่ใช้เบราว์เซอร์ สคริปต์ chatbot ติดตามโครงสร้างทั่วไปนี้:
แพ็คเกจ Python บน PYPI pymupdf4llm (นอกจากนี้ยังมีนามแฝง PDF4llm) สามารถแปลงหน้า PDF เป็น สตริงข้อความในรูปแบบ markdown (เข้ากันได้กับ GitHub) ซึ่งรวมถึง ข้อความมาตรฐาน รวมถึง ข้อความบนตาราง ในมุมมองที่สอดคล้องและรวม - คุณลักษณะที่สำคัญอย่างยิ่งในการตั้งค่า RAG
$ pip install -U pymupdf4llm
คำสั่งนี้จะติดตั้ง pymupdf โดยอัตโนมัติหากจำเป็น
จากนั้นในสคริปต์ของคุณจะทำ
import pymupdf4llm
md_text = pymupdf4llm . to_markdown ( "input.pdf" )
# now work with the markdown text, e.g. store as a UTF8-encoded file
import pathlib
pathlib . Path ( "output.md" ). write_bytes ( md_text . encode ())
แทนที่จะเป็นสตริงชื่อไฟล์ดังกล่าวข้างต้นเรายังสามารถจัดทำ Document
pymupdf ได้ โดยค่าเริ่มต้นหน้าทั้งหมดใน PDF จะถูกประมวลผล หากต้องการ pages=[...]
สามารถใช้เพื่อจัดทำรายการหมายเลขหน้าเว็บที่ใช้ศูนย์เพื่อพิจารณา
การสร้างข้อความ Markdown ตอนนี้ยังประมวลผล หน้าหลายคอลัมน์
ในการสร้าง ข้อความเล็ก ๆ ของข้อความ - ตรงข้ามกับการสร้างสตริงขนาดใหญ่หนึ่งอันสำหรับเอกสารทั้งหมด - ตัวเลือกใหม่ (v0.0.2) page_chunks=True
สามารถใช้งานได้ ผลลัพธ์ของ .to_markdown("input.pdf", page_chunks=True)
จะเป็นรายการพจนานุกรม Python หนึ่งรายการสำหรับแต่ละหน้า
ใหม่ในเวอร์ชัน 0.0.2 คือ การแยกรูปภาพ และกราฟิกเวกเตอร์เสริม: การใช้พารามิเตอร์ write_images=True
Will จะจัดเก็บรูปภาพ PNG ในโฟลเดอร์ของเอกสารและข้อความ Markdown จะอ้างถึงอย่างเหมาะสม รูปภาพมีชื่อเหมือน "input.pdf-page_number-index.png"
เอกสาร
API
ในขณะที่ PDF เป็นรูปแบบเอกสารที่สำคัญที่สุดทั่วโลก แต่ก็คุ้มค่าที่จะกล่าวถึงว่าตัวอย่างทั้งหมดและสคริปต์ผู้ช่วยทำงานในลักษณะเดียวกันและ ไม่มีการเปลี่ยนแปลง สำหรับไฟล์ประเภทที่รองรับทั้งหมด
ดังนั้นสำหรับเอกสาร XPS หรือ ebook เพียงระบุชื่อไฟล์เช่น "input.mobi"
และทุกอย่างอื่นจะทำงานเหมือนก่อน
Pymupdf เพิ่มการผูก python และ abstractions ให้กับ MUPDF, PDF ที่มีน้ำหนักเบา, XPS และ Ebook Viewer, Renderer และ Toolkit ทั้ง PYMUPDF และ MUPDF ได้รับการดูแลและพัฒนาโดย Artifex Software, Inc.
หน้าแรกของ Pymupdf ตั้งอยู่ที่ GitHub
เข้าร่วมกับเราที่ Discord ที่นี่: #pymupdf
PYMUPDF มีอยู่ภายใต้ข้อตกลง AGPL โอเพนซอร์สและข้อตกลงใบอนุญาตเชิงพาณิชย์ หากคุณกำหนดว่าคุณไม่สามารถปฏิบัติตามข้อกำหนดของ AGPL ได้โปรดติดต่อ Artifex สำหรับข้อมูลเพิ่มเติมเกี่ยวกับใบอนุญาตเชิงพาณิชย์