rdmgen
은 Amazon Bedrock 및 LangGraph를 사용하여 코드 저장소에 대한 고품질 README.md
파일을 자동으로 생성하는 Python CLI 도구입니다.
이 프로젝트는 Amazon Bedrock, LangGraph 및 LangChain AWS 라이브러리를 사용하여 코드 저장소의 구조와 내용을 분석하고 포괄적인 README.md 파일을 생성합니다. 생성된 README는 프로젝트 개요, 설치 지침, 사용 예 및 저장소의 파일을 기반으로 하는 기타 관련 세부 정보를 제공합니다.
rdmgen
당신을 위해 열심히 일해 드립니다. 참고: python >= 3.9
필요합니다. python --version
으로 이를 확인할 수 있습니다. 기본 환경에 필수 버전이 없는 경우 필수 버전으로 가상 환경을 생성하고 "옵션 1"을 사용하여 설치하세요.
저장소를 복제한 후 pip를 사용하여 패키지를 설치할 수 있습니다.
pip install .
일부 레시피가 포함된 Makefile은 Linux/MacOS에서 사용할 수 있습니다. 전용 Python venv를 생성하고 가상 환경에 rdmgen
설치하려면 다음을 실행합니다.
make all
가상 환경의 이름은 기본적으로 .venv
이며 저장소와 동일한 디렉터리에 있습니다.
이제 다음 명령을 실행하여 환경을 활성화하십시오.
source .venv/bin/activate
venv 정리 및 제거와 같은 더 많은 make 레시피를 보려면 make help
의 출력을 확인하세요.
AWS 자격 증명 : cli 명령을 실행하여 README 파일을 생성하기 전에 AWS 자격 증명이 필요합니다. AWS 환경(예: SageMaker 노트북 인스턴스) 내에서 이를 실행하는 경우 2단계로 진행하여 연결된 IAM 역할에 올바른 권한이 부여되었는지 확인할 수 있습니다.
IAM 권한 : IAM 사용자 또는 역할은 선택한 모델에 대해 최소한 다음 권한을 가지고 있어야 합니다(리소스 *를 모델 ID로 교체).
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " VisualEditor " ,
"Effect" : " Allow " ,
"Action" : [
" bedrock:InvokeModel " ,
" bedrock:InvokeModelWithResponseStream "
],
"Resource" : " * "
}
]
}
참고: 이 프로젝트는 Amazon Bedrock의 Claude 3 소네트 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
, 자세한 내용: https://repost.aws/knowledge-center/bedrock-large-model-read-timeoutsrecursion_limit
. 자세한 내용: https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/?h=recursion 개발 및 확장을 위해 이 프로젝트에서는 종속성 관리를 위해 Poetry를 사용합니다. 패키지와 종속성을 설치하려면 poem을 설치한 후 다음을 실행하세요.
poetry lock
poetry install
자세한 내용은 기여를 참조하세요.
기여를 환영합니다! 개선 사항이나 버그 수정 사항이 있는 경우 문제를 열거나 풀 요청을 제출해 주세요.
이 라이브러리는 MIT-0 라이선스에 따라 라이선스가 부여됩니다. 라이센스 파일을 참조하십시오.