rdmgen
هي أداة Python CLI لإنشاء ملفات README.md
عالية الجودة تلقائيًا لمستودعات التعليمات البرمجية باستخدام Amazon Bedrock و LangGraph .
يستخدم هذا المشروع مكتبات Amazon Bedrock وLangGraph وLangChain AWS لتحليل بنية ومحتويات مستودع التعليمات البرمجية وإنشاء ملف README.md شامل. يوفر ملف README الذي تم إنشاؤه نظرة عامة على المشروع وتعليمات التثبيت وأمثلة الاستخدام والتفاصيل الأخرى ذات الصلة بناءً على الملفات الموجودة في المستودع.
rdmgen
بالعمل الشاق نيابةً عنك. يرجى ملاحظة: أنت بحاجة إلى python >= 3.9
. يمكنك التحقق من ذلك باستخدام python --version
. إذا لم تكن البيئة الأساسية الخاصة بك تحتوي على الإصدار المطلوب، فقم بإنشاء بيئة افتراضية بالإصدار المطلوب واستخدم "الخيار 1" للتثبيت.
يمكنك تثبيت الحزمة بالنقطة بعد استنساخ المستودع.
pip install .
يتوفر ملف Makefile يحتوي على بعض الوصفات لنظام التشغيل Linux/MacOS. لإنشاء Python venv مخصص وتثبيت rdmgen
في البيئة الافتراضية، قم بتشغيل:
make all
يُطلق على البيئة الافتراضية اسم .venv
افتراضيًا، وهي موجودة في نفس دليل المستودع.
الآن قم بتشغيل الأمر التالي لتنشيط البيئة:
source .venv/bin/activate
لمزيد من وصفات الصنع مثل التنظيف وإزالة 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" : " * "
}
]
}
ملحوظة: يستخدم المشروع السوناتة لكلود 3: anthropic.claude-3-sonnet-20240229-v1:0
من Amazon Bedrock. يرجى التأكد من أنه يمكنك الوصول إليه. إذا كنت ترغب في تغيير معرف النموذج، فيرجى تحديثه في 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 lock
poetry install
انظر المساهمة لمزيد من المعلومات.
المساهمات هي موضع ترحيب! الرجاء فتح مشكلة أو إرسال طلب سحب إذا كان لديك أي تحسينات أو إصلاحات للأخطاء.
هذه المكتبة مرخصة بموجب ترخيص MIT-0. انظر ملف الترخيص.