公告

👇公众号👇

欢迎大家关注&私信交流

Skip to content

llms.txt:让 AI 更好地理解你的文档

"如何让 AI 更准确地理解我的文档?" 这个问题困扰着越来越多的开发者。当我们花费大量时间精心编写的技术文档被 AI 误解或忽略时,那种挫折感想必不少人都体会过。llms.txt 正是为解决这一痛点而生的新兴标准,它就像是你和 AI 之间的"翻译官",帮助 ChatGPT、Claude 等 AI 工具更精准地理解你的网站内容。本文将带你探索这个小众但强大的标准,以及如何通过 vitepress-plugin-llms 插件轻松为你的 VitePress 文档添加这一能力。

什么是 llms.txt?

llms.txt 是一个专为大型语言模型(Large Language Models,简称 LLMs)设计的文本文件,类似于 robots.txt,但目的不同。robots.txt 告诉搜索引擎爬虫哪些页面可以爬取,而 llms.txt 则是为 AI 工具提供网站内容的结构化信息,帮助 AI 更好地理解和索引网站内容。

llms.txt 的名称中的 "llms" 代表 "Large Language Models",表明这个文件是专门为大型语言模型设计的。

llms.txt 的由来

随着 ChatGPT、Claude 等 AI 工具的普及,开发者希望这些 AI 工具能够更好地理解和索引他们的文档。然而,AI 工具在抓取和理解网站内容时面临着一些挑战:

  1. 网站结构复杂,AI 难以理解内容之间的关系
  2. 网站内容可能分散在多个页面,AI 难以获取完整信息
  3. 网站可能包含动态内容,AI 难以抓取

为了解决这些问题,一些开发者和 AI 公司开始探索一种标准化的方式,让网站所有者能够主动向 AI 工具提供网站内容的结构化信息。这就是 llms.txt 的由来。

llms.txt 的规范

llms.txt 文件通常放置在网站的根目录下,例如 https://example.com/llms.txt。它的内容格式比较自由,但通常包含以下几个部分:

  1. 网站标题和描述:简要介绍网站的主题和内容
  2. 内容目录:列出网站的主要页面和链接
  3. 内容摘要:提供网站主要内容的摘要

此外,还有一个扩展版本 llms-full.txt,它包含网站的完整内容,让 AI 工具能够获取网站的所有信息。

下面是一个简单的 llms.txt 示例:

# 我的技术博客

这是一个关于前端开发的技术博客,主要分享 Vue、React 和 TypeScript 相关的技术文章。

## 文档目录

- [首页](/)
- [Vue 教程](/vue)
- [React 教程](/react)
- [TypeScript 教程](/typescript)
- [关于我](/about)

llms.txt 的作用

llms.txt 为 AI 工具提供了一种统一的方式来获取和理解网站内容,具有以下几个主要作用:

  1. 提高 AI 理解准确性:通过提供结构化的内容信息,帮助 AI 更准确地理解网站内容
  2. 增强 AI 回答质量:AI 可以基于更完整的信息提供更准确、更有深度的回答
  3. 控制 AI 访问内容:网站所有者可以主动决定向 AI 提供哪些内容
  4. 减少 AI 抓取负担:AI 工具可以直接获取结构化的内容,减少对网站的抓取负担

vitepress-plugin-llms 插件介绍

vitepress-plugin-llms 是一个专为 VitePress 文档网站设计的插件,它可以自动生成 llms.txt 和 llms-full.txt 文件,让你的 VitePress 文档更好地被 AI 工具理解和索引。

插件特性

  • 自动生成 llms.txt 和 llms-full.txt 文件
  • 支持自定义网站标题和描述
  • 支持自定义模板变量
  • 支持忽略特定文件
  • 支持 Netlify 部署

安装和使用

安装插件:

bash
npm install vitepress-plugin-llms -D
# 或者使用 pnpm
pnpm add vitepress-plugin-llms -D

在 VitePress 配置文件中使用插件:

javascript
// docs/.vitepress/config.js
import { defineConfig } from 'vitepress'
import llmstxt from 'vitepress-plugin-llms'

export default defineConfig({
  // ... 其他配置
  vite: {
    plugins: [
      llmstxt()
    ]
  }
})

如果你使用 Netlify 部署,还需要创建一个 _redirects 文件:

/llms-full.md    /llms-full.txt 200!
/llms-full.txt   /llms-full.txt 200!
/llms.md         /llms.txt 200!
/llms.txt        /llms.txt 200!

Wot Design Uni 项目中的应用

在 Wot Design Uni 组件库文档项目中,我们引入了 vitepress-plugin-llms 插件,以便让 AI 工具更好地理解和索引我们的文档内容。

引入过程

  1. 首先,我们安装了 vitepress-plugin-llms 插件:
bash
pnpm add vitepress-plugin-llms -D
  1. 然后,在 VitePress 配置文件中添加了插件配置:
javascript
// docs/.vitepress/config.mts
import { defineConfig } from 'vitepress';
import viteCompression from 'vite-plugin-compression'
import { fileURLToPath, URL } from 'node:url'
import { MarkdownTransform } from './plugins/markdown-transform'
import enUS from './locales/en-US'
import zhCN from './locales/zh-CN'
import llmstxt from 'vitepress-plugin-llms'

export default defineConfig({
  vite: {
    plugins: [
      MarkdownTransform(),
      viteCompression({
        verbose: true,
        disable: false,
        threshold: 10240,
        algorithm: 'gzip',
        ext: '.gz',
      }),
      llmstxt()
    ],
    // ... 其他配置
  },
  // ... 其他配置
})
  1. 最后,我们创建了 Netlify 重定向规则文件:
// docs/public/_redirects
/llms-full.md    /llms-full.txt 200!
/llms-full.txt   /llms-full.txt 200!
/llms.md         /llms.txt 200!
/llms.txt        /llms.txt 200!

引入此插件的作用

引入 vitepress-plugin-llms 插件对 Wot Design Uni 项目有以下几个重要作用:

  1. 提升文档可发现性:让 AI 工具更容易发现和索引我们的组件文档,使用户在使用 AI 工具时能够更容易找到 Wot Design Uni 的相关信息。

  2. 增强用户体验:用户在使用 ChatGPT、Claude 等 AI 工具时,可以获得关于 Wot Design Uni 组件的更准确、更详细的信息,提升用户体验。

  3. 减少误解:通过提供结构化的文档信息,减少 AI 工具对 Wot Design Uni 组件的误解,确保用户获得正确的使用指导。

  4. 扩大影响力:随着越来越多的开发者通过 AI 工具获取技术信息,让 AI 工具更好地理解我们的文档可以扩大 Wot Design Uni 的影响力。

  5. 未来兼容性:随着 AI 技术的发展,llms.txt 标准可能会得到更广泛的支持,提前引入这一标准可以确保我们的文档在未来 AI 生态中保持良好的可访问性。

总结

llms.txt 为 AI 工具提供了一种统一的方式来获取和理解网站内容,而 vitepress-plugin-llms 插件则让 VitePress 文档网站轻松支持这一标准。通过在 Wot Design Uni 项目中引入这一插件,我们让 AI 工具能够更好地理解和索引我们的文档内容,为用户提供更准确、更有价值的信息。

随着 AI 技术的不断发展,llms.txt 标准可能会得到更广泛的支持和应用。作为开发者,我们可以通过引入这一标准,让我们的文档在 AI 时代保持良好的可访问性和可发现性。

上次更新于: