rdmgen
คือเครื่องมือ Python CLI ที่สร้างไฟล์ README.md
คุณภาพสูงโดยอัตโนมัติสำหรับที่เก็บโค้ดโดยใช้ Amazon Bedrock และ LangGraph
โปรเจ็กต์นี้ใช้ไลบรารี 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
env เสมือนมีชื่อว่า .venv
ตามค่าเริ่มต้น และอยู่ในไดเร็กทอรีเดียวกันกับที่เก็บ
ตอนนี้รันคำสั่งต่อไปนี้เพื่อเปิดใช้งานสภาพแวดล้อม:
source .venv/bin/activate
สำหรับสูตร make เพิ่มเติม เช่น การทำความสะอาดและการถอด venv ให้ตรวจสอบเอาต์พุตของ make help
ข้อมูลรับรอง AWS : ก่อนที่จะรันคำสั่ง cli เพื่อสร้างไฟล์ README จำเป็นต้องมีข้อมูลประจำตัว AWS ก่อน หากคุณเรียกใช้สิ่งนี้จากภายในสภาพแวดล้อม AWS (เช่น อินสแตนซ์ SageMaker Notebook) คุณสามารถดำเนินการขั้นตอนที่ 2 เพื่อให้แน่ใจว่ามีการให้สิทธิ์ที่ถูกต้องแก่บทบาท IAM ที่แนบมา
สิทธิ์ IAM : ผู้ใช้หรือบทบาท IAM ควรมีสิทธิ์อย่างน้อยต่อไปนี้ในโมเดลที่เลือก (แทนที่ทรัพยากร * ด้วยรหัสโมเดล):
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " VisualEditor " ,
"Effect" : " Allow " ,
"Action" : [
" bedrock:InvokeModel " ,
" bedrock:InvokeModelWithResponseStream "
],
"Resource" : " * "
}
]
}
หมายเหตุ: โปรเจ็กต์นี้ใช้โคลง Claude 3: anthropic.claude-3-sonnet-20240229-v1:0
จาก Amazon Bedrock โปรดตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงได้ หากคุณต้องการเปลี่ยน ID รุ่น โปรดอัปเดตใน src/rdmgen/constants.py
และติดตั้งแพ็คเกจอีกครั้ง
หากต้องการสร้างไฟล์ README.md สำหรับที่เก็บของคุณ ให้รันคำสั่ง cli:
rdmgen <REPO_PATH> --out <OUTPUT_FOLDER>
<REPO_PATH>
: อาจเป็นโคลน/ไดเร็กทอรีในเครื่องหรือ URL Git ระยะไกล<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
Amazon Bedrock ซึ่งส่งผ่านไปยังไคลเอ็นต์รันไทม์ 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 ดูไฟล์ใบอนุญาต