git clone https://github.com/LOGIC-10/RepoAgent.git
cd RepoAgentالإعداد مع PDM
تهيئة البيئة الافتراضية Python. تأكد من تشغيل دليل CMD في /RepoAgent :
pdm venv create --name repoagentتنشيط البيئة الافتراضية
تثبيت التبعيات باستخدام PDM
pdm installقبل تكوين معلمات محددة لإعادة التعبير ، يرجى التأكد من تكوين API OpenAI كمتغير بيئة في سطر الأوامر:
export OPENAI_API_KEY=YOUR_API_KEY # on Linux/Mac
set OPENAI_API_KEY=YOUR_API_KEY # on Windows
$Env :OPENAI_API_KEY = " YOUR_API_KEY " # on Windows (PowerShell) أدخل الدليل الجذر لإعادة التعبير وجرب الأمر التالي في المحطة:
repoagent run # this command will generate doc, or update docs(pre-commit-hook will automatically call this)
repoagent run --print-hierarchy # Print how repo-agent parse the target repoيدعم الأمر RUN الإعلام الاختياري التالي (إذا تم تعيينه ، سيقوم بتجاوز الإعدادات الافتراضية للتكوين):
-m ، --model النموذج: يحدد النموذج المراد استخدامه للإنجاز. الافتراضي: gpt-3.5-turbo-t ، -تعويم --temperature : يضع درجة حرارة التوليد للنموذج. القيم المنخفضة تجعل النموذج أكثر حتمية. الافتراضي: 0.2-r ، --request-timeout integer: يحدد المهلة في ثوان لطلب API. الافتراضي: 60-b ، --base-url : عنوان URL الأساسي لمكالمات API. الافتراضي: https://api.openai.com/v1-tp ، --target-repo-path REPO: مسار نظام الملفات إلى المستودع الهدف. تستخدم كجذر لتوليد الوثائق. الافتراضي: path/to/your/target/repository-hp ، --hierarchy-path التسلسل الهرمي: اسم أو مسار ملف التسلسل الهرمي للمشروع ، يستخدم لتنظيم بنية الوثائق. الافتراضي: .project_doc_record-mdp ، --markdown-docs-path : مسار المجلد حيث سيتم تخزين أو إنشاء وثائق التخفيضات. الافتراضي: markdown_docs-i ، --ignore-list قائمة: قائمة بالملفات أو الدلائل التي يجب تجاهلها أثناء توليد الوثائق ، مفصولة بفواصل.-l ، --language : رمز ISO 639 أو اسم اللغة للوثائق. الافتراضي: Chinese-ll ، --log-level [debug | info | تحذير | خطأ | حرجة]: تعيين مستوى التسجيل للتطبيق. الافتراضي: INFOيمكنك أيضًا تجربة الميزة التالية
repoagent clean # Remove repoagent-related cache
repoagent diff # Check what docs will be updated/generated based on current code changeإذا كانت هذه هي المرة الأولى التي تقوم فيها بتوليد مستندات للمستودع الهدف ، فسيقوم RepoAgent تلقائيًا بإنشاء ملف JSON يحافظ على معلومات الهيكل العالمي ومجلد يسمى Marmdown_DOCs في الدليل الجذر للمستودع المستهدف لتخزين المستندات.
بمجرد أن تقوم في البداية بإنشاء الوثائق العالمية للمستودع المستهدف ، أو إذا كان المشروع الذي تم استنساخه يحتوي بالفعل على معلومات توثيق عالمية ، فيمكنك بعد ذلك الحفاظ على وثائق المشروع الداخلية وتلقائيًا مع فريقك من خلال تكوين خطاف ما قبل الالتزام في المستودع الهدف!
pre-commitيدعم Respoagent حاليًا توليد وثائق للمشاريع ، والتي تتطلب بعض التكوين في المستودع المستهدف.
أولاً ، تأكد من أن مستودع المستهدف هو مستودع GIT وتم تهيئته.
git initقم بتثبيت اللجنة المسبقة في المستودع المستهدف للكشف عن التغييرات في مستودع GIT.
pip install pre-commit قم بإنشاء ملف يسمى .pre-commit-config.yaml في الدليل الجذر لمستودع المستهدف. مثال على النحو التالي:
repos :
- repo : local
hooks :
- id : repo-agent
name : RepoAgent
entry : repoagent
language : system
pass_filenames : false # prevent from passing filenames to the hook
# You can specify the file types that trigger the hook, but currently only python is supported.
types : [python]للحصول على طرق تكوين محددة من السنانير ، يرجى الرجوع إلى اللجنة المسبقة. بعد تكوين ملف YAML ، قم بتنفيذ الأمر التالي لتثبيت الخطاف.
pre-commit installوبهذه الطريقة ، سيؤدي كل التزام GIT إلى خطاف التعبير ، واكتشاف التغييرات تلقائيًا في المستودع المستهدف وتوليد المستندات المقابلة. بعد ذلك ، يمكنك إجراء بعض التعديلات على مستودع الهدف ، مثل إضافة ملف جديد إلى مستودع الهدف ، أو تعديل ملف موجود. تحتاج فقط إلى اتباع سير عمل GIT العادي: إضافة GIT ، GIT Complay -M "رسالة الالتزام الخاصة بك" ، GIT دفع خطاف repoagent سوف يؤدي تلقائيا إلى الالتزام ، واكتشاف الملفات التي أضفتها في الخطوة السابقة ، وإنشاء المستندات المقابلة.
بعد التنفيذ ، ستقوم REPOAGENT تلقائيًا بتعديل الملفات المرحلية في المستودع الهدف وإرسال الالتزام رسميًا. بعد الانتهاء من التنفيذ ، سيتم عرض "تم تمرير" الأخضر ، كما هو موضح في الشكل أدناه:
سيتم تخزين المستند الذي تم إنشاؤه في المجلد المحدد في الدليل الجذر للمستودع المستهدف. عرض المستند الذي تم إنشاؤه كما هو موضح أدناه:
لقد استخدمنا النموذج الافتراضي GPT-3.5-TURBO لإنشاء وثائق لمشروع Xagent ، والذي يضم حوالي 270،000 سطر من التعليمات البرمجية. يمكنك عرض نتائج هذا الجيل في دليل Marmdown_Docs لمشروع Xagent على Github. للحصول على جودة الوثائق المحسّنة ، نقترح النظر في نماذج أكثر تقدمًا مثل GPT-4-1106 أو GPT-4-0125-PREVIEW .
في النهاية ، يمكنك ضبط تنسيق الإخراج ، والقالب ، والجوانب الأخرى من المستند عن طريق تخصيص المطالبة. نحن متحمسون لاستكشاف نهج أكثر علمية في الكتابة التقنية الآلية ومساهماتك في المجتمع.
نحن نقوم بتصور الدردشة مع repo كبوابة موحدة لهذه التطبيقات المصب ، حيث تعمل كموصل يربط التعبير بالمستخدمين البشريين وعوامل الذكاء الاصطناعى الآخرين. ستركز بحثنا المستقبلي على تكييف الواجهة لمختلف تطبيقات المصب وتخصيصها لتلبية خصائصها الفريدة ومتطلبات التنفيذ.
هنا نوضح نموذجًا أوليًا أوليًا لأحد مهامنا في اتجاه المصب: أسئلة وأجوبة أوتوماتيكية للمشكلات وشرح الكود. يمكنك بدء تشغيل الخادم عن طريق تشغيل الرمز التالي.
pip install repoagent[chat-with-repo]
repoagent chat-with-repoهنا الحالات المميزة التي اعتمدت repoagent.
@misc { luo2024repoagent ,
title = { RepoAgent: An LLM-Powered Open-Source Framework for Repository-level Code Documentation Generation } ,
author = { Qinyu Luo and Yining Ye and Shihao Liang and Zhong Zhang and Yujia Qin and Yaxi Lu and Yesai Wu and Xin Cong and Yankai Lin and Yingli Zhang and Xiaoyin Che and Zhiyuan Liu and Maosong Sun } ,
year = { 2024 } ,
eprint = { 2402.16667 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}