rdmgen
是 Python CLI 工具,可使用Amazon Bedrock和LangGraph自動為程式碼儲存庫產生高品質的README.md
檔案。
該專案使用 Amazon Bedrock、LangGraph 和 LangChain AWS 庫來分析程式碼儲存庫的結構和內容並產生全面的 README.md 檔案。生成的自述文件提供了專案概述、安裝說明、使用範例以及基於儲存庫中的文件的其他相關詳細資訊。
rdmgen
會為您完成艱苦的工作。請注意:您需要python >= 3.9
。您可以使用python --version
檢查這一點。如果您的基礎環境沒有所需版本,請建立具有所需版本的虛擬環境並使用「選項 1」進行安裝。
克隆儲存庫後,您可以使用 pip 安裝該套件。
pip install .
包含一些配方的 Makefile 可用於 linux/MacOS。若要建立專用的 Python venv 並在虛擬環境中安裝rdmgen
,請執行:
make all
虛擬環境預設命名為.venv
,它與儲存庫位於同一目錄中。
現在執行以下命令來啟動環境:
source .venv/bin/activate
有關更多 make 方法,例如清理和刪除 venv,請檢查make help
的輸出。
AWS 憑證:在執行 cli 指令產生 README 檔案之前,需要 AWS 憑證。如果您在 AWS 環境(例如 SageMaker Notebook 實例)中執行此程序,則可以繼續執行步驟 2 以確保向附加的 IAM 角色授予正確的權限。
IAM 權限:IAM 使用者或角色應至少對所選模型具有下列權限(將資源 * 替換為模型 ID):
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " VisualEditor " ,
"Effect" : " Allow " ,
"Action" : [
" bedrock:InvokeModel " ,
" bedrock:InvokeModelWithResponseStream "
],
"Resource" : " * "
}
]
}
注意:此專案使用來自 Amazon Bedrock 的 Claude 3 sonnet: anthropic.claude-3-sonnet-20240229-v1:0
。請確保您有權訪問它。如果您想更改模型 ID,請在src/rdmgen/constants.py
中更新它並重新安裝軟體包。
若要為您的儲存庫產生 README.md 文件,請執行 cli 命令:
rdmgen <REPO_PATH> --out <OUTPUT_FOLDER>
<REPO_PATH>
:可以是本機複製/目錄或遠端 Git URL。<OUTPUT_FOLDER>
:儲存輸出 README.md 檔案的路徑。如果不指定,檔案將保存到原始程式碼的同一目錄中。您可以傳遞可選的--diagram
標誌來建立代理的流程圖以查看其運行的步驟。
此存儲庫中提供以下兩個範例用於測試:
rdmgen test_data/hello_world
rdmgen test_data/sensor_extraction --out ./output
GitHub 上的小型遠端儲存庫範例:
rdmgen https://github.com/pypa/sampleproject --out output/sampleproject --diagram
rdmgen
實用程式目前適用於中小型儲存庫,請考慮大型儲存庫的以下可調整限制,這些限制在src/constants.py
中定義:
read-timeout
,作為配置傳遞給 Bedrock 運行時客戶端,更多詳細資訊:https://repost.aws/knowledge-center/bedrock-large-model-read-timeoutsrecursion_limit
,呼叫圖時傳遞給配置。更多詳細資訊:https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/?h=recursion 對於開發和擴展,該專案使用 Poetry 進行依賴管理。要安裝套件和依賴項,請安裝詩歌,然後運行:
poetry lock
poetry install
請參閱貢獻以獲取更多資訊。
歡迎貢獻!如果您有任何改進或錯誤修復,請提出問題或提交拉取請求。
該庫根據 MIT-0 許可證獲得許可。請參閱許可證文件。