Python解析llms.txt一键生成大语言模型上下文XML详细教程
最近在研究 LLM 上下文工程(Context Engineering)时,发现一个特别实用的工具——`llms-txt`。它的职责非常纯粹:将项目里的 `llms txt` 文件转换成大型语言模型能够直接理解的 XML 上下文文档。 做 AI Agent、RAG、Claude 项目或 Prompt
### 前言 `llms-txt` 的核心价值一句话就能说清楚:**将 Markdown 格式的项目描述,转化为 LLM 可以直接使用的结构化上下文**。 它主要完成三件事: - 解析 `llms.txt` 的区块结构 - 提取标题、摘要、文档链接、示例链接等信息 - 输出一个整洁的 XML 文档,直接喂给 Claude、GPT 等模型作为背景知识 接下来完整介绍:CLI 如何使用、Python API 如何调用、核心解析原理(附 20 行实现),以及适合在哪些场景落地。
### 一、什么是 llms.txt 简单来说,它是一种用 Markdown 描述项目的方式——把文档、示例、知识链接按照固定结构组织起来。 下面是一个典型示例: ```ja vascript # FastHTML > FastHTML is a python library which... When writing FastHTML apps remember to: - Thing to remember ## Docs - [Surreal](https://host/README.md): Tiny jQuery alternative - [FastHTML quick start](https://host/quickstart.html.md) ## Examples - [Todo app](https://host/adv_app.py) ## Optional - [Starlette docs](https://host/starlette-sml.md) ``` 核心区块只有四个: | 区块 | 含义 | |------|------| | Title | 项目名称 | | Summary | 项目简介(`>` 引用的文字) | | Info | 额外说明(标题和摘要之后、第一个 `##` 之前的内容) | | Sections | 文档、示例、可选等分类链接,每类下放一个列表 |
### 二、安装 llms-txt ```ja vascript pip install llms-txt ``` 安装完成后,命令行就会多出 `llms_txt2ctx` 命令。 ```ja vascript llms_txt2ctx ```
### 三、CLI 使用教程 查看帮助: ```ja vascript llms_txt2ctx -h ``` 将 `llms.txt` 转换为 XML 上下文(默认不包含 Optional 区块): ```ja vascript llms_txt2ctx llms.txt > llms.md ``` 如果需要包含 Optional 区块: ```ja vascript llms_txt2ctx llms.txt --optional True > llms.md ``` 生成的内容可以直接交给 Claude 或 GPT,无需额外处理。
### 四、Python API 使用 除了命令行,它还提供 Python 模块,适合在项目中实现自动化。 #### 导入模块 ```ja vascript from llms_txt import * from pathlib import Path ``` 读取 `llms.txt`: ```ja vascript samp = Path('llms-sample.txt').read_text() ```
#### 1️⃣ 解析 llms.txt ```ja vascript parsed = parse_llms_file(samp) ``` 解析后,得到的 `parsed` 是一个命名元组,包含四个字段: ```ja vascript list(parsed) # ['title', 'summary', 'info', 'sections'] ``` 查看标题和摘要: ```ja vascript parsed.title, parsed.summary # ('FastHTML', 'FastHTML is a python library...') ``` 查看所有 section 名称: ```ja vascript list(parsed.sections) # ['Docs', 'Examples', 'Optional'] ``` 查看某条链接的具体内容: ```ja vascript parsed.sections.Optional[0] # {"desc": "A subset of the Starlette documentation useful...", # "title": "Starlette full documentation", # "url": "https://..."} ```
#### 2️⃣ 生成 LLM XML 上下文 最关键的一步——把解析结果转成 XML 文档: ```ja vascript ctx = create_ctx(samp) print(ctx[:300]) ``` 输出的内容类似: ```ja vascript
### 五、核心实现原理(重点) 官方给出了一个**无依赖、20 行的解析器**,非常值得学习。 #### 完整解析器 ```ja vascript from pathlib import Path import re, itertools def chunked(it, chunk_sz): it = iter(it) return iter(lambda: list(itertools.islice(it, chunk_sz)), []) def parse_llms_txt(txt): "Parse llms.txt file contents in `txt` to a `dict`" def _p(links): link_pat = r'- \[(?P
### 六、适用场景 这个工具在以下几个场景中尤其顺手: #### AI Agent 项目 自动将项目文档整理成 Claude / GPT 可理解的上下文,省去手工拼接 Prompt 的麻烦。 #### RAG 系统 把知识库统一转为 XML 格式,方便批量更新和索引。 #### 开源项目 为项目提供一个“AI Readme”,告诉模型从哪读文档、看哪些示例,大幅提升代码理解效率。
### 七、总结 `llms-txt` 堪称 **LLM 时代的 README 生成器**。它的核心价值: - 把 Markdown 文档 → LLM 可读的 XML - 提供 CLI 和 Python API 两种使用方式 - 可嵌入 AI Agent、RAG、自动文档系统 - 核心实现极为轻量(20 行即可实现) 如果你的工作涉及 AI 相关项目,这个工具值得加入你的工具链。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
CAD零基础入门教程:坐标输入、图层管理与基础绘图命令
本文面向CAD零基础学习者,系统讲解坐标输入、图层管理与基础绘图命令的核心用法。通过分步实操与常见问题排查,帮助新手建立精确绘图习惯,掌握规范出图的基础能力。
CAD从入门到项目交付:绘图、标注、图块与实战工作流
掌握CAD的核心在于建立“画得准、标得清、复用快、交付稳”的工作流。本文提供从环境设置、高频命令组合、标注规范、图块标准化到项目分阶段交付的完整路径,帮助初学者避免常见返工陷阱,独立完成可检查、可复用、可打印的工程图纸。
Claude Code 登录指南:个人、Teams 与企业账号区分与授权步骤
本文详细解析 Claude Code 登录前的账号类型区分方法,涵盖个人订阅、Teams 席位与企业 Enterprise 席位的授权路径差异。提供终端登录命令、环境变量排查及常见异常处理步骤,帮助用户快速完成正确授权并避免登录路径混淆。
Claude Code 文件修改前的权限模式配置与命令审批指南
本文详细介绍Claude Code在修改文件前的权限模式配置方法,包括defaultMode可选值、permissions allow与deny规则设置、多层级配置文件管理以及 status验证技巧,帮助开发者安全高效地使用AI编程助手。
Claude Code接入VS Code后先测扩展和终端命令
在VS Code中接入Claude Code后,建议优先验证扩展面板与集成终端两条入口。本文提供标准检查顺序、关键命令与常见故障排查路径,帮助你快速确认环境就绪,避免后续开发受阻。
- 热门数据榜
相关攻略
2026-09-01 16:53
2026-09-01 16:52
2026-09-01 14:27
2026-09-01 14:12
2026-09-01 14:10
2026-09-01 14:07
2026-09-01 13:55
2026-09-01 13:47
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

