Ստեղծեք LangChain գործակալ | B4N1

Ստեղծեք LangChain գործակալ

5 months ago · b4n1 Read time: 5 min

** Ինքնաբուժման ծրագրային համակարգերի կառուցում Multi-Agent AI Architectures և Orchestration Tools**

Ներածություն

Այսօրվա արագ տեմպերով և անընդհատ փոփոխվող ծրագրային լանդշաֆտում ամուր և հարմարվողական համակարգերի կառուցումը, որոնք կարող են գոյատևել արտադրությունը, առաջնահերթություն է ծրագրային ապահովման ինժեներների և DevOps թիմերի համար: Ծրագրային ապահովման մշակման ավանդական մոտեցումները հաճախ կենտրոնանում են մոնոլիտ համակարգերի կառուցման վրա, որոնք հակված են ձախողումների և խափանումների: Այնուամենայնիվ, բազմաֆունկցիոնալ արհեստական ​​ինտելեկտի ճարտարապետությունների և նվագախմբային գործիքների հայտնվելով, այժմ հնարավոր է ստեղծել ինքնաբուժվող ծրագրային համակարգեր, որոնք կարող են հարմարվել փոփոխվող պայմաններին և վերականգնել ձախողումները:

Այս հոդվածում մենք կուսումնասիրենք բազմագործակալային AI ճարտարապետությունների և նվագախմբային գործիքների հայեցակարգը և թե ինչպես դրանք կարող են օգտագործվել ինքնաբուժվող ծրագրային համակարգեր ստեղծելու համար: Մենք նաև կխորանանք AI-ի, ծրագրային ապահովման ճարտարագիտության և DevOps-ի վերջին միտումների մեջ և կուսումնասիրենք այնպիսի գործիքների դերը, ինչպիսիք են LangChain-ը և DSPy-ն ամուր և հարմարվող ծրագրային համակարգեր ստեղծելու գործում:

Ի՞նչ են Multi-Agent AI Architectures-ը:

Multi-agent AI-ի ճարտարապետությունները AI համակարգի մի տեսակ են, որը բաղկացած է բազմաթիվ ինքնավար գործակալներից, որոնք փոխազդում են միմյանց հետ՝ հասնելու ընդհանուր նպատակին: Յուրաքանչյուր գործակալ ունի իր հնարավորությունների, գիտելիքների և նպատակների հավաքածուն, և նրանք միասին աշխատում են ավելի բարձր մակարդակի նպատակին հասնելու համար: Բազմագենտային AI ճարտարապետությունները հատկապես օգտակար են բարդ համակարգերում, որտեղ կան բազմաթիվ շահագրգիռ կողմեր, հակասական նպատակներ և անորոշ արդյունքներ:

Ծրագրային ապահովման ճարտարագիտության մեջ բազմագործակալային AI ճարտարապետությունները կարող են օգտագործվել ինքնաբուժման համակարգեր ստեղծելու համար, որոնք կարող են իրական ժամանակում հայտնաբերել և արձագանքել ձախողումներին: Օրինակ, բազմագործակալային AI համակարգը կարող է բաղկացած լինել բազմաթիվ գործակալներից, որոնք վերահսկում են համակարգի տարբեր բաղադրիչները, հայտնաբերում են ձախողումները և գործարկում վերականգնման գործողություններ՝ համակարգը առողջ վիճակի վերականգնելու համար:

Ի՞նչ են նվագախմբի գործիքները:

Նվագախմբի գործիքները ծրագրային համակարգեր են, որոնք ավտոմատացնում են հավելվածների և ծառայությունների տեղակայումը, մասշտաբացումը և կառավարումը: Նրանք կենտրոնացված հարթակ են տրամադրում բազմաթիվ բաղադրիչների, ծառայությունների և հավելվածների կառավարման համար և հնարավորություն են տալիս ծրագրավորողներին սահմանել բարդ աշխատանքային հոսքեր և ավտոմատացումներ:

Նվագախմբի գործիքները կարևոր են ինքնավերականգնվող ծրագրային համակարգերի կառուցման համար, քանի որ դրանք ծրագրավորողներին հնարավորություն են տալիս սահմանել վերականգնման աշխատանքային հոսքեր և ավտոմատացումներ, որոնք կարող են գործարկվել ի պատասխան ձախողումների: Օրինակ, նվագախմբային գործիքը կարող է օգտագործվել պահեստային համակարգի տեղակայումն ավտոմատացնելու կամ համակարգի բաղադրիչի ձախողման դեպքում վերականգնման գործողություն գործարկելու համար:

