LangChain agentini yarating | B4N1

LangChain agentini yarating

5 months ago · b4n1 Tiempo de lectura: 5 min

Ko‘p agentli AI arxitekturalari va orkestratsiya vositalari bilan o‘z-o‘zini davolash dasturiy tizimlarini yaratish

Kirish

Bugungi tez sur'atda va doimiy o'zgaruvchan dasturiy ta'minot landshaftida ishlab chiqarishdan omon qola oladigan mustahkam va moslashuvchan tizimlarni yaratish dasturiy ta'minot muhandislari va DevOps jamoalari uchun ustuvor vazifadir. Dasturiy ta'minotni ishlab chiqishning an'anaviy yondashuvlari ko'pincha nosozliklar va ishlamay qolishlarga moyil bo'lgan monolit tizimlarni yaratishga qaratilgan. Biroq, ko‘p agentli AI arxitekturalari va orkestratsiya vositalarining paydo bo‘lishi bilan endi o‘zgaruvchan sharoitlarga moslasha oladigan va nosozliklarni bartaraf eta oladigan o‘z-o‘zini tiklaydigan dasturiy tizimlarni yaratish mumkin bo‘ldi.

Ushbu maqolada biz ko'p agentli AI arxitekturalari va orkestratsiya vositalari tushunchasini va ulardan o'z-o'zini davolash dasturiy tizimlarini yaratishda qanday foydalanish mumkinligini o'rganamiz. Shuningdek, biz sun'iy intellekt, dasturiy injiniring va DevOps sohasidagi so'nggi tendentsiyalarni o'rganamiz va LangChain va DSPy kabi vositalarning mustahkam va moslashuvchan dasturiy ta'minot tizimlarini yaratishdagi rolini ko'rib chiqamiz.

Ko‘p agentli AI arxitekturalari nima?

Ko'p agentli AI arxitekturalari - umumiy maqsadga erishish uchun bir-biri bilan o'zaro ta'sir qiluvchi bir nechta avtonom agentlardan tashkil topgan AI tizimining bir turi. Har bir agentning o'ziga xos qobiliyatlari, bilimlari va maqsadlari bor va ular yuqori darajadagi maqsadga erishish uchun birgalikda ishlaydi. Ko'p agentli AI arxitekturalari, ayniqsa, bir nechta manfaatdor tomonlar, qarama-qarshi maqsadlar va noaniq natijalar mavjud bo'lgan murakkab tizimlarda foydalidir.

Dasturiy ta'minot injiniringida ko'p agentli AI arxitekturalari real vaqt rejimida nosozliklarni aniqlay oladigan va ularga javob beradigan o'z-o'zini davolash tizimlarini yaratish uchun ishlatilishi mumkin. Masalan, ko'p agentli AI tizimi tizimning turli komponentlarini kuzatuvchi, nosozliklarni aniqlaydigan va tizimni sog'lom holatga qaytarish uchun tiklash harakatlarini ishga tushiradigan bir nechta agentlardan iborat bo'lishi mumkin.

Orkestratsiya vositalari nima?

Orkestratsiya vositalari - bu ilovalar va xizmatlarni joylashtirish, masshtablash va boshqarishni avtomatlashtiradigan dasturiy tizimlar. Ular bir nechta komponentlar, xizmatlar va ilovalarni boshqarish uchun markazlashtirilgan platformani taqdim etadi va ishlab chiquvchilarga murakkab ish oqimlari va avtomatlashtirishni aniqlash imkonini beradi.

Orkestratsiya vositalari o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratish uchun juda muhimdir, chunki ular ishlab chiquvchilarga nosozliklarga javoban ishga tushirilishi mumkin bo'lgan tiklash ish oqimlari va avtomatlashtirishni aniqlash imkonini beradi. Masalan, orkestrlash vositasi zaxira tizimini joylashtirishni avtomatlashtirish yoki tizim komponenti ishlamay qolganda tiklash harakatini boshlash uchun ishlatilishi mumkin.

