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 存储库上提出问题或提交拉取请求。