AICodeBot هو مساعد ترميز طرفي مصمم لتسهيل حياة البرمجة لديك. فكر في الأمر كنسخة الذكاء الاصطناعي الخاصة بك من مبرمج مزدوج. قم بإجراء مراجعات التعليمات البرمجية، وإنشاء رسائل التزام مفيدة، وتصحيح المشكلات، ومساعدتك في التفكير في إنشاء ميزات جديدة. عضو في الفريق يعمل على تسريع وتيرة التطوير ويساعدك على كتابة تعليمات برمجية أفضل.
لقد خططنا لبناء واجهات متعددة ومختلفة للتفاعل مع AICodeBot. للبدء، إنها أداة سطر أوامر يمكنك تثبيتها وتشغيلها في جهازك الطرفي، وإجراء GitHub لمراجعات التعليمات البرمجية.
الحالة: تم إنشاء هذا المشروع قبل أن يصبح مساعدو التشفير بالذكاء الاصطناعي رائعين. ؟ على هذا النحو، تم نسخ الكثير من الوظائف في بيئات التطوير المتكاملة (IDEs) المختلفة. حيث يتألق AICodeBot هو أ) وجوده في الوحدة الطرفية، وليس واجهة المستخدم الرسومية، وب) يمكن استخدامه في عمليات مثل إجراءات GitHub.
نحن نستخدم AICodeBot لبناء AICodeBot، وهو يتصاعد طوال الوقت.️ نحن نبحث عن مساهمين لمساعدتنا في بنائه. انظر المساهمة للمزيد.
مهمة | حالة |
---|---|
توليد رسائل التزام الجودة | ✅ |
التفكير في المهام كمبرمج ثنائي | ✅ |
الترميز مع عدد قليل من الملفات | ✅ |
تصحيح الأخطاء | ✅ |
القيام بمراجعة الكود | ✅ |
شرح الكود | ✅ |
اختبارات الكتابة | ✅ |
التكامل مع جيثب | ✅ |
تعديل الملفات المحلية | المراحل المبكرة |
البحث في الإنترنت عن الإجابات | في تَقَدم |
قراءة وثائق المكتبة | المراحل المبكرة |
الترميز مع عدد كبير من الملفات | نظرًا لأن LMs تحصل على حدود رمزية أكبر |
كتابة كود مستوى المطور الأول | مؤخراً |
إعادة البناء الرئيسية | مؤخراً |
بناء تطبيقات كاملة | مؤخراً |
استبدال المطورين | لا |
aicodebot sidekick
مساعد الترميز المدعوم بالذكاء الاصطناعي. لقد تم تصميمه لمساعدتك في مهام البرمجة الخاصة بك من خلال تقديم اقتراحات وحلول تراعي السياق. فكر في ChatGPT مع القدرة على قراءة المستودع المحلي لمعرفة السياق.
افتراضيًا، سيتم تمرير دليل الملفات من دليل العمل الحالي، ويمكنك أيضًا تمرير قائمة الملفات لاستخدامها كسياق للمهمة التي تعمل عليها. على سبيل المثال:
aicodebot sidekick file1.py file2.py
في هذا المثال، سيقرأ الصاحب محتويات file1.py وfile2.py ويستخدمهما لتقديم إجابات تراعي السياق.
نصائح احترافية:
لا تزال هذه الميزة في مراحلها الأولى في الوقت الحالي، ولكنها مفيدة بالفعل. سنضيف دعمًا للأدوات التي يمكن للصاحب استخدامها، بما في ذلك تكامل GitHub، واستيعاب المعرفة الخاصة بالمجال الخاص بالمستودع، وكتابة الملفات المحلية، والمزيد. في الوقت الحالي، يقوم فقط بقراءة الملفات وتقديم الاقتراحات.
يعمل aicodebot commit
على تحسين عملية التزام git. سيتم تشغيله مسبقًا للتحقق من بناء الجملة، ثم إنشاء رسالة التزام لك بناءً على التغييرات التي أجريتها. وبمجهود مماثل تقريبًا لكتابة "إصلاح الخلل" لرسالة الالتزام، ستحصل على رسالة التزام عالية الجودة تصف التغيير بدقة.
ستقوم aicodebot review
بإجراء مراجعة للكود الخاص بك واقتراح التحسينات. افتراضيًا، سينظر في التغييرات المرحلية [غير]، ويمكنك أيضًا توفير تجزئة التزام محددة لمراجعتها. هدفها هو اقتراح كيفية تحسين الكود، وقد وجدنا أنه غالبًا ما يعلمنا أشياء جديدة حول الكود الخاص بنا ويجعلنا مبرمجين أفضل. إنها طريقة رائعة للحصول على مجموعة ثانية من عيون الروبوت على التعليمات البرمجية الخاصة بك.
سيقوم aicodebot debug $command
بتشغيل الأمر $ والتقاط مخرجات السجل. سيقوم بتمرير رسالة الخطأ وتتبع المكدس ومخرجات الأوامر وما إلى ذلك إلى الذكاء الاصطناعي والرد ببعض الاقتراحات حول كيفية إصلاحها.
لتثبيت AICodeBot، قم بتشغيل:
pip install aicodebot
وبعد ذلك، قم بتشغيل aicodebot configure
للبدء.
Usage: aicodebot [OPTIONS] COMMAND [ARGS]...
Options:
-V, --version Show the version and exit.
-h, --help Show this message and exit.
-d, --debug Enable langchain debug output
Commands:
alignment A message from AICodeBot about AI Alignment ❤ + ?.
commit Generate a commit message based on your changes.
configure Create or update the configuration file
debug Run a command and debug the output.
review Do a code review, with [un]staged changes, or a...
sidekick Coding help from your AI sidekick
يدعم AICodeBot العديد من نماذج اللغات الكبيرة، بما في ذلك Anthropic's Claude 3.x، وOpenAI's GPT-3/4x. نرحب بطلبات السحب الخاصة بـ Gemini أو Ollama، لكننا نشعر أن هذين الشخصين يقومان بالمهمة.
في المرة الأولى التي تقوم فيها بتشغيل AICodeBot، سيُطلب منك إدخال مفاتيح API الخاصة بك
ماذا عن المراجعات الآلية للكود عند كل التزام؟ يمكنك تشغيل AICodeBot كإجراء GitHub في مستودعك. راجع إجراء AICodeBot GitHub لمراجعات التعليمات البرمجية. سوف ينظر في كل طلب التزام وسحب، وبعد ذلك إما:
aicodebot debug $command
pip install aicodebot
aicodebot alignment
. التكنولوجيا في حد ذاتها غير أخلاقية؛ إنه يضفي فقط قيم الأشخاص الذين يقومون بإنشائه. نحن نؤمن بأن الذكاء الاصطناعي يجب أن يتم بناؤه بطريقة تتماشى مع الإنسانية، ونحن نبني AICodeBot لمساعدتنا في القيام بذلك. نحن نبني من مساحة تتمحور حول القلب، ونساهم في التقاطع الصحي بين الذكاء الاصطناعي والإنسانية.
aicodebot
هو أداة للمطورين، وليس بديلا لهم. لن يحل محل وظيفتك، لكنه سيجعل عملك أسهل وأكثر متعة. لن يسيطر على العالم، لكنه سيساعدنا على بناء عالم أفضل. راجع قسم المحاذاة أدناه للمزيد.
كما أنها ليست أداة "إنشاء موقع لي في 5 دقائق" التي تتطلب توجيهًا مُصممًا بشكل جيد وتبني سقالة لك. هناك أدوات أخرى لذلك. إنها ليست منصة بدون كود. بدلاً من ذلك، تم تصميم AICodeBot للعمل مع قواعد التعليمات البرمجية الموجودة ومستوى الالتزام git. لقد تم تصميمه لمضاعفة فعالية المهندسين الأكفاء.
لتحديد نموذج مختلف، يمكنك تعيين language_model
في ملف $HOME/.aicodebot.yaml
الخاص بك. على سبيل المثال:
openai_api_key : sk-*****
language_model : gpt-3.5-turbo
personality : Stewie
version : 1.3
في نماذج الذكاء الاصطناعي مثل GPT-4 من OpenAI، "الرمز المميز" هو جزء من النص، قصير مثل الحرف أو طويل مثل الكلمة. يؤثر إجمالي الرموز المميزة في استدعاء واجهة برمجة التطبيقات، بما في ذلك الإدخال والإخراج، على التكلفة والوقت وما إذا كانت المكالمة تعمل بناءً على الحد الأقصى.
كل نموذج له حد أقصى للرمز المميز. على سبيل المثال، GPT-3.5 لديه حد 4096 رمزًا مميزًا، وGPT-4 لديه حد رمزي يبلغ 8192 رمزًا مميزًا. إذا تجاوزت المحادثة هذا الحد، فيجب عليك تقليل النص الخاص بك حتى يناسبه.
عند استخدام أوامر مثل أمر Sidekick في AICodeBot، والذي يسمح لك بتمرير الملفات للسياق، فمن المهم إدارة الرموز المميزة الخاصة بك بفعالية. نظرًا لقيود الرموز المميزة، ليس من الممكن تحميل قاعدة التعليمات البرمجية بأكملها. بدلاً من ذلك، يجب عليك فقط تحميل الملفات المحددة ذات الصلة بالمهمة التي تعمل عليها. وهذا يضمن أن نموذج الذكاء الاصطناعي يمكنه معالجة طلبك بكفاءة وتقديم الاقتراحات الأكثر صلة بمهمتك الحالية.
هل تحتاج إلى نافذة سياق أكبر لمهمتك؟ هل تواجه حدود الرمز المميز وتتلقى رسالة كهذه؟
The context is too large (21414) for any of the models supported by your API key. ?
هناك بضعة أشياء يمكنك القيام بها:
نحن نحب مساعدتك! إذا كنت مهتمًا بالمساهمة، فإليك كيفية البدء. انظر المساهمة لمزيد من التفاصيل.
يفترض أن لديك تغييرات في دليل العمل الحالي تمت إضافتها بالفعل.
docker build -t aicodebot .
docker run -v ~ /.aicodebot.yaml:/home/user/.aicodebot.yaml -v .:/app aicodebot commit -y