LangChain va DSPy: Ko'p agentli AI arxitekturalari uchun orkestratsiya vositalari

LangChain va DSPy ko'p agentli AI arxitekturalari bilan ishlash uchun mo'ljallangan ikkita mashhur orkestrlash vositalaridir. LangChain - bu Python kutubxonasi bo'lib, u ko'p agentli AI tizimlarini yaratish uchun oddiy va intuitiv API taqdim etadi, DSPy esa Python kutubxonasi bo'lib, ish oqimlarini aniqlash va bajarish uchun yuqori darajadagi API taqdim etadi.

LangChain va DSPy ishlab chiquvchilarga real vaqtda nosozliklarni aniqlay oladigan va ularga javob beradigan o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratishga imkon beradi. Ular bir qator xususiyatlarni taqdim etadi, jumladan:

  • Agent boshqaruvi: LangChain va DSPy ko'p agentli AI tizimida agentlarni yaratish, boshqarish va ular bilan o'zaro ishlash uchun API'larni taqdim etadi.
  • Ish oqimining ta'rifi: LangChain va DSPy ishlab chiquvchilarga nosozliklarga javoban ishga tushirilishi mumkin bo'lgan murakkab ish oqimlari va avtomatlashtirishni aniqlash imkonini beradi.
  • Qayta tiklash harakatlari: LangChain va DSPy zaxira tizimini o‘rnatish yoki tizim komponenti ishlamay qolganda tiklash harakatini ishga tushirish kabi tiklash amallarini ishga tushirish uchun API-larni taqdim etadi.

LangChain va DSPy yordamida o'z-o'zini davolash tizimini yaratish

LangChain va DSPy kuchini namoyish qilish uchun keling, veb-ilovadagi nosozliklarni aniqlay oladigan va ularga javob beradigan oddiy o'z-o'zini davolash tizimini quraylik. Biz LangChain-dan dasturning ishlashini nazorat qiluvchi va nosozlik aniqlanganda tiklash harakatini ishga tushiruvchi ko‘p agentli AI tizimini yaratish uchun foydalanamiz.

Mana, LangChain va DSPy yordamida o'z-o'zini davolash tizimini qanday qurishni ko'rsatadigan oddiy kod bloki:

import langchain
langchain import agentidan, zanjir


agent = Agent (
    name="o'z-o'zini davolovchi-agent",
    zanjir=Zanjir(
        name = "o'z-o'zini davolash zanjiri",
        qadamlar=[
            {"name": "monitor", "func": monitor_performance},
            {"nom": "qayta tiklash", "func": tiklash_tizim},
        ],
    ),
)

# Ilovaning ishlashini kuzatish uchun funktsiyani belgilang
def monitor_performance():
    # Nosozlikni aniqlashni simulyatsiya qilish
    agar random.random() < 0,5:
        qaytish {"muvaffaqiyatsizlik": rost}
    boshqa:
        qaytish {"muvaffaqiyatsizlik": False}

# Tizimni tiklash funksiyasini aniqlang
def tiklash_tizimi (muvaffaqiyatsizlik):
    # Qayta tiklash harakatini ishga tushiring
    muvaffaqiyatsiz bo'lsa["failure"]:
        print("Qayta tiklash amali ishga tushirilmoqda...")
        # Zaxira tizimini o'rnating yoki tiklash harakatini ishga tushiring
        # ...

# DSPy ish oqimini yarating
ish oqimi = DSPy.Workflow(
    name = "o'z-o'zini davolash-ish oqimi",
    qadamlar=[
        {"name": "monitor", "func": monitor_performance},
        {"nom": "qayta tiklash", "func": tiklash_tizim},
    ],
)

# Ish jarayonini bajaring
workflow.execute()

