split_markdown4gpt
は、指定されたトークン制限に基づいて大きな Markdown ファイルを小さなセクションに分割するように設計された Python ツールです。これは、モデルが管理可能なチャンクでデータを処理できるため、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 ファイルの構造が尊重されます。セクションがトークン制限を超えない限り、(マークダウンの見出しで定義された) セクションが複数の出力セクションに分割されることはありません。その場合、それは
文レベルでセクションを分割します。
このツールは、これを実現するためにいくつかのライブラリを使用します。
tiktoken
。fire
。frontmatter
。mistletoe
Markdown ファイルを構文ツリーに解析します。syntok
。regex
とPyYAML
。split_markdown4gpt
、GPT モデルを使用して大きな Markdown ファイルを処理する必要があるシナリオで特に役立ちます。例えば:
テキスト生成: GPT モデルを使用して大きな Markdown ファイルに基づいてテキストを生成している場合は、 split_markdown4gpt
使用してファイルを管理可能なセクションに分割できます。これにより、GPT モデルはファイルをチャンク単位で処理できるようになり、トークン オーバーフロー エラーを防ぐことができます。
データの前処理: 機械学習プロジェクトでは、多くの場合、データをモデルにフィードする前にデータを前処理する必要があります。データが大きな Markdown ファイルの形式である場合、 split_markdown4gpt
使用すると、モデルのトークン制限に基づいてこれらのファイルを小さなセクションに分割できます。
ドキュメント分析: 大規模な Markdown ドキュメントを分析している場合 (キーワードの抽出、コンテンツの要約など)、 split_markdown4gpt
使用してドキュメントを小さなセクションに分割できます。これにより、分析がより管理しやすく効率的になります。
split_markdown4gpt
への貢献は大歓迎です! GitHub リポジトリで問題を開くか、プル リクエストを送信してください。