文档贡献指南
本指南帮助您为LangChainGo贡献文档。我们特别需要有关教程和操作指南的帮助!
文档结构
我们的文档分为四个主要类别:
1. 概念
目的: 解释理念并提供背景信息
- 架构概览
- 设计决策
- 理论基础
2. 教程
目的: 分步学习体验
- 完整的可运行项目
- 进阶复杂度
- 实际应用案例
3. 操作指南
目的: 解决特定问题
- 针对单一任务
- 假设读者具备一定知识
- 实用解决方案
4. API参考文档
目的: 技术规范
- 从代码注释生成
- 完整参数文档
- 使用示例
编写教程
教程是完整的学习体验。以下是编写优秀教程的方法:
教程模板
# 构建[您要构建的内容]
[读者将要构建的一句话描述]
## 您将要构建的项目
一个 [类型的应用程序],它:
- [功能1]
- [功能2]
- [功能3]
## 先决条件
- Go 1.21+
- [所需API密钥]
- [其他要求]
## 步骤1:[第一个任务]
[简要说明此步骤的目的]
```go
// 完整的可运行代码
步骤2:[下一个任务]
[继续进行逐步操作...]
运行应用程序
# 清晰的操作命令
下一步
- [潜在改进]
- [相关教程]
### 教程指南
1. **从简单开始**: 用最少的代码开始
2. **逐步增加复杂度**: 每步添加一点复杂性
3. **解释原因**: 不仅展示怎么做,还要说明为什么
4. **完整代码**: 每个代码块都应可运行
5. **测试一切**: 确保所有示例代码有效
## 编写操作指南
操作指南解决特定问题。它们与教程不同:
### 操作指南模板
```markdown
# 如何[具体任务]
## 问题
[清晰描述要解决问题的说明]
## 解决方案
[简要概述方法]
## 实现
```go
// 集中代码示例
考虑事项
- [性能影响]
- [安全考虑]
- [替代方法]
相关指南
- [相关操作指南链接]
### 操作指南指南
1. **解决一个问题**: 专注于解决一个具体问题
2. **清晰标题**: 使用 "如何X" 格式
3. **最小化设置**: 不重复基本设置
4. **展示替代方案**: 当合适时,显示其他方法
5. **实用重点**: 真实的开发人员面临的问题
## 文档风格指南
### 语言和语气
- **直接明了**: 避免华丽的语言
- **主动语态**: "配置客户端" 而不是 "应配置客户端"
- **现在时态**: "此函数返回" 而不是 "此函数将返回"
- **您/您的**: 直接面向读者
### 代码示例
```go
// DO: 完整的可运行示例
package main
import (
"context"
"fmt"
"log"
"github.com/tmc/langchaingo/llms/openai"
)
func main() {
llm, err := openai.New()
if err != nil {
log.Fatal(err)
}
// ...其余示例代码
}
// DON'T: 不完整的片段
llm := openai.New() // 缺少错误处理
// ...这里发生魔法...
格式约定
- 标题: 使用句子形式,而不是标题形式
- 代码块: 始终指定语言 (
```go
) - 强调: 用粗体表示重要概念
- 列表: 使用
-
表示无序列表 - 链接: 使用描述性文本,不要使用 "点击这里"
避免事项
- 文档中不使用表情符号
- 不使用营销语言或炒作
- 不提供不完整的示例
- 不硬编码API密钥
- 不依赖外部服务
贡献缺失文档
我们有许多教程和指南标记为 "即将推出"。以下是贡献方法:
1. 选择主题
2. 打开一个问题
在编写之前,请打开一个问题以:
- 声明主题(避免重复工作)
- 讨论方法
- 获取大纲反馈
3. 编写内容
遵循上述模板和指南。
4. 测试一切
- 确保所有代码示例可运行
- 在干净的环境中测试
- 验证API密钥处理正确
5. 提交PR
创建一个拉取请求,包括:
- 清晰标题:
docs: 添加教程 [主题]
- 跟踪问题链接
- 概述涵盖的内容
本地开发
构建文档
本地开发
cd docs
npm install
npm run start
这将在 http://localhost:3000
启动一个本地服务器。
Docker 开发
对于容器化环境:
cd docs
# 快速开发服务器,带实时重载
make docker-dev
# 或构建并运行持久容器
make docker-run
# 完成后清理
make docker-clean
Docker 方法确保了 Node.js 环境和依赖项的一致性。
测试文档
提交前:
- 检查链接:确保所有链接都能正常工作。
- 运行代码:测试所有的代码示例。
- 审查格式:在浏览器中查看渲染效果。
- 运行 Vale 检查:使用 Vale 检查风格一致性。
- 拼写检查:使用编辑器的拼写检查功能。
运行 Vale 检查
Vale 自动检查文档的风格和一致性:
# 安装 Vale(在 macOS 上)
make lint-deps
# 检查所有文档
make lint-docs
# 或直接运行 Vale
vale docs
Vale 检查的内容包括:
- 标题使用句首大写
- 术语一致性
- 技术术语的拼写
- 写作风格指南
文档示例
好的教学文档示例
- 构建一个 AI 代码审查器
- 完整、实用的应用程序
- 逐步增加复杂度
- 现实世界的用例
好的操作指南示例
- 如何配置不同的 LLM 提供商
- 集中于特定任务
- 多个提供商的示例
- 清晰的配置步骤
需要帮助?
- 查看现有文档中的风格示例
- 在 GitHub 讨论区 中提问
- 为你的 PR 打上
documentation
标签以加快审查速度
贡献者感谢
文档贡献者将在以下地方获得认可:
- 文档本身(作者署名)
- 发布说明
- 贡献者名单
感谢你帮助改进 LangChainGo 文档!