これは何ですか? • 始めましょう • コミュニティ • 貢献
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 インデックスの作成とクエリを可能にする Autodoc CLI ツールをインストールします。
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 ファイル/ディレクトリ プロンプトを指定することもできます。このコマンドは、値を保存するためにプロジェクトのルートにautodoc.config.json
ファイルを生成します。このファイルは git にチェックインする必要があります。
注:これらの値の入力を省略しないでください。省略すると、インデックス作成が機能しない可能性があります。
プロンプトの構成:プロンプトの指示はprompts.ts
で指定されており、一部のスニペットはautodoc.config.json
でカスタマイズできます。現在のプロンプトは開発者中心であり、リポジトリがコード中心であることを前提としています。将来的には、より多くの参照テンプレートが提供される予定です。
index
コマンドを実行します。
doc index
次のような画面が表示されるはずです。
この画面では、リポジトリのインデックス作成にかかるコストを見積もります。 doc estimate
コマンドを使用してこの画面にアクセスすることもできます。すでに一度インデックスを作成している場合、 doc index
2 回目の実行で変更されたファイルのみを再インデックスします。
Autodoc は、プロジェクト内のすべてのファイルについて、ファイルの内容に基づいてファイル内のトークンの数を計算します。コードの行数が増えると、トークンの数も増えます。この数値を使用して、ファイルごとにどのモデルを使用するかを決定し、ファイル内のトークンの数をサポートするコンテキスト長を持つ最も安価なモデルを常に選択します。 Autodoc でモデル選択を構成可能にすることに興味がある場合は、この問題を確認してください。
注:この単純なモデル選択戦略は、~4000 トークン未満のファイルが GPT-3.5 を使用して文書化されることを意味し、その結果文書化の精度が低くなります。少なくとも GPT-4 8K を使用することをお勧めします。 GPT-4 を使用してインデックスを作成すると、出力が大幅に向上します。こちらからアクセス申請が可能です。
大規模なプロジェクトの場合、コストは数百ドルかかる場合があります。 OpenAI の価格については、こちらをご覧ください。
近い将来、Llama や Alpaca などの自己ホスト型モデルをサポートする予定です。この取り組みに貢献することに興味がある場合は、この号をお読みください。
リポジトリのインデックス作成が完了すると、次のような画面が表示されます。
これで、クエリで説明した手順を使用してアプリケーションをクエリできるようになります。
Autodoc にフルタイムで取り組んでいる少数のグループがいます。 Discord に参加するか、Twitter でフォローして最新情報を入手してください。私たちは定期的に投稿し、Autodoc アプリケーションの改善を続けていきます。貢献したいですか?以下をお読みください。
急速に発展している分野のオープンソース プロジェクトとして、私たちは新機能、インフラの改善、ドキュメントの改善などの形であれ、貢献を非常に歓迎しています。
投稿方法の詳細については、こちらをご覧ください。