LangChain և DSPy. նվագախմբային գործիքներ Multi-Agent AI Architectures-ի համար

LangChain-ը և DSPy-ը երկու հայտնի նվագախմբային գործիքներ են, որոնք նախագծված են աշխատելու բազմագործակալային AI ճարտարապետությունների հետ: LangChain-ը Python գրադարան է, որն ապահովում է պարզ և ինտուիտիվ API բազմագործակալ AI համակարգեր կառուցելու համար, մինչդեռ DSPy-ը Python գրադարան է, որն ապահովում է բարձր մակարդակի API՝ աշխատանքային հոսքերի սահմանման և իրականացման համար:

LangChain-ը և DSPy-ը ծրագրավորողներին հնարավորություն են տալիս ստեղծել ինքնաբուժվող ծրագրային համակարգեր, որոնք կարող են իրական ժամանակում հայտնաբերել և արձագանքել ձախողումներին: Նրանք ապահովում են մի շարք առանձնահատկություններ, ներառյալ.

  • Գործակալների կառավարում. LangChain-ը և DSPy-ն ապահովում են API-ներ՝ բազմագործակալների AI համակարգում գործակալների ստեղծման, կառավարման և փոխազդեցության համար:
  • Աշխատանքային հոսքի սահմանում. LangChain-ը և DSPy-ը ծրագրավորողներին հնարավորություն են տալիս սահմանել բարդ աշխատանքային հոսքեր և ավտոմատացումներ, որոնք կարող են գործարկվել ի պատասխան ձախողումների:
  • Վերականգնման գործողություններ. LangChain-ը և DSPy-ն ապահովում են API-ներ վերականգնման գործողություններ սկսելու համար, ինչպիսիք են պահուստային համակարգի տեղակայումը կամ վերականգնման գործողությունը գործարկելը, երբ համակարգի բաղադրիչը ձախողվում է:

** Ինքնաբուժման համակարգի կառուցում LangChain-ի և DSPy-ի հետ**

LangChain-ի և DSPy-ի հզորությունը ցուցադրելու համար եկեք կառուցենք ինքնաբուժման պարզ համակարգ, որը կարող է հայտնաբերել և արձագանքել վեբ հավելվածի խափանումներին: Մենք կօգտագործենք LangChain-ը՝ ստեղծելու բազմագործակալային AI համակարգ, որը վերահսկում է հավելվածի աշխատանքը և կսկսի վերականգնման գործողություն, երբ հայտնաբերվում է ձախողում:

Ահա մի պարզ կոդի բլոկ, որը ցույց է տալիս, թե ինչպես կարելի է կառուցել ինքնաբուժման համակարգ LangChain-ի և DSPy-ի միջոցով. «Պիթոն». ներմուծման լանգշղթա langchain ներմուծման գործակալից, Chain

գործակալ = Գործակալ ( name = "ինքնա-բուժող-գործակալ", շղթա=Շղթա( name = "ինքնաբժշկական շղթա", քայլեր=[ {"name": "monitor", "func": monitor_performance}, {"name": "վերականգնել", "func": recover_system}, ], ), )

Սահմանեք հավելվածի կատարումը վերահսկելու գործառույթ

def monitor_performance(): # Մոդելավորել ձախողման հայտնաբերումը if random.random() < 0.5: վերադարձ {"failure": True} ուրիշ: վերադարձ {"failure": False}

Սահմանեք համակարգը վերականգնելու գործառույթ

def recover_system (ձախողում): # Գործարկեք վերականգնման գործողություն եթե ձախողում ["failure"]: տպել («Վերականգնման գործողության գործարկում...») # Տեղադրեք պահեստային համակարգ կամ գործարկեք վերականգնման գործողություն #...

Ստեղծեք DSPy աշխատանքային հոսք

աշխատանքային հոսք = DSPy.Workflow ( name = "self-healing-workflow", քայլեր=[ {"name": "monitor", "func": monitor_performance}, {"name": "վերականգնել", "func": recover_system}, ], )

Կատարեք աշխատանքային հոսքը

workflow.execute()

