split_markdown4gpt
เป็นเครื่องมือ Python ที่ออกแบบมาเพื่อแบ่งไฟล์ Markdown ขนาดใหญ่ออกเป็นส่วนเล็กๆ ตามขีดจำกัดโทเค็นที่ระบุ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการประมวลผลไฟล์ Markdown ขนาดใหญ่ด้วยโมเดล GPT เนื่องจากช่วยให้โมเดลสามารถจัดการข้อมูลเป็นชิ้น ๆ ที่สามารถจัดการได้
เวอร์ชัน 1.0.9 (19-06-2023)
คุณสามารถติดตั้ง split_markdown4gpt
ผ่าน pip:
pip install split_markdown4gpt
หลังการติดตั้ง คุณสามารถใช้คำสั่ง mdsplit4gpt
เพื่อแยกไฟล์ Markdown นี่คือไวยากรณ์พื้นฐาน:
mdsplit4gpt path_to_your_file.md --model gpt-3.5-turbo --limit 4096 --separator " === SPLIT === "
คำสั่งนี้จะแบ่งไฟล์ Markdown ที่ path_to_your_file.md
ออกเป็นส่วนๆ โดยแต่ละส่วนจะมีโทเค็นไม่เกิน 4,096 รายการ (ซึ่งนับโดยรุ่น gpt-3.5-turbo
) ส่วนต่างๆ จะถูกคั่นด้วย === SPLIT ===
ตัวเลือก CLI ทั้งหมด:
NAME
mdsplit4gpt - Splits a Markdown file into sections according to GPT token size limits.
SYNOPSIS
mdsplit4gpt MD_PATH <flags>
DESCRIPTION
This tool loads a Markdown file, and splits its content into sections
that are within the specified token size limit using the desired GPT tokenizing model. The resulting
sections are then concatenated using the specified separator and returned as a single string.
POSITIONAL ARGUMENTS
MD_PATH
Type: Union
The path of the source Markdown file to be split.
FLAGS
-m, --model=MODEL
Type: str
Default: 'gpt-3.5-turbo'
The GPT tokenizer model to use for calculating token sizes. Defaults to "gpt-3.5-turbo".
-l, --limit=LIMIT
Type: Optional[int]
Default: None
The maximum number of GPT tokens allowed per section. Defaults to the model's maximum tokens.
-s, --separator=SEPARATOR
Type: str
Default: '=== SPLIT ==='
The string used to separate sections in the output. Defaults to "=== SPLIT ===".
คุณยังสามารถใช้ split_markdown4gpt
ในโค้ด Python ของคุณได้ นี่คือตัวอย่างพื้นฐาน:
from split_markdown4gpt import split
sections = split ( "path_to_your_file.md" , model = "gpt-3.5-turbo" , limit = 4096 )
for section in sections :
print ( section )
โค้ดนี้ทำสิ่งเดียวกับคำสั่ง CLI ด้านบน แต่ทำใน Python
split_markdown4gpt
ทำงานโดยโทเค็นไฟล์ Markdown อินพุตโดยใช้โทเค็นไนเซอร์ของโมเดล GPT ที่ระบุ (ค่าเริ่มต้นคือ gpt-3.5-turbo
) จากนั้นจะแยกไฟล์ออกเป็นส่วนต่างๆ โดยแต่ละส่วนจะมีโทเค็นไม่เกินขีดจำกัดที่ระบุ
กระบวนการแยกจะคำนึงถึงโครงสร้างของไฟล์ Markdown จะไม่แบ่งส่วน (ตามที่กำหนดโดยส่วนหัวของ Markdown) ออกเป็นหลายส่วนเอาต์พุต เว้นแต่ส่วนนั้นจะยาวเกินขีดจำกัดโทเค็น ในกรณีนั้นก็
จะแยกส่วนในระดับประโยค
เครื่องมือนี้ใช้ไลบรารีหลายแห่งเพื่อทำสิ่งนี้ให้สำเร็จ:
tiktoken
สำหรับโทเค็นข้อความตามกฎของโมเดล GPTfire
สำหรับการสร้าง CLIfrontmatter
สำหรับแยกวิเคราะห์ส่วนหน้าของไฟล์ Markdown (ข้อมูลเมตาที่จุดเริ่มต้นของไฟล์)mistletoe
สำหรับแยกวิเคราะห์ไฟล์ Markdown ลงในแผนผังไวยากรณ์syntok
สำหรับการแยกข้อความออกเป็นประโยคregex
และ PyYAML
สำหรับฟังก์ชั่นยูทิลิตี้ต่างๆ split_markdown4gpt
มีประโยชน์อย่างยิ่งในสถานการณ์ที่คุณต้องการประมวลผลไฟล์ Markdown ขนาดใหญ่ด้วยโมเดล GPT ตัวอย่างเช่น:
การสร้างข้อความ : หากคุณใช้โมเดล GPT เพื่อสร้างข้อความตามไฟล์ Markdown ขนาดใหญ่ คุณสามารถใช้ split_markdown4gpt
เพื่อแบ่งไฟล์ออกเป็นส่วนต่างๆ ที่สามารถจัดการได้ ซึ่งช่วยให้โมเดล GPT ประมวลผลไฟล์เป็นชิ้นๆ ได้ เพื่อป้องกันข้อผิดพลาดโทเค็นล้น
การประมวลผลข้อมูลล่วงหน้า : ในโปรเจ็กต์แมชชีนเลิร์นนิง คุณมักจะต้องประมวลผลข้อมูลล่วงหน้าก่อนที่จะป้อนลงในโมเดลของคุณ หากข้อมูลของคุณอยู่ในรูปแบบของไฟล์ Markdown ขนาดใหญ่ split_markdown4gpt
สามารถช่วยคุณแบ่งไฟล์เหล่านี้ออกเป็นส่วนเล็กๆ ตามขีดจำกัดโทเค็นของโมเดลของคุณ
การวิเคราะห์เอกสาร : หากคุณกำลังวิเคราะห์เอกสาร Markdown ขนาดใหญ่ (เช่น การแยกคำหลัก การสรุปเนื้อหา) คุณสามารถใช้ split_markdown4gpt
เพื่อแยกย่อยเอกสารออกเป็นส่วนเล็กๆ ทำให้การวิเคราะห์สามารถจัดการได้และมีประสิทธิภาพมากขึ้น
ยินดีมีส่วนร่วมในการ split_markdown4gpt
! โปรดเปิดปัญหาหรือส่งคำขอดึงบนที่เก็บ GitHub