這是什麼? • 開始使用 • 社區 • 貢獻
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 應用程式。想做出貢獻嗎?請閱讀下文。
作為快速發展領域的開源項目,我們對貢獻非常開放,無論是新功能、改進的基礎設施還是更好的文件。
有關如何貢獻的詳細信息,請參閱此處。