Այս կոդի բլոկը ցույց է տալիս, թե ինչպես ստեղծել LangChain գործակալ, որը վերահսկում է հավելվածի աշխատանքը և գործարկում է վերականգնման գործողություն, երբ հայտնաբերվում է ձախողում: DSPy-ի աշխատանքային հոսքը օգտագործվում է վերականգնման գործողությունը սահմանելու և այն կատարելու համար՝ ի պատասխան ձախողման:

**Թոփ 5-10 ամենաշատ օգտագործվող հրամաններ/հատվածներ**

Ահա 5-10 ամենաշատ օգտագործվող հրամաններն ու հատվածները LangChain-ի և DSPy-ի համար.

1. «langchain.Agent()»: Ստեղծում է նոր LangChain գործակալ:
2. «langchain.Chain()»: Ստեղծում է նոր LangChain շղթա:
3. «dspypy.Workflow()»: Ստեղծում է նոր DSPy աշխատանքային հոսք:
4. «agent.execute()»: Գործարկում է LangChain գործակալը:
5. «workflow.execute()»: Իրականացնում է DSPy աշխատանքային հոսքը:
6. `agent.chain.steps.append({"name": "step", "func": func})". ավելացնում է նոր քայլ LangChain շղթային:
7. «workflow.steps.append({"name": "step", "func": func})". ավելացնում է նոր քայլ DSPy աշխատանքային հոսքին:
8. `agent.chain.steps.remove({"name": "step"})`` հեռացնում է քայլը LangChain շղթայից:
9. `workflow.steps.remove({"name": "step"})`` հեռացնում է մի քայլ DSPy աշխատանքային հոսքից:
10. `agent.chain.steps.insert(0, {"name": "step", "func": func})". Տեղադրում է նոր քայլ LangChain շղթայի սկզբում:

**Վիզուալիզացիա**

Ահա LangChain-ի և DSPy-ի աշխատանքային հոսքի արտացոլումը Chart.js-ի միջոցով.
```ջսոն
{
  «տեսակ»՝ «բար»,
  "տվյալներ": {
    «պիտակներ»: [«Մոնիտոր», «Վերականգնել»],
    «տվյալների հավաքածուներ»:
      {
        «պիտակ»: «LangChain»,
        «տվյալներ»: [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 Workflow"
    },
    «կշեռքներ»: {
      «yAxes»:
        {
          "ticks": {
            «beginAtZero»: ճիշտ է
          }
        }
      ]
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս LangChain-ի և DSPy-ի աշխատանքային հոսքը՝ «Մոնիտոր» քայլը ձախ կողմում և «Վերականգնել» քայլը՝ աջ: LangChain աշխատանքային հոսքը ներկայացված է կարմիր տողով, մինչդեռ DSPy աշխատանքային հոսքը ներկայացված է կապույտ տողով:

Եզրակացություն

Ինքնաբուժվող ծրագրային համակարգերի կառուցումը բազմագործակալային AI ճարտարապետություններով և նվագախմբային գործիքներով հզոր մոտեցում է ամուր և հարմարվողական համակարգեր ստեղծելու համար, որոնք կարող են գոյատևել արտադրությունը: LangChain-ը և DSPy-ը երկու հանրաճանաչ նվագախմբային գործիքներ են, որոնք ծրագրավորողներին հնարավորություն են տալիս ստեղծել ինքնաբուժման համակարգեր, որոնք կարող են իրական ժամանակում հայտնաբերել և արձագանքել ձախողումներին:

Այս հոդվածում մենք ուսումնասիրել ենք բազմագործակալ AI ճարտարապետությունների և նվագախմբային գործիքների հայեցակարգը և ցույց ենք տվել, թե ինչպես կարելի է կառուցել ինքնաբուժման համակարգ LangChain-ի և DSPy-ի հետ: Մենք նաև տրամադրել ենք մի շարք գործնական օրինակներ և կոդերի հատվածներ՝ օգնելու ծրագրավորողներին սկսել սեփական ինքնաբուժման համակարգերի կառուցումը:

Անկախ նրանից՝ դուք ծրագրային ապահովման ինժեներ եք, DevOps-ի ինժեներ կամ AI հետազոտող, LangChain-ի և DSPy-ի հետ ինքնավերականգնվող ծրագրային համակարգերի կառուցումը հզոր և հարմարվողական համակարգեր ստեղծելու հզոր մոտեցում է, որոնք կարող են գոյատևել արտադրությունը:


Have Questions?

Let's Talk

Contact me on LinkedIn