这是什么? • 开始使用 • 社区 • 贡献
Autodoc 是一个实验性工具包,用于使用 GPT-4 或 Alpaca 等大型语言模型为 git 存储库自动生成代码库文档。 Autodoc 可以在大约 5 分钟内安装到您的存储库中。它通过对所有存储库内容进行深度优先遍历来索引您的代码库,并调用 LLM 为每个文件和文件夹编写文档。这些文档可以组合起来描述系统的不同组件以及它们如何协同工作。
生成的文档位于您的代码库中,并随您的代码移动。下载您的代码的开发人员可以使用doc
命令询问有关您的代码库的问题,并获得高度具体的答案以及返回代码文件的参考链接。
在不久的将来,文档将作为 CI 管道的一部分重新索引,因此它始终是最新的。如果您有兴趣为这项工作做出贡献,请参阅此问题。
Autodoc 正处于开发的早期阶段。它可以正常工作,但尚未准备好用于生产使用。事情可能会破裂,或者无法按预期工作。如果您对核心 Autodoc 框架感兴趣,请参阅贡献。我们很乐意得到您的帮助!
问题:我没有得到很好的回应。如何提高回复质量?
答: Autodoc 正处于开发的早期阶段。因此,根据索引项目的类型以及问题的措辞方式,响应质量可能会有很大差异。编写良好查询的一些技巧:
以下是如何使用 Autodoc 的一些示例。
.autodoc
文件夹中。请按照此处的说明了解如何查询。Autodoc 需要 Node v18.0.0 或更高版本。建议使用 v19.0.0 或更高版本。确保您运行的是正确的版本:
$ node -v
输出示例:
v19.8.1
将 Autodoc CLI 工具安装为全局 NPM 模块:
$ npm install -g @context-labs/autodoc
此命令安装 Autodoc CLI 工具,该工具将允许您创建和查询 Autodoc 索引。
运行doc
以查看可用的命令。
您可以通过 CLI 查询已安装 Autodoc 的存储库。我们将使用 Autodoc 存储库本身作为示例来演示 Autodoc 中的查询如何工作,但这可以是您自己的包含索引的存储库。
克隆 Autodoc 并更改目录以开始:
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
目前 Autodoc 仅支持 OpenAI。确保您已在当前会话中导出 OpenAI API 密钥:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
要启动 Autodoc 查询 CLI,请运行:
$ doc q
如果这是您第一次运行doc q
,您将看到一个屏幕,提示您选择您有权访问的 GPT 模型。选择适合您的访问级别的选项。如果您不确定,请选择第一个选项:
您现在已准备好查询 Autodoc 存储库的文档:
这是核心的查询体验。目前它还很基础,还有很大的改进空间。如果您有兴趣改进 Autodoc CLI 查询体验,请查看此问题。
按照以下步骤使用 Autodoc 为您自己的存储库生成文档。
将目录更改为项目的根目录:
cd $PROJECT_ROOT
确保您的 OpenAI API 密钥在当前会话中可用:
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
运行init
命令:
doc init
系统将提示您输入项目名称、GitHub url,并选择您有权访问的 GPT 模型。如果您不确定可以访问哪些模型,请选择第一个选项。您还可以指定自己的 GPT 文件/目录提示,用于总结/分析代码 repo 此命令将在项目的根目录中生成一个autodoc.config.json
文件来存储值。该文件应该签入 git。
注意:请勿跳过输入这些值,否则索引可能无法工作。
提示配置:您将找到在prompts.ts
中指定的提示方向,以及在autodoc.config.json
中可自定义的一些片段。当前的提示以开发人员为中心,并假设您的存储库以代码为中心。未来我们将会有更多的参考模板。
运行index
命令:
doc index
您应该看到这样的屏幕:
此屏幕估计为存储库建立索引的成本。您还可以通过doc estimate
命令访问此屏幕。如果您已经索引过一次,那么doc index
将仅重新索引第二次更改的文件。
对于项目中的每个文件,Autodoc 都会根据文件内容计算文件中的标记数量。代码行数越多,令牌数量就越多。使用此数字,它确定将在每个文件的基础上使用哪个模型,始终选择上下文长度支持文件中标记数量的最便宜的模型。如果您有兴趣帮助在 Autodoc 中配置模型选择,请查看此问题。
注意:这种简单的模型选择策略意味着大约 4000 个令牌下的文件将使用 GPT-3.5 进行记录,这将导致文档不太准确。我们建议至少使用 GPT-4 8K。使用 GPT-4 进行索引可显着提高输出。您可以在此处申请访问权限。
对于大型项目,成本可能高达数百美元。在此查看 OpenAI 定价。
在不久的将来,我们将支持自托管模型,例如 Llama 和 Alpaca。如果您有兴趣为这项工作做出贡献,请阅读本期。
当您的存储库完成索引后,您应该看到如下屏幕:
您现在可以使用查询中概述的步骤查询您的应用程序。
我们中有一小群人全职从事 Autodoc 工作。在 Discord 上加入我们,或在 Twitter 上关注我们以获取更新。我们将定期发布并继续改进 Autodoc 应用程序。想做出贡献吗?请阅读下文。
作为快速发展领域的开源项目,我们对贡献非常开放,无论是新功能、改进的基础设施还是更好的文档。
有关如何贡献的详细信息,请参阅此处。