split_markdown4gpt
是一個 Python 工具,旨在根據指定的標記限制將大型 Markdown 檔案拆分為較小的部分。這對於使用 GPT 模型處理大型 Markdown 檔案特別有用,因為它允許模型以可管理的區塊處理資料。
版本1.0.9 (2023-06-19)
您可以透過 pip 安裝split_markdown4gpt
:
pip install split_markdown4gpt
安裝後,您可以使用mdsplit4gpt
指令來分割 Markdown 檔案。這是基本語法:
mdsplit4gpt path_to_your_file.md --model gpt-3.5-turbo --limit 4096 --separator " === SPLIT === "
此指令將把path_to_your_file.md
處的 Markdown 檔案分成幾個部分,每個部分包含不超過 4096 個標記(以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 ===".
您也可以在 Python 程式碼中使用split_markdown4gpt
。這是一個基本範例:
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
工作原理是使用指定的 GPT 模型的標記產生器(預設為gpt-3.5-turbo
)對輸入 Markdown 檔案進行標記。然後,它將檔案分成幾個部分,每個部分包含的內容不超過指定的令牌限制。
拆分過程尊重 Markdown 文件的架構。它不會將一個部分(由 Markdown 標題定義)分割為多個輸出部分,除非該部分長度超過標記限制。在這種情況下,它
將在句子級別拆分該部分。
該工具使用多個庫來完成此任務:
tiktoken
用於根據 GPT 模型的規則對文本進行標記。fire
。frontmatter
用來解析 Markdown 文件的前面內容(文件開頭的元資料)。mistletoe
,用於將 Markdown 檔案解析為語法樹。syntok
用於將文字分割成句子。regex
和PyYAML
。split_markdown4gpt
在需要使用 GPT 模型處理大型 Markdown 檔案的場景中特別有用。例如:
文字產生:如果您使用 GPT 模型根據大型 Markdown 文件產生文本,則可以使用split_markdown4gpt
將文件拆分為可管理的部分。這允許 GPT 模型分塊處理文件,防止令牌溢出錯誤。
資料預處理:在機器學習專案中,您通常需要在將資料輸入模型之前對其進行預處理。如果您的資料採用大型 Markdown 檔案的形式, split_markdown4gpt
可以幫助您根據模型的令牌限制將這些檔案拆分為較小的部分。
文件分析:如果您正在分析大型 Markdown 文件(例如,提取關鍵字、總結內容),您可以使用split_markdown4gpt
將文件分解為更小的部分。這使得分析更加易於管理和高效。
歡迎為split_markdown4gpt
做出貢獻!請在 GitHub 儲存庫上提出問題或提交拉取請求。