توليد الكود لأداة Ansible

 مخطط انسيابي يحتوي على أشكال ورموز متنوعة، بما في ذلك فقاعة كلام زرقاء، وعلامة استفهام، وعلامة تحقق.
توليد الكود لأداة Ansible

يعمل IBM watsonx Code Assistant (WCA) for Red Hat Ansible Lightspeed (RHAL) على تبسيط عملية إنشاء أدلة Ansible عبر توصيات محتوى مدعومة بالذكاء الاصطناعي التوليدي. تم تصميمه خصيصًا لتسريع أتمتة تكنولوجيا المعلومات، ويوفر WCA for RHAL توصيات محتوى تتوافق مع أفضل الممارسات، ما يؤدي إلى تقليل الأخطاء وتحسين اتساق مهام وأدوار وأدلة Ansible. يستطيع WCA for RHAL أيضًا توليد محتوى بناءً على طلبات مكتوبة باللغة الإنجليزية العادية، ما يساعد على توسيع نطاق الوصول إلى الأتمتة داخل المؤسسة.

يستخدم WCA for RHAL نموذجًا لغويًا كبيرًا من نماذج IBM Granite مدرَّبًا على مجموعات بيانات واسعة من أدلة Ansible. يمكن ضبط النموذج اللغوي الكبير باستخدام بيانات المؤسسة الخاصة لفهم تفاصيل بناء الجمل والتراكيب الخاص بأتمتة العمليات لديها. يمكن للمستخدمين قبول التوصيات كما هي أو تعديلها لتلبية احتياجاتهم الدقيقة، ما يساعد على تقليل وقت تحقيق القيمة من الأتمتة وتسريع دورات التطوير عبر توصيات المحتوى المدعومة بالذكاء الاصطناعي.

 

نظرة عامة على الحل

يعمل IBM watsonx Code Assistant (WCA) for Red Hat Ansible Lightspeed (RHAL) على تبسيط عملية إنشاء أدلة Ansible من خلال التوليد التلقائي.
نظرة عامة على حل توليد كود Ansible توضِّح موقع العناصر الرئيسية وعلاقاتها المتبادلة.

يتكوَّن WCA for RHAL من العناصر التالية (موضَّحة في المخطط أعلاه):

  1. يحتوي دليل Ansible Playbook على الكود اللازم لتشغيل الأتمتة على العُقد والأجهزة المُدارة، مثل الخوادم، والحاويات، وأجهزة الشبكة، والخدمات السحابية.

     

  2. يُعَد Playbook Source Code Management (SCM) المكان الذي تُدار فيه جميع فروع الإنتاج والتطوير الخاصة بأدلة Ansible. رغم توافر العديد من حلول SCM، فإن الحلول المبنية على Git هي الأكثر استخدامًا؛ ولذلك تم الافتراض بها في النقاش التالي.

     

  3. تتضمن Ansible Automation Platform من Red Hat محرك Ansible الأساسي، وخدمة التدقيق (linting)، وخدمات إدارة النشر، وواجهة المستخدم لتشغيل أدلة Ansible وتشخيص المشكلات. عادةً ما تتم تهيئتها لسحب الأدلة المحدَّثة من SCM عند كل عملية دمج.

     

  4. يُعَد Red Hat Ansible Lightspeed تطبيقًا من IBM watsonx.ai يقرأ مطالبات اللغة الطبيعية وسياق الكود، ويرسلها إلى خدمة IBM watsonx Code Assistant لمطابقة نموذج الأساس. يعمل على توليد المحتوى ومعلومات تدقيق المطابقة، ثم يرسلها مرة أخرى إلى VS Code.

     

  5. يُعَد IBM watsonx Code Assistant Service (WCA for RHAL) تطبيقًا من IBM watsonx.ai يستقبل طلبات المطالبات من Red Hat Ansible Lightspeed ويعمل على المطابقة مع نموذج لغوي كبير (LLM). يمكن لخدمة WCA for RHAL تدريب النموذج اللغوي الكبير باستخدام مجموعات بيانات إضافية من أدلة Ansible. يعمل IBM watsonx Code Assistant وRed Hat Ansible Lightspeed معًا لتقديم مقترحات توليد محتوى كاملة ودقيقة تتَّبِع أفضل الممارسات.

     

  6. يُعَد Code Large Language Model (LLM) نموذجًا أساسيًا لتوليد المحتوى يعتمد على نموذج IBM Granite الخاص بأداة Ansible. ويمكن تدريبه أيضًا ليشمل كود أدلة إضافيًا تم توليده من قِبل المورِّدين أو مستخدمي المؤسسة.

     

    الاستخدام وعرض تفصيلي

يعمل IBM watsonx Code Assistant (WCA) for Red Hat Ansible Lightspeed (RHAL) على تبسيط عملية إنشاء أدلة Ansible من خلال التوليد التلقائي. عرض تفصيلي للحل يوضِّح تدفق الاتصالات بين العناصر لتوليد كود Ansible جديد.

يوضِّح المخطط أعلاه كيف تعمل عناصر WCA for RHAL معًا لتقليل الوقت وتحسين اتساق أدلة Ansible.

  1. يقوم المطوِّر بسحب أحدث كود Ansible Playbook من مستودع الكود في Playbook SCM وفتحه في VS Code.

  2. يضيف المطور مهمة Ansible على شكل مطالبة بلغة طبيعية، مثل: - name: Install httpd.conf using a template.

  3. يرسل امتداد Ansible Extension for VS Code طلب Lightspeed إلى خدمة IBM watsonx Code Assistant.

  4. يعمل IBM watsonx Code Assistant على توليد استجابة للمطالبة المكتوبة باللغة الطبيعية. تعتمد الاستجابة على محتويات النموذج اللغوي الكبير (LLM) بالإضافة إلى كل السياق المستخلص من الكود الحالي والمتغيرات والمعلومات الأخرى في الملف.

  5. يرسل IBM watsonx Code Assistant الاستجابة للمطالبة المكتوبة باللغة الطبيعية على شكل كود Ansible بصيغة YAML. فيما يلي مثال على المحتوى الناتج. ansible.builtin.template:

      src:httpd.conf.j2
      dest:/etc/httpd/conf/httpd.conf
      mode:“0644”
      owner:root
      group:root

  6. يقوم المطوِّر بقبول أو تعديل محتوى الكود الذي تم توليده بواسطة الذكاء الاصطناعي، ثم تنفيذ commit للتغيير ودفعه إلى المستودع في Playbook SCM.

  7. يكتشف مشروع Ansible الذي تم تكوينه على Red Hat Ansible Automation Platform التحديث في Playbook SCM، يعمل على تحميل الكود المحدث، وتشغيل الدليل المحدَّث على نقاط النهاية المحددة.

المتطلبات الأساسية

  • Microsoft Visual Studio Code لنظام التشغيل MacOS أو Linux
  • python3
  • ansible، ansible-lint
  • امتداد Ansible لبيئة VS Code
  • منصة الأتمتة Red Hat Ansible
  • حساب RedHat.com أو GitHub.com
  • الاتصال بـ IBM watsonx Code Assistant
  • Microsoft Visual Studio Code لنظام Windows
  • خدمات Windows لنظام Linux (WSL) الإصدار 2
  • قاعدة حاويات Fedora 37 أو CentOS أو RHEL 8 لنظام WSL
  • تثبيت python3 وansible وansible-lint كما ذُكر أعلاه
الميزات الفريدة لـ IBM watsonx Code Assistant
  • توليد الكود: يعمل على تبسيط عملية إنشاء أدلة Ansible باستخدام مدخلات لغة طبيعية في وصف مهمة Ansible.
  • تطبيق معايير البرمجة: يمكِّن من تدريب محتوى Ansible بما يتوافق مع أفضل الممارسات العامة والمؤسسية، ما يؤدي إلى إنتاج كود ملتزم بهذه المعايير.
  • تحسين الإنتاجية: يدمج توصيات الكود التي تم توليدها بالذكاء الاصطناعي مباشرةً داخل بيئة التطوير المتكاملة (IDE).
الخطوات التالية

تحدَّث إلى خبرائنا حول تنفيذ نمط نشر السحابة الهجينة.

المساهمون

Al Hamid، وPete Nuwayser، وChris Kirby، وMihai Criveti

تاريخ التحديث: 5 ديسمبر 2023