split_markdown4gpt
هي أداة Python مصممة لتقسيم ملفات Markdown الكبيرة إلى أقسام أصغر بناءً على حد رمزي محدد. يعد هذا مفيدًا بشكل خاص لمعالجة ملفات Markdown الكبيرة باستخدام نماذج GPT، حيث يسمح للنماذج بمعالجة البيانات في أجزاء يمكن التحكم فيها.
الإصدار 1.0.9 (2023-06-19)
يمكنك تثبيت split_markdown4gpt
عبر النقطة:
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
إلى أقسام، لا يحتوي كل منها على أكثر من 4096 رمزًا مميزًا (كما تم حسابها بواسطة نموذج gpt-3.5-turbo
). سيتم فصل الأقسام بواسطة === SPLIT ===
.
جميع خيارات سطر الأوامر:
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
لترميز النص وفقًا لقواعد نموذج GPT.fire
لإنشاء CLI.frontmatter
لتحليل المادة الأمامية لملف Markdown (البيانات الوصفية في بداية الملف).mistletoe
لتحليل ملف Markdown في شجرة بناء الجملة.syntok
لتقسيم النص إلى جمل.regex
و PyYAML
لوظائف المرافق المختلفة. يعد split_markdown4gpt
مفيدًا بشكل خاص في السيناريوهات التي تحتاج فيها إلى معالجة ملفات Markdown الكبيرة باستخدام نماذج GPT. على سبيل المثال:
إنشاء النص : إذا كنت تستخدم نموذج GPT لإنشاء نص استنادًا إلى ملف Markdown كبير، فيمكنك استخدام split_markdown4gpt
لتقسيم الملف إلى أقسام يمكن التحكم فيها. يسمح هذا لنموذج GPT بمعالجة الملف في أجزاء، مما يمنع أخطاء تجاوز سعة الرمز المميز.
المعالجة المسبقة للبيانات : في مشاريع التعلم الآلي، غالبًا ما تحتاج إلى معالجة بياناتك مسبقًا قبل إدخالها في النموذج الخاص بك. إذا كانت بياناتك في شكل ملفات Markdown كبيرة، فيمكن أن يساعدك split_markdown4gpt
في تقسيم هذه الملفات إلى أقسام أصغر بناءً على حد الرمز المميز لنموذجك.
تحليل المستند : إذا كنت تقوم بتحليل مستندات Markdown كبيرة الحجم (على سبيل المثال، استخراج الكلمات الرئيسية وتلخيص المحتوى)، فيمكنك استخدام split_markdown4gpt
لتقسيم المستندات إلى أقسام أصغر. وهذا يجعل التحليل أكثر قابلية للإدارة وكفاءة.
نرحب بالمساهمات في split_markdown4gpt
! الرجاء فتح مشكلة أو إرسال طلب سحب على مستودع GitHub.