news 2026/4/22 3:25:26

Python解析 llms.txt 的教程:一键生成LLM上下文XML

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python解析 llms.txt 的教程:一键生成LLM上下文XML

Python解析 llms.txt 的教程:一键生成LLM上下文XML

关键词:Python教程、LLM上下文生成、llms.txt解析、AI上下文工程、Claude context、Python CLI工具、Prompt工程


前言

最近在研究LLM上下文工程(Context Engineering)时,发现一个非常实用的小工具:llms-txt
它的作用非常明确:把 llms.txt 文件转换成适合大模型使用的 XML 上下文文档

这类工具在做 AI Agent、RAG、Claude 项目、Prompt工程 时非常实用,可以把项目文档自动整理成模型可理解的结构化上下文。

本文将完整介绍:

  • llms.txt 是什么
  • 如何使用 CLI
  • 如何使用 Python API
  • 原理解析(含20行实现的解析器)

一、什么是 llms.txt

一句话理解:

llms.txt 是专门给大模型看的 README

它使用 Markdown 描述项目,并把文档、示例、知识链接按结构组织。

示例:

# 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额外说明
SectionsDocs / Examples / Optional

二、安装 llms-txt

pipinstallllms-txt

安装完成后会得到 CLI 命令:

llms_txt2ctx

三、CLI 使用教程

查看帮助

llms_txt2ctx-h

转换 llms.txt 为 XML 上下文

llms_txt2ctx llms.txt>llms.md

如果需要包含 Optional 区块:

llms_txt2ctx llms.txt--optionalTrue>llms.md

生成的内容就是可直接喂给 Claude / GPT 的上下文文档


四、Python API 使用

除了 CLI,它还提供 Python 模块,适合在项目中自动化生成上下文。

导入模块

fromllms_txtimport*frompathlibimportPath

读取 llms.txt:

samp=Path('llms-sample.txt').read_text()

1️⃣ 解析 llms.txt

parsed=parse_llms_file(samp)

解析后得到结构:

list(parsed)

输出:

['title','summary','info','sections']

查看标题和摘要:

parsed.title,parsed.summary

输出:

('FastHTML','FastHTML is a python library...')

查看所有 section:

list(parsed.sections)

输出:

['Docs','Examples','Optional']

查看某条链接:

parsed.sections.Optional[0]

返回结构:

{"desc":"A subset of the Starlette documentation useful...","title":"Starlette full documentation","url":"https://..."}

2️⃣ 生成 LLM XML 上下文

最关键一步:

ctx=create_ctx(samp)print(ctx[:300])

生成结果类似:

<projecttitle="FastHTML"summary="...">Remember: - Use serve() for running uvicorn ...

这一步就是CLI 背后的核心逻辑


五、核心实现原理(重点)

官方给了一个无依赖 20 行解析器,非常值得学习。

完整解析器

frompathlibimportPathimportre,itertoolsdefchunked(it,chunk_sz):it=iter(it)returniter(lambda:list(itertools.islice(it,chunk_sz)),[])defparse_llms_txt(txt):"Parse llms.txt file contents in `txt` to a `dict`"def_p(links):link_pat='-\s*\[(?P<title>[^\]]+)\]\((?P<url>[^\)]+)\)(?::\s*(?P<desc>.*))?'return[re.search(link_pat,l).groupdict()forlinre.split(r'\n+',links.strip())ifl.strip()]start,*rest=re.split(fr'^##\s*(.*?$)',txt,flags=re.MULTILINE)sects={k:_p(v)fork,vindict(chunked(rest,2)).items()}pat='^#\s*(?P<title>.+?$)\n+(?:^>\s*(?P<summary>.+?$)$)?\n+(?P<info>.*)'d=re.search(pat,start.strip(),(re.MULTILINE|re.DOTALL)).groupdict()d['sections']=sectsreturnd

关键技术点

技术用途
正则分块解析拆分 Markdown 区块
groupdict()直接生成结构化字典
itertools.islice两两分组 section
无第三方依赖轻量可嵌入

这是一个非常典型的结构化文本解析器


六、适用场景

这个工具非常适合:

AI Agent 项目

  • 自动整理项目文档
  • 提供给 Claude / GPT 作为上下文

RAG 系统

  • 把知识库转为统一 XML
  • 自动更新上下文

开源项目

  • 提供 “AI Readme”
  • 提升 AI 可读性

七、总结

llms-txt = LLM时代的 README 生成器

核心价值:

  • 将 Markdown 文档 → 转换为 LLM可读XML
  • 提供 CLI + Python API
  • 可嵌入 AI Agent / RAG / 自动文档系统
  • 实现极其轻量(甚至20行即可)

如果正在做 AI 项目,这个工具值得加入工具链。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 3:20:30

2026中小企业AI超级员工选型:5款高适配工具实测指南

2026年&#xff0c;人工智能已成为中小企业破解获客成本高、运营效率低、人力投入大三大痛点的核心引擎。行业实测数据表明&#xff0c;落地AI超级员工系统的中小企业&#xff0c;平均获客成本下降60%、运营效率提升120%&#xff0c;整体投入仅为传统人力模式的1/5。当前市场AI…

作者头像 李华
网站建设 2026/4/22 3:20:24

Python实战:用hexdump揪出伪装成PNG的M3U8视频分片(附完整代码)

Python实战&#xff1a;用hexdump揪出伪装成PNG的M3U8视频分片&#xff08;附完整代码&#xff09; 当你兴致勃勃地下载网络视频时&#xff0c;突然发现获取到的不是预期的TS流文件&#xff0c;而是一堆看似毫无关联的PNG图片——这种场景对于经常处理流媒体数据的开发者来说并…

作者头像 李华