rdmgen
adalah alat Python CLI untuk secara otomatis menghasilkan file README.md
berkualitas tinggi untuk repositori kode menggunakan Amazon Bedrock dan LangGraph .
Proyek ini menggunakan perpustakaan Amazon Bedrock, LangGraph, dan LangChain AWS untuk menganalisis struktur dan konten repositori kode dan menghasilkan file README.md yang komprehensif. README yang dihasilkan memberikan gambaran umum proyek, instruksi instalasi, contoh penggunaan, dan detail relevan lainnya berdasarkan file di repositori.
rdmgen
melakukan kerja keras untuk Anda. Harap Dicatat: Anda memerlukan python >= 3.9
. Anda dapat memeriksanya dengan python --version
. Jika lingkungan dasar Anda tidak memiliki versi yang diperlukan, buatlah lingkungan virtual dengan versi yang diperlukan dan gunakan "Opsi 1" untuk menginstal.
Anda dapat menginstal paket dengan pip setelah mengkloning repositori.
pip install .
Makefile dengan beberapa resep tersedia untuk linux/MacOS. Untuk membuat venv Python khusus dan menginstal rdmgen
di lingkungan virtual, jalankan:
make all
Virtual env diberi nama .venv
secara default, dan terletak di direktori yang sama dengan repositori.
Sekarang jalankan perintah berikut untuk mengaktifkan lingkungan:
source .venv/bin/activate
Untuk resep pembuatan lainnya seperti membersihkan dan melepas venv, periksa keluaran make help
.
Kredensial AWS : Sebelum menjalankan perintah cli untuk menghasilkan file README, kredensial AWS diperlukan. Jika Anda menjalankan ini dari dalam lingkungan AWS (misalnya instans Notebook SageMaker), Anda dapat melanjutkan ke langkah 2 untuk memastikan izin yang benar diberikan ke IAM Role yang terlampir.
Izin IAM : Pengguna atau Peran IAM harus memiliki setidaknya izin berikut pada model yang dipilih (ganti sumber daya * dengan id model):
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " VisualEditor " ,
"Effect" : " Allow " ,
"Action" : [
" bedrock:InvokeModel " ,
" bedrock:InvokeModelWithResponseStream "
],
"Resource" : " * "
}
]
}
Catatan: Proyek ini menggunakan soneta Claude 3: anthropic.claude-3-sonnet-20240229-v1:0
dari Amazon Bedrock. Harap pastikan Anda memiliki akses ke sana. Jika Anda ingin mengubah ID model, harap perbarui di src/rdmgen/constants.py
dan instal ulang paketnya.
Untuk menghasilkan file README.md untuk repositori Anda, jalankan perintah cli:
rdmgen <REPO_PATH> --out <OUTPUT_FOLDER>
<REPO_PATH>
: dapat berupa klon/direktori lokal atau URL Git jarak jauh.<OUTPUT_FOLDER>
: jalur untuk menyimpan file README.md keluaran. Jika tidak ditentukan, file disimpan ke direktori yang sama dengan kode sumber. Anda dapat meneruskan tanda --diagram
opsional untuk membuat diagram alur agen guna melihat langkah-langkah yang dijalankannya.
Dua contoh berikut tersedia di repositori ini untuk pengujian:
rdmgen test_data/hello_world
rdmgen test_data/sensor_extraction --out ./output
Contoh untuk repositori jarak jauh kecil di GitHub:
rdmgen https://github.com/pypa/sampleproject --out output/sampleproject --diagram
Utilitas rdmgen
saat ini berfungsi untuk repositori ukuran kecil hingga menengah, pertimbangkan batasan yang dapat disesuaikan berikut untuk repositori besar, yang ditentukan dalam src/constants.py
:
read-timeout
, yang diteruskan ke klien runtime Bedrock sebagai konfigurasi, detail selengkapnya: https://repost.aws/knowledge-center/bedrock-large-model-read-timeoutsrecursion_limit
, yang diteruskan ke konfigurasi saat memanggil grafik. Detail lebih lanjut: https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/?h=recursion Untuk pengembangan dan perluasan, proyek ini menggunakan Puisi untuk manajemen ketergantungan. Untuk menginstal paket dan dependensinya, instal puisi lalu jalankan:
poetry lock
poetry install
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Kontribusi dipersilahkan! Silakan buka masalah atau kirimkan permintaan penarikan jika Anda memiliki perbaikan atau perbaikan bug.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.