快速开始 - 本地开发
要运行文档的本地预览:http://localhost:3000 启动一个具有热重载功能的开发服务器。编辑 src/ 中的文件,即可立即看到更改。
先决条件
先决条件
编辑文档
在 GitHub 上快速编辑
在 GitHub 上快速编辑
对于拼写错误或小改动,无需本地设置即可直接在 GitHub 上编辑:
- 点击任何页面底部的 Edit this page on GitHub(在 GitHub 上编辑此页面)。
- Fork 到您的个人帐户。
- 在 GitHub 的网页编辑器中进行更改。
- 创建一个 pull request。
仅编辑
src/ 中的文件— build/ 目录是自动生成的。创建一个可共享的预览构建(仅限 LangChain 团队)
创建一个可共享的预览构建(仅限 LangChain 团队)
当您创建或更新 PR 时,会自动生成一个 预览分支/ID。ID 将作为评论留在 PR 上。
- 从评论中复制预览分支的 ID
- 在 Mintlify 仪表板 中,点击 Create preview deployment(创建预览部署)
- 输入预览分支的 ID 并点击 Create deployment(创建部署)
- 选择预览并点击 Visit(访问)以查看
运行质量检查
提交更改之前,请确保您的代码通过格式化和 linting 检查:README 中的 可用命令 部分。
文档类型
所有文档均属于以下四类之一:在适用情况下,所有文档都必须包含 Python 和 JavaScript/TypeScript 内容。有关更多详细信息,请参阅 同时放置 Python 和 JavaScript/TypeScript 内容 部分。
操作指南
操作指南是为知道自己想要完成什么任务的用户提供的面向任务的说明。操作指南的示例位于 LangChain 和 LangGraph 选项卡上。特点
特点
- 关注任务:专注于特定任务或问题
- 分步进行:将任务分解为更小的步骤
- 动手实践:提供具体的示例和代码片段
提示
提示
- 关注 如何做 而不是 为什么
- 使用具体的示例和代码片段
- 将任务分解为更小的步骤
- 链接到相关的概念指南和参考资料
概念指南
概念指南抽象地涵盖核心概念,提供深刻的理解。特点
特点
- 关注理解:解释事物为何如此运作
- 广阔视角:比其他类型更高、更宽的视野
- 面向设计:解释决策和权衡
- 丰富语境:使用类比和比较
提示
提示
- 关注 “为什么” 而不是 “如何做”
- 提供功能使用不一定需要的补充信息
- 可以使用类比和参考替代方案
- 避免混入过多的参考内容
- 链接到相关的教程和操作指南
参考
参考文档包含详细的底层信息,描述确切存在的功能以及如何使用它。 一份好的参考资料应该:- 描述存在的内容(所有参数、选项、返回值)
- 全面且结构化,便于查找
- 作为技术细节的权威来源
为参考资料做贡献
为参考资料做贡献
请参阅 JavaScript/TypeScript 参考文档 的贡献指南。
LangChain 参考最佳实践
LangChain 参考最佳实践
- 保持一致;遵循提供商特定文档的现有模式
- 包含基本用法(代码片段)和常见的边缘情况/故障模式
- 说明功能何时需要特定版本
何时创建新的参考文档
何时创建新的参考文档
- 新的集成或提供商需要专门的参考页面
- 复杂的配置选项需要详细说明
- API 更改引入了新参数或行为
- 社区经常询问有关特定功能的问题
教程
教程是较长的分步指南,它建立在自身基础上,并引导用户通过特定的实际活动来建立理解。教程通常位于 学习 选项卡上。如果没有迫切需要,我们通常不会合并来自外部贡献者的新教程。如果您觉得文档中缺少某个主题或涵盖不充分,请 打开一个新的 issue。
特点
特点
- 实用:专注于通过实际活动来建立理解。
- 分步进行:将活动分解为更小的步骤。
- 动手实践:提供顺序的、可工作的代码片段。
- 补充性:提供功能使用不一定需要的额外上下文和信息。
提示
提示
- 如果用户按顺序执行步骤,代码片段应该是连续的且可工作的。
- 为活动提供一些背景信息,但链接到相关的概念指南和参考资料以获取更详细的信息。
写作标准
参考文档有不同的标准 - 有关详细信息,请参阅 参考文档贡献指南。
Mintlify 组件
使用 Mintlify 组件 来增强可读性:- 标注
- 结构
- 代码
<Note>用于有用的补充信息<Warning>用于重要的警告和破坏性更改<Tip>用于最佳实践和建议<Info>用于中立的上下文信息<Check>用于成功确认
页面结构
每个文档页面必须以 YAML frontmatter 开头:同时放置 Python 和 JavaScript/TypeScript 内容
所有文档必须尽可能用 Python 和 JavaScript/TypeScript 编写。为此,我们使用自定义的内联语法来区分应出现在一种或两种语言中的部分:/oss/python/concepts/foo.mdx 和 /oss/javascript/concepts/foo.mdx 生成两个输出(每种语言一个)。每个输出页面都需要添加到 /src/docs.json 文件中才能包含在导航中。
我们不希望缺乏对等性阻碍贡献。如果某个功能仅在一种语言中可用,那么在该语言赶上之前,只在该语言中拥有文档是可以的。在这种情况下,请包含一个注释,说明该功能在另一种语言中尚不可用。如果您需要帮助在 Python 和 JavaScript/TypeScript 之间翻译内容,请在 社区 slack 中提问或在您的 PR 中标记维护者。
质量标准
一般准则
避免重复
避免重复
涵盖相同材料的多个页面难以维护并会导致混淆。每个概念或功能应该只有一个规范页面。链接到其他指南而不是重新解释。
经常链接
经常链接
文档部分并非孤立存在。经常链接到其他部分,让用户了解不熟悉的主题。这包括链接到 API 参考和概念部分。
简洁
简洁
采取少即是多的方法。如果存在另一个解释很好的部分,请链接到它而不是重新解释,除非您的内容提出了新的角度。
可访问性要求
确保所有用户都可以访问文档:- 使用标题和列表构建内容以便于扫描
- 使用具体的、可操作的链接文本,而不是“点击这里”
- 为所有图像和图表包含描述性的替代文本
交叉引用
使用一致的交叉引用将文档与 API 参考文档连接起来。 从文档到 API 参考: 使用@[] 语法链接到 API 参考页面:
@[ChatAnthropic] 会变成指向 Python 或 JS API 参考页面的链接,具体取决于正在构建的文档版本,但前提是 link_map.py 文件中存在条目! 有关详细信息,请参见下文。
自动链接的工作原理
自动链接的工作原理
@[] 语法由 handle_auto_links.py 处理。它在 link_map.py 中查找链接键,其中包含 Python 和 JavaScript 范围的字典映射。支持的格式:| 语法 | 结果 |
|---|---|
@[ChatAnthropic] | 链接,显示文本为 “ChatAnthropic” |
@[`ChatAnthropic`] | 链接,显示文本为 `ChatAnthropic`(代码格式) |
@[text][ChatAnthropic] | 链接,显示文本为 “text”,ChatAnthropic 为链接映射中的键 |
\@[ChatAnthropic] | 转义:渲染为字面量 @[ChatAnthropic](无链接——本页正在使用的!) |
- 打开
pipeline/preprocessors/link_map.py - 在
LINK_MAPS中的适当范围(python或js)添加一个条目 - 键是
@[key]或@[text][key]中使用的链接名称,值是相对于参考主机的路径
获得帮助
我们的目标是拥有尽可能简单的开发者设置。如果您在设置过程中遇到任何困难,请在 社区 slack 中提问或打开一个 论坛帖子。内部团队成员可以在 #documentation Slack 频道中联系。通过 MCP 将 这些文档 连接到 Claude、VSCode 等,以获得实时解答。

