菜单

文档网站

相关源文件

本文档介绍了 LangChain Python 的文档网站系统,该系统生成并维护托管在 python.langchain.com 上的静态文档网站。该系统处理内容、静态网站生成、部署和用户交互功能。

有关 API 参考生成的信息,请参阅API 参考生成

软件包注册表和元数据系统

文档系统围绕一个集中式软件包注册表构建,该注册表跟踪所有 LangChain 生态系统软件包及其元数据。该注册表是生成软件包特定文档和跟踪下载统计信息的基础。

软件包注册表跟踪 LangChain 生态系统中 100 多个软件包的基本元数据,包括仓库信息、下载统计信息和集成详情。

来源: libs/packages.yml1-667 docs/scripts/packages_yml_get_downloads.py1-74 .github/scripts/prep_api_docs_build.py1-102

Docusaurus 静态网站架构

该文档网站使用 Docusaurus 3.5.2 构建,并针对 LangChain Python 生态系统进行了配置,具有自定义主题、插件和内容处理功能。

Docusaurus 配置支持多种内容类型,包括 MDX 文件、Jupyter 笔记本和自动生成的 API 文档。

来源: docs/docusaurus.config.js1-327 docs/sidebars.js1-469 docs/package.json1-84 docs/Makefile1-88

内容处理管道

文档构建过程涉及内容转换和增强的多个阶段,将原始内容转换为最终的网站结构。

内容处理管道通过添加 API 参考链接、相关内容建议以及在不同格式之间进行转换来自动增强文档。

来源: docs/scripts/generate_api_reference_links.py1-364 docs/scripts/append_related_links.py1-85 docs/scripts/resolve_local_links.py1-27

构建和部署系统

该文档网站采用复杂的构建系统,处理依赖项管理、内容生成以及部署到 Vercel。

构建系统针对 Vercel 的部署环境进行了优化,同时管理 LangChain 生态系统中复杂的依赖项。

来源: docs/Makefile1-88 docs/vercel.json1-166 docs/vercel_requirements.txt1-8 docs/ignore-step.sh1-34

用户体验和交互功能

该文档网站包含多项交互功能,旨在提升用户体验并收集反馈以持续改进。

组件技术目的
搜索Algolia文档全文搜索
注释Giscus(GitHub 讨论)页面上的社区讨论
反馈Supabase用户满意度跟踪
分析Google Analytics使用指标和洞察

反馈系统使用基于 Cookie 的去重功能,以防止垃圾邮件,同时收集详细的用户情感和评论,用于文档改进。

来源: docs/src/theme/Feedback.js1-298 docs/src/theme/DocItem/Paginator/index.js1-27 docs/docusaurus.config.js299-310

配置与自定义

文档网站通过配置文件和环境变量支持广泛的自定义,从而实现不同的部署场景和功能开关。

关键配置文件

文件目的关键设置
docusaurus.config.js主要 Docusaurus 配置站点元数据、主题、插件
vercel.json部署配置重定向、重写、构建设置
sidebars.js导航结构文档层级
.yarnrc.yml包管理器设置Node 模块链接

环境变量

系统使用多个环境变量进行外部服务集成

  • NEXT_PUBLIC_SUPABASE_PUBLIC_KEY - 用于反馈的 Supabase 集成
  • NEXT_PUBLIC_SUPABASE_URL - Supabase 数据库 URL
  • HANA_DB_* - 用于示例的 SAP HANA 数据库连接
  • OPENAI_API_KEY - 用于笔记本示例的 API 密钥

来源: docs/docusaurus.config.js321-324 docs/vercel.json1-166 docs/.yarnrc.yml1-2

自动化质量保证

文档系统包含自动化检查,以维护质量并防止断开的链接或过时内容。

自动化质量保证系统通过持续监控和验证,确保文档保持最新和正常运行。

来源: .github/workflows/check-broken-links.yml1-26 .github/workflows/api_doc_build.yml1-108 docs/scripts/check-broken-links.js1-8