Ushbu kod bloki dasturning ishlashini kuzatuvchi va nosozlik aniqlanganda tiklash harakatini ishga tushiradigan LangChain agentini qanday yaratishni ko'rsatadi. DSPy ish oqimi qayta tiklash harakatini aniqlash va uni muvaffaqiyatsizlikka javoban bajarish uchun ishlatiladi.

Eng koʻp ishlatiladigan 5-10 ta buyruq/parchalar

LangChain va DSPy uchun eng ko'p ishlatiladigan 5-10 ta eng yaxshi buyruqlar va parchalar:

  1. langchain.Agent(): Yangi LangChain agentini yaratadi.
  2. langchain.Chain(): Yangi LangChain zanjirini yaratadi.
  3. dspypy.Workflow(): Yangi DSPy ish oqimini yaratadi.
  4. agent.execute(): LangChain agentini bajaradi.
  5. workflow.execute(): DSPy ish jarayonini bajaradi.
  6. agent.chain.steps.append({"name": "step", "func": func}): LangChain zanjiriga yangi qadam qo'shadi.
  7. workflow.steps.append({"name": "qadam", "func": func}): DSPy ish oqimiga yangi qadam qo'shadi.
  8. agent.chain.steps.remove({"name": "step"}): LangChain zanjiridan qadamni olib tashlaydi.
  9. workflow.steps.remove({"name": "step"}): DSPy ish oqimidan qadamni olib tashlaydi.
  10. agent.chain.steps.insert(0, {"name": "qadam", "func": func}): LangChain zanjirining boshiga yangi qadam qo'yadi.

Vizualizatsiya

Mana, Chart.js yordamida LangChain va DSPy ish jarayonining vizualizatsiyasi:

{
  "turi": "bar",
  "ma'lumotlar": {
    "yorliqlar": ["Monitor", "Qayta tiklash"],
    "ma'lumotlar to'plami": [
      {
        "label": "LangChain",
        "ma'lumotlar": [10, 20],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      },
      {
        "label": "DSPy",
        "ma'lumotlar": [20, 30],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "borderWidth": 1
      }
    ]
  },
  "variantlar": {
    "sarlavha": {
      "displey": rost,
      "matn": "LangChain va DSPy ish jarayoni"
    },
    "tarozi": {
      "yAxes": [
        {
          "tiklash": {
            "beginAtZero": rost
          }
        }
      ]
    }
  }
}

Ushbu vizualizatsiya LangChain va DSPy ish jarayonini ko'rsatadi, chapda "Monitor" qadami va o'ngdagi "Qayta tiklash" bosqichi. LangChain ish jarayoni qizil chiziq bilan, DSPy ish oqimi esa ko'k chiziq bilan ifodalanadi.

Xulosa

Ko'p agentli AI arxitekturalari va orkestratsiya vositalari bilan o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratish ishlab chiqarishda omon qoladigan mustahkam va moslashuvchan tizimlarni yaratish uchun kuchli yondashuvdir. LangChain va DSPy ikkita mashhur orkestrlash vositalari bo'lib, ular ishlab chiquvchilarga real vaqtda nosozliklarni aniqlay oladigan va ularga javob beradigan o'z-o'zini davolash tizimlarini yaratishga imkon beradi.

Ushbu maqolada biz ko'p agentli AI arxitekturalari va orkestratsiya vositalari tushunchasini o'rganib chiqdik va LangChain va DSPy yordamida o'z-o'zini davolash tizimini qanday qurishni ko'rsatdik. Biz, shuningdek, ishlab chiquvchilarga o'z-o'zini davolash tizimlarini yaratishni boshlashlariga yordam berish uchun bir qator amaliy misollar va kod parchalarini taqdim etdik.

Siz dasturiy ta'minot muhandisi, DevOps muhandisi yoki AI tadqiqotchisi bo'lasizmi, LangChain va DSPy bilan o'z-o'zini tiklaydigan dasturiy ta'minot tizimlarini yaratish ishlab chiqarishda omon qoladigan mustahkam va moslashuvchan tizimlarni yaratishga kuchli yondashuvdir.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn