自定义 LLM 输出
自定义 LLM 输出
通过使用 <llms-only> 和 <llms-ignore> 标签在页面内过滤内容、使用查询参数过滤端点输出、使用 noindex 排除页面或提供您自己的自定义文件来自定义 LLM 从您的站点接收的内容。
页面内过滤
在页面内,使用 <llms-only> 和 <llms-ignore> 标签来控制哪些内容暴露给 AI,哪些内容显示给文档站点上的人类读者。
仅供 AI 使用的内容
<llms-only> 内容仅出现在外部代理(如 Claude、ChatGPT 或 Cursor)直接获取的 LLM 服务端点上:/llms.txt、/llms-full.txt 和每个页面的 .md/.mdx 源文件。它在所有面向人类的界面中都被隐藏,包括渲染页面、复制页面、搜索组件和 Ask Fern。
使用 <llms-only> 用于:
- 对 AI 有帮助但过于冗长的技术上下文,如实现细节或架构说明
- 会使人类 UI 混乱的代码相关元数据
- 帮助 AI 理解页面之间关系的交叉引用
仅供人类使用的内容
<llms-ignore> 内容出现在所有面向人类的界面上,包括渲染页面、复制页面、搜索组件和 Ask Fern(它会索引并像引用其他页面内容一样引用此内容)。它会从 LLM 服务端点(/llms.txt、/llms-full.txt 和每个页面的 .md/.mdx 源文件)中被移除。
使用 <llms-ignore> 用于:
- 营销 CTA 或推广内容
- 仅供人类读者使用的导航提示
- 应该仅保留在源文件中的内部注释
示例
Fern 自己的 docs 快速开始 将 GitHub UI 点击步骤与其 CLI 等效操作配对:
使用 fern-api/docs-starter 仓库作为您站点的模板:
- 导航到 fern-api/docs-starter 并点击 Use this template 按钮(位于此页面右上角)。您必须登录 GitHub。
- 选择 create a new repository 选项。将其命名为
fern-docs。 - 克隆您新创建的仓库并在您喜欢的代码编辑器中打开它(例如,Cursor、VS Code)。
在文档站点上,人类读者只能看到编号的 UI 步骤 —— <llms-only> 块被隐藏。读取此页面 Markdown 输出的 LLM 看到的相反:没有 UI 步骤,只有它们可以实际运行的 gh repo create 命令。每个受众都得到他们可以执行的路径。
指导原则:仅 UI 元素属于人类读者,而它们的程序化等效操作属于 AI 代理。 将可点击的卡片和 UI 演练包装在 <llms-ignore> 中,这样代理会跳过它们,并为每个 UI 步骤配对一个 <llms-only> 块,提供 CLI 或 API 等效操作。
要预览和调试 AI 在任何页面上看到的内容,您可以在页面 URL 后添加 .md 或 .mdx 来查看其 Markdown 源文件。
过滤端点输出
使用 lang 和 excludeSpec 查询参数过滤 llms.txt 和 llms-full.txt 输出以减少令牌使用量。参数也可以组合使用。
将 SDK 代码示例过滤到特定语言。也接受常见别名:javascript、typescript、js、ts、py 和 golang。不区分大小写。
排除 OpenAPI 和 AsyncAPI 规范部分。
排除整个页面
您可以通过在页面的 frontmatter 中添加 noindex: true 来从 LLM 端点(llms.txt 和 llms-full.txt)中排除整个页面。标记为 noindex 的页面不会被搜索引擎索引,但在您的侧边栏导航中保持可见,仍然可以通过 URL 直接访问。要同时从导航中隐藏页面,请参阅隐藏内容。
提供自定义文件
要提供您自己的 llms.txt 或 llms-full.txt 而不是自动生成的版本,请在 docs.yml 中的 agents 键下指向您的文件:
路径相对于 docs.yml 文件。CLI 会验证每个文件是否存在,并将其作为文档部署的一部分上传。您的自定义文件在根级别的 /llms.txt 和 /llms-full.txt 端点提供服务。嵌套路径(例如,/api-reference/llms.txt)继续使用自动生成的输出。
您可以提供一个或两个文件。任何您未指定的文件都会回退到自动生成的版本。