تنسيق وكلاء الذكاء الاصطناعي مع LangChain وDSPy لتحسين هندسة البرمجيات | B4N1

تنسيق وكلاء الذكاء الاصطناعي مع LangChain وDSPy لتحسين هندسة البرمجيات

8 months ago · b4n1 Read time: 4 min

تنسيق وكلاء الذكاء الاصطناعي باستخدام LangChain وDSPy لتحسين هندسة البرامج

مقدمة

في المشهد الرقمي سريع الخطى اليوم، أصبحت أنظمة البرمجيات معقدة بشكل متزايد، مع تكامل قدرات الذكاء الاصطناعي (AI) والتعلم الآلي (ML). ونتيجة لذلك، أصبح تصميم أنظمة قابلة للتطوير ومرنة يمكنها تنسيق عوامل الذكاء الاصطناعي بشكل فعال مصدر قلق ملح لمهندسي البرمجيات. تستكشف هذه المقالة تقاطع الذكاء الاصطناعي وهندسة البرمجيات وأدوات التنسيق لتصميم بنيات برمجية فعالة، مع التركيز على تنفيذ وكلاء الذكاء الاصطناعي باستخدام LangChain وDSPy.

الحاجة إلى تنسيق الذكاء الاصطناعي

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

LangChain: إطار عمل لبناء وكلاء الذكاء الاصطناعي

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

DSPy: إطار عمل للتنسيق

DSPy هو إطار عمل Python لبناء أنظمة موزعة يمكنها تنسيق العديد من عوامل الذكاء الاصطناعي. فهو يوفر مجموعة من الأدوات والمكتبات التي تمكن المطورين من تصميم ونشر أنظمة قابلة للتطوير ومرنة يمكنها إدارة التفاعلات المعقدة بين وكلاء متعددين. تم بناء DSPy على نظام المراسلة Apache Kafka ويوفر واجهة برمجة تطبيقات عالية المستوى لبناء الأنظمة الموزعة.

تنفيذ وكلاء الذكاء الاصطناعي باستخدام LangChain وDSPy

لتنفيذ وكلاء الذكاء الاصطناعي باستخدام LangChain وDSPy، نحتاج إلى اتباع الخطوات التالية:

  1. تحديد بنية الوكيل: تحديد بنية وكيل الذكاء الاصطناعي، بما في ذلك المدخلات والمخرجات والتفاعلات مع الوكلاء الآخرين.
  2. تنفيذ منطق الوكيل: تنفيذ منطق وكيل الذكاء الاصطناعي باستخدام LangChain، بما في ذلك آليات التفكير والتعلم والتكيف.
  3. تنسيق تفاعلات الوكيل: استخدم DSPy لتنسيق التفاعلات بين وكلاء الذكاء الاصطناعي المتعددين، بما في ذلك بروتوكولات الاتصال وآليات تبادل البيانات.
  4. نشر النظام: انشر النظام باستخدام منصة سحابية أو إطار عمل للحاويات، مثل Docker.

مثال على الكود: تنفيذ وكيل AI بسيط باستخدام LangChain

فيما يلي مثال رمزي بسيط يوضح كيفية تنفيذ وكيل الذكاء الاصطناعي باستخدام LangChain:

import langchain
من langchain.chains قم باستيراد LLMChain


الوكيل = langchain.Agent(
    input_schema={"text": str},
    Output_schema={"text": str},
    سلسلة = LLMChain (
        نموذج = "دافينشي: إينستركتيكس"،
        الحد الأقصى للطول = 2048،
        درجة الحرارة = 0.7،
    )،
)

# تنفيذ منطق الوكيل
تعريف عامل_المنطق (input_text):
    Output_text = agent.run(input_text)
    إرجاع Output_text

# اختبار الوكيل
input_text = "ما معنى الحياة؟"
Output_text = agent_logic(input_text)
طباعة (output_text)

يوضح هذا المثال الرمزي كيفية تعريف وكيل الذكاء الاصطناعي باستخدام LangChain، بما في ذلك مخططات الإدخال والإخراج ومنطق الوكيل. يتم تنفيذ الوكيل باستخدام سلسلة نموذج اللغة الكبيرة (LLM)، وهو نوع من وكيل الذكاء الاصطناعي الذي يمكنه التفكير وإنشاء النص.

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

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

  1. langchain.Agent(): إنشاء مثيل وكيل AI جديد.
الوكيل = langchain.Agent(
    input_schema={"text": str},
    Output_schema={"text": str},
    سلسلة = LLMChain (
        نموذج = "دافينشي: إينستركتيكس"،
        الحد الأقصى للطول = 2048،
        درجة الحرارة = 0.7،
    )،
)
  1. agent.run(): تشغيل وكيل الذكاء الاصطناعي بإدخال محدد.
Output_text = agent.run(input_text)
  1. DSPy.create_cluster(): إنشاء مجموعة جديدة من العقد للنظام الموزع.
الكتلة = DSPy.create_cluster(
    num_nodes=5,
    عقدة_نوع = "عامل"،
)
  1. DSPy.create_agent(): يقوم بإنشاء مثيل وكيل AI جديد للنظام الموزع.
الوكيل = DSPy.create_agent(
    الكتلة = الكتلة،
    Agent_type = "LLM"،
)
  1. DSPy.deploy_agent(): ينشر وكيل الذكاء الاصطناعي إلى النظام الموزع.
DSPy.deploy_agent(
    وكيل = وكيل،
    الكتلة = الكتلة،
)
  1. DSPy.get_agent_status(): استرداد حالة وكيل الذكاء الاصطناعي.
الحالة = DSPy.get_agent_status(
    وكيل = وكيل،
    الكتلة = الكتلة،
)
  1. DSPy.update_agent(): يقوم بتحديث وكيل الذكاء الاصطناعي ببيانات أو معلمات جديدة.
DSPy.update_agent(
    وكيل = وكيل،
    الكتلة = الكتلة،
    new_data={"text": "نص إدخال جديد"},
)
  1. DSPy.delete_agent(): يحذف وكيل الذكاء الاصطناعي من النظام الموزع.
DSPy.delete_agent(
    وكيل = وكيل،
    الكتلة = الكتلة،
)
  1. DSPy.create_chain(): إنشاء سلسلة جديدة من وكلاء الذكاء الاصطناعي للنظام الموزع.
السلسلة = DSPy.create_chain(
    وكلاء=[agent1, agent2, agent3],
)
  1. DSPy.deploy_chain(): ينشر سلسلة وكلاء الذكاء الاصطناعي إلى النظام الموزع.
DSPy.deploy_chain(
    سلسلة = سلسلة،
    الكتلة = الكتلة،
)

التصور

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

{
  "النوع": "مخطط دائري"،
  "البيانات": {
    "التسميات": ["LangChain"، "DSPy"]،
    "مجموعات البيانات": [
      {
        "label": "وكلاء الذكاء الاصطناعي"،
        "بيانات": [50، 50]،
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "الخيارات": {
    "العنوان": {
      "العرض": صحيح،
      "text": "هندسة LangChain وDSPy"
    },
    "أسطورة": {
      "العرض": صحيح
    }
  }
}

يوضح هذا التصور توزيع وكلاء الذكاء الاصطناعي بين LangChain وDSPy، حيث يعمل 50% من الوكلاء على LangChain و50% يعملون على DSPy.

الخلاصة

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


Have Questions?

Let's Talk

Contact me on LinkedIn