68 lines
2.0 KiB
Markdown
68 lines
2.0 KiB
Markdown
|
# Markdown 处理工具
|
|||
|
|
|||
|
这是一个用于处理 Markdown 文件的工具,它可以根据一级标题将文件内容分块,然后使用大型语言模型(LLM)处理每个块,最后将处理后的结果合并生成新的 Markdown 文件。
|
|||
|
|
|||
|
## 功能特点
|
|||
|
|
|||
|
- 读取 Markdown 文件
|
|||
|
- 根据一级标题(#)对文件内容进行切分
|
|||
|
- 确保每个块的长度小于指定的最大长度
|
|||
|
- 使用 LM-Studio 的 OpenAI 兼容接口处理每个块
|
|||
|
- 合并处理后的结果生成新的 Markdown 文件
|
|||
|
|
|||
|
## 安装要求
|
|||
|
|
|||
|
- Python 3.6+
|
|||
|
- OpenAI Python 库
|
|||
|
- LM-Studio(用于本地运行大语言模型)
|
|||
|
|
|||
|
## 安装依赖
|
|||
|
|
|||
|
```bash
|
|||
|
pip install openai
|
|||
|
```
|
|||
|
|
|||
|
## 使用方法
|
|||
|
|
|||
|
1. 确保 LM-Studio 已启动并运行在默认端口(http://localhost:1234)
|
|||
|
|
|||
|
2. 运行脚本处理 Markdown 文件:
|
|||
|
|
|||
|
```bash
|
|||
|
python markdown_processor.py input.md output.md
|
|||
|
```
|
|||
|
|
|||
|
### 命令行参数
|
|||
|
|
|||
|
- `input_file`:输入的 Markdown 文件路径(必需)
|
|||
|
- `output_file`:输出的 Markdown 文件路径(必需)
|
|||
|
- `--max_length`:每个块的最大长度,默认为 4000
|
|||
|
- `--model`:使用的 LLM 模型名称,默认为 'gpt-3.5-turbo'
|
|||
|
- `--api_base`:API 基础 URL,默认为 'http://localhost:1234/v1'
|
|||
|
|
|||
|
### 示例
|
|||
|
|
|||
|
```bash
|
|||
|
# 基本用法
|
|||
|
python markdown_processor.py my_document.md processed_document.md
|
|||
|
|
|||
|
# 指定最大块长度
|
|||
|
python markdown_processor.py my_document.md processed_document.md --max_length 2000
|
|||
|
|
|||
|
# 指定不同的模型和API地址
|
|||
|
python markdown_processor.py my_document.md processed_document.md --model llama3 --api_base http://localhost:8000/v1
|
|||
|
```
|
|||
|
|
|||
|
## 工作原理
|
|||
|
|
|||
|
1. 读取指定的 Markdown 文件
|
|||
|
2. 根据一级标题(#)将内容分块,确保每个块小于指定的最大长度
|
|||
|
3. 使用 LM-Studio 的 OpenAI 兼容接口处理每个块
|
|||
|
4. 将处理后的块合并生成新的 Markdown 文件
|
|||
|
5. 保存结果到指定的输出文件
|
|||
|
|
|||
|
## 注意事项
|
|||
|
|
|||
|
- 确保 LM-Studio 已经启动并正在运行
|
|||
|
- 如果没有一级标题,整个内容将作为一个块处理
|
|||
|
- 如果单个块超过最大长度,将进一步分割
|