قم بإنشاء وكيل LangChain | B4N1

قم بإنشاء وكيل LangChain

5 months ago · b4n1 Read time: 5 min

إنشاء أنظمة برمجية ذاتية الإصلاح باستخدام بنيات الذكاء الاصطناعي متعددة الوكلاء وأدوات التنسيق

مقدمة

في مشهد البرمجيات سريع الخطى والمتغير باستمرار، يعد بناء أنظمة قوية وقابلة للتكيف يمكنها الاستمرار في الإنتاج أولوية قصوى لمهندسي البرمجيات وفرق DevOps. غالبًا ما تركز الأساليب التقليدية لتطوير البرمجيات على بناء أنظمة متجانسة تكون عرضة للفشل والتوقف عن العمل. ومع ذلك، مع ظهور بنيات الذكاء الاصطناعي وأدوات التنسيق متعددة الوكلاء، أصبح من الممكن الآن إنشاء أنظمة برمجية ذاتية الإصلاح يمكنها التكيف مع الظروف المتغيرة والتعافي من حالات الفشل.

في هذه المقالة، سنستكشف مفهوم بنيات الذكاء الاصطناعي وأدوات التنسيق متعددة الوكلاء، وكيف يمكن استخدامها لبناء أنظمة برمجية ذاتية الإصلاح. سنتعمق أيضًا في أحدث الاتجاهات في الذكاء الاصطناعي وهندسة البرمجيات وDevOps، ونفحص دور أدوات مثل LangChain وDSPy في إنشاء أنظمة برمجية قوية وقابلة للتكيف.

ما هي بنيات الذكاء الاصطناعي متعددة الوكلاء؟

تعد بنيات الذكاء الاصطناعي متعددة الوكلاء نوعًا من أنظمة الذكاء الاصطناعي التي تتكون من عدة عوامل مستقلة تتفاعل مع بعضها البعض لتحقيق هدف مشترك. يمتلك كل وكيل مجموعته الخاصة من القدرات والمعرفة والأهداف، ويعملون معًا لتحقيق هدف أعلى مستوى. تعتبر بنيات الذكاء الاصطناعي متعددة الوكلاء مفيدة بشكل خاص في الأنظمة المعقدة حيث يوجد العديد من أصحاب المصلحة، وأهداف متضاربة، ونتائج غير مؤكدة.

في هندسة البرمجيات، يمكن استخدام بنيات الذكاء الاصطناعي متعددة الوكلاء لبناء أنظمة ذاتية الإصلاح يمكنها اكتشاف حالات الفشل والاستجابة لها في الوقت الفعلي. على سبيل المثال، قد يتكون نظام الذكاء الاصطناعي متعدد الوكلاء من وكلاء متعددين يراقبون المكونات المختلفة للنظام، ويكتشفون حالات الفشل، ويطلقون إجراءات الاسترداد لاستعادة النظام إلى حالة صحية.

ما هي أدوات التنسيق؟

أدوات التنسيق هي أنظمة برمجية تعمل على أتمتة نشر التطبيقات والخدمات وتوسيع نطاقها وإدارتها. فهي توفر منصة مركزية لإدارة المكونات والخدمات والتطبيقات المتعددة، وتمكن المطورين من تحديد مسارات العمل والأتمتة المعقدة.

تعد أدوات التنسيق ضرورية لبناء أنظمة برمجيات ذاتية الإصلاح، لأنها تمكن المطورين من تحديد سير عمل الاسترداد والأتمتة التي يمكن تشغيلها استجابةً للفشل. على سبيل المثال، قد يتم استخدام أداة التنسيق لأتمتة نشر نظام النسخ الاحتياطي، أو لتشغيل إجراء الاسترداد عند فشل أحد مكونات النظام.

LangChain وDSPy: أدوات التنسيق لبنيات الذكاء الاصطناعي متعددة الوكلاء

تعد LangChain وDSPy من أدوات التنسيق الشائعة المصممة للعمل مع بنيات الذكاء الاصطناعي متعددة الوكلاء. LangChain هي مكتبة Python توفر واجهة برمجة تطبيقات بسيطة وبديهية لبناء أنظمة ذكاء اصطناعي متعددة الوكلاء، بينما DSPy هي مكتبة Python توفر واجهة برمجة تطبيقات عالية المستوى لتحديد وتنفيذ سير العمل.

يمكّن LangChain وDSPy المطورين من إنشاء أنظمة برمجية ذاتية الإصلاح يمكنها اكتشاف حالات الفشل والاستجابة لها في الوقت الفعلي. أنها توفر مجموعة من الميزات، بما في ذلك:

  • إدارة الوكلاء: توفر LangChain وDSPy واجهات برمجة التطبيقات لإنشاء الوكلاء وإدارتهم والتفاعل معهم في نظام الذكاء الاصطناعي متعدد الوكلاء.
  • تعريف سير العمل: يمكّن LangChain وDSPy المطورين من تحديد مسارات العمل المعقدة والأتمتة التي يمكن تشغيلها استجابةً للفشل.
  • إجراءات الاسترداد: توفر LangChain وDSPy واجهات برمجة التطبيقات لبدء إجراءات الاسترداد، مثل نشر نظام النسخ الاحتياطي أو تشغيل إجراء الاسترداد عند فشل أحد مكونات النظام.

بناء نظام للشفاء الذاتي باستخدام LangChain وDSPy

لتوضيح قوة LangChain وDSPy، دعونا نبني نظامًا بسيطًا للإصلاح الذاتي يمكنه اكتشاف حالات الفشل في تطبيق الويب والاستجابة لها. سنستخدم LangChain لإنشاء نظام ذكاء اصطناعي متعدد الوكلاء يراقب أداء التطبيق ويطلق إجراء الاسترداد عند اكتشاف فشل.

فيما يلي مقطع تعليمات برمجي بسيط يوضح كيفية إنشاء نظام إصلاح ذاتي باستخدام LangChain وDSPy:

import langchain
من وكيل استيراد langchain، سلسلة


وكيل = وكيل(
    الاسم = "عامل الشفاء الذاتي"،
    سلسلة = سلسلة (
        الاسم = "سلسلة الشفاء الذاتي"،
        الخطوات=[
            {"الاسم": "الشاشة"، "الوظيفة": مراقبة_الأداء}،
            {"الاسم": "استرداد"، "الوظيفة": Recovery_system}،
        ]،
    )،
)

# تحديد وظيفة لمراقبة أداء التطبيق
تعريف Monitor_performance():
    # محاكاة اكتشاف الفشل
    إذا كان Random.random () <0.5:
        إرجاع {"فشل": صحيح}
    آخر:
        إرجاع {"فشل": خطأ}

# تحديد وظيفة لاستعادة النظام
مواطنة Recovery_system (فشل):
    # قم بتشغيل إجراء الاسترداد
    إذا فشل ["الفشل"]:
        طباعة ("تشغيل إجراء الاسترداد ...")
        # نشر نظام النسخ الاحتياطي أو تشغيل إجراء الاسترداد
        #...

# إنشاء سير عمل DSPy
سير العمل = DSPy.Workflow(
    الاسم = "سير عمل الشفاء الذاتي"،
    الخطوات=[
        {"الاسم": "الشاشة"، "الوظيفة": مراقبة_الأداء}،
        {"الاسم": "استرداد"، "الوظيفة": Recovery_system}،
    ]،
)

# تنفيذ سير العمل
سير العمل. تنفيذ ()

يوضح مقطع التعليمات البرمجية هذا كيفية إنشاء وكيل LangChain الذي يراقب أداء التطبيق ويقوم بتشغيل إجراء الاسترداد عند اكتشاف فشل. يتم استخدام سير عمل DSPy لتحديد إجراء الاسترداد وتنفيذه استجابةً للفشل.

أهم 5-10 أوامر/مقتطفات الأكثر استخدامًا

فيما يلي أهم 5-10 أوامر ومقتطفات الأكثر استخدامًا لـ LangChain وDSPy:

  1. langchain.Agent(): إنشاء وكيل LangChain جديد.
  2. langchain.Chain(): إنشاء سلسلة LangChain جديدة.
  3. dspypy.Workflow(): إنشاء سير عمل DSPy جديد. 4.agent.execute(): ينفذ وكيل LangChain.
  4. workflow.execute(): ينفذ سير عمل DSPy.
  5. agent.chain.steps.append({"name": "step"، "func": func}): يضيف خطوة جديدة إلى سلسلة LangChain.
  6. workflow.steps.append({"name": "step"، "func": func}): يضيف خطوة جديدة إلى سير عمل DSPy.
  7. agent.chain.steps.remove({"name": "step"}): إزالة خطوة من سلسلة LangChain.
  8. workflow.steps.remove({"name": "step"}): يزيل خطوة من سير عمل DSPy. 10.agent.chain.steps.insert(0, {"name": "step"، "func": func}): إدراج خطوة جديدة في بداية سلسلة LangChain.

التصور

فيما يلي تصور لسير عمل LangChain وDSPy باستخدام Chart.js:

{
  "النوع": "شريط"،
  "البيانات": {
    "التسميات": ["الشاشة"، "الاسترداد"]،
    "مجموعات البيانات": [
      {
        "التسمية": "لانج تشين"،
        "بيانات": [10، 20]،
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "عرض الحدود": 1
      },
      {
        "التسمية": "DSPy"،
        "بيانات": [20، 30]،
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "عرض الحدود": 1
      }
    ]
  },
  "الخيارات": {
    "العنوان": {
      "العرض": صحيح،
      "text": "سير عمل LangChain وDSPy"
    },
    "المقاييس": {
      "المحاور": [
        {
          "القراد": {
            "beginAtZero": صحيح
          }
        }
      ]
    }
  }
}

يُظهر هذا التصور سير عمل LangChain وDSPy، مع خطوة "المراقبة" على اليسار وخطوة "الاسترداد" على اليمين. يتم تمثيل سير عمل LangChain بشريط أحمر، بينما يتم تمثيل سير عمل DSPy بشريط أزرق.

الخلاصة

يعد بناء أنظمة برمجية ذاتية الإصلاح باستخدام بنيات الذكاء الاصطناعي وأدوات التنسيق متعددة الوكلاء أسلوبًا قويًا لإنشاء أنظمة قوية وقابلة للتكيف يمكنها الاستمرار في الإنتاج. تعد LangChain وDSPy من أدوات التنسيق الشائعة التي تمكن المطورين من بناء أنظمة إصلاح ذاتي يمكنها اكتشاف حالات الفشل والاستجابة لها في الوقت الفعلي.

في هذه المقالة، استكشفنا مفهوم بنيات الذكاء الاصطناعي متعددة الوكلاء وأدوات التنسيق، وأظهرنا كيفية بناء نظام إصلاح ذاتي باستخدام LangChain وDSPy. لقد قدمنا ​​أيضًا مجموعة من الأمثلة العملية ومقتطفات التعليمات البرمجية لمساعدة المطورين على البدء في إنشاء أنظمة الإصلاح الذاتي الخاصة بهم.

سواء كنت مهندس برمجيات، أو مهندس DevOps، أو باحثًا في الذكاء الاصطناعي، فإن بناء أنظمة برمجيات ذاتية الإصلاح باستخدام LangChain وDSPy يعد أسلوبًا قويًا لإنشاء أنظمة قوية وقابلة للتكيف يمكنها الاستمرار في الإنتاج.


Have Questions?

Let's Talk

Contact me on LinkedIn