Ինքնաբուժման ծրագրային համակարգերի կառուցում Multi-Agent AI Architectures-ով և LangChain-ով | B4N1

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

3 months ago · b4n1 Read time: 4 min

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

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

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

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

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

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

Ի՞նչ է LangChain-ը:

LangChain-ը բաց կոդով Python գրադարան է բազմագործակալային AI համակարգեր կառուցելու համար: Այն ապահովում է պարզ, ճկուն և մասշտաբային շրջանակ բարդ AI համակարգեր կառուցելու համար, որոնք կարող են սովորել, հարմարվել և արձագանքել փոփոխվող պայմաններին: LangChain-ը նախագծված է աշխատելու AI շրջանակների լայն շրջանակի հետ, ներառյալ TensorFlow, PyTorch և Keras, և կարող է օգտագործվել համակարգեր ստեղծելու համար, որոնք ինտեգրվում են տվյալների մի շարք աղբյուրների, ներառյալ տվյալների բազաները, API-ները և IoT սարքերը:

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

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

  1. Գործակալների ձևավորում. Մենք պետք է նախագծենք ինքնավար գործակալների մի շարք, որոնք կարող են փոխազդել միմյանց և իրենց միջավայրի հետ՝ ընդհանուր նպատակին հասնելու համար: Յուրաքանչյուր գործակալ պետք է ունենա որոշումներ կայացնելու իր կարողությունները, գիտելիքները և ռեսուրսները:
  2. Գիտելիքի գրաֆիկ. Մենք պետք է ստեղծենք գիտելիքի գրաֆիկ, որը ներկայացնում է գործակալների, շրջակա միջավայրի և համակարգի նպատակների փոխհարաբերությունները: Այս գրաֆիկը կարող է օգտագործվել համակարգի վիճակի մասին տրամաբանելու և որոշումներ կայացնելու համար:
  3. Որոշումների կայացում. Մենք պետք է իրականացնենք որոշումների կայացման գործընթաց, որը թույլ կտա գործակալներին տրամաբանել համակարգի վիճակի մասին և որոշումներ կայացնել՝ հիմնվելով գիտելիքների գրաֆիկի վրա:
  4. Գործողությունների կատարում. Մենք պետք է իրականացնենք գործողությունների կատարման գործընթաց, որը թույլ կտա գործակալներին կատարել իրենց որոշումները և փոխազդել շրջակա միջավայրի հետ:

Ահա LangChain-ով կառուցված ինքնաբուժման ծրագրային համակարգի պարզ օրինակ. «Պիթոն». ներմուծման լանգշղթա langchain.agents ներմուծման գործակալից langchain.llms ներմուծման LLM-ից

գրաֆիկ = { 'գործակալներ'՝ ['գործակալ1', 'գործակալ2', 'գործակալ3'], «միջավայր»՝ [«տվյալների բազա», «API», «IoT սարք»], 'նպատակներ'. ['հայտնաբերել սխալները', 'պատասխանել ձախողումներին', 'վերականգնել սխալներից'] }

Սահմանեք որոշումների կայացման գործընթացը

def որոշում_ընդունում (գործակալ, գիտելիք_գրաֆիկ): # Պատճառը համակարգի վիճակի մասին վիճակ = գիտելիքներ_գրաֆ ['գործակալներ'][գործակալ] # Պետությունից ելնելով որոշում կայացրեք որոշում = «պատասխանել ձախողմանը» վերադարձի որոշումը

Սահմանեք գործողությունների կատարման գործընթացը

def action_execution(գործակալ, որոշում): # Կատարել որոշումը եթե որոշումը == 'պատասխանել ձախողմանը': # Պատասխանեք ձախողմանը տպել («Արձագանքելով ձախողմանը...») վերադարձ

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

գործակալ = Գործակալ ( name='ինքնաբժշկող միջոց', որոշում_ընդունում=որոշում_ընդունում, գործողություն_կատարում=գործողություն_կատարում, գիտելիք_գրաֆ=գրաֆ )

Ստեղծեք LangChain LLM

llm = LLM( name='self-healing-llm', մոդել='դավինցի' )

Ստեղծեք LangChain համակարգ

system = langchain.System( գործակալ=գործակալ, llm=llm )

Գործարկեք համակարգը

system.run ()

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

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

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

1. «langchain.Agent()»: Ստեղծում է նոր LangChain գործակալ:
2. «langchain.LLM()»: Ստեղծում է նոր LangChain LLM:
3. «langchain.System()»: Ստեղծում է նոր LangChain համակարգ:
4. «agent.decision_making()»: Գործարկում է գործակալի որոշումների կայացման գործընթացը:
5. «agent.action_execution()»: Գործարկում է գործողության կատարման գործընթացը գործակալի համար:
6. «llm.predict()»: Կատարում է կանխատեսում LLM-ի միջոցով:
7. «system.run()»: Գործարկում է LangChain համակարգը:
8. `graph.add_node()`` ավելացնում է նոր հանգույց գիտելիքների գրաֆիկում:
9. `graph.add_edge()`` ավելացնում է նոր եզր գիտելիքների գրաֆիկին:
10. `graph.remove_node()`` հեռացնում է հանգույցը գիտելիքների գրաֆիկից:

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

Ահա գիտելիքների գրաֆիկի պարզ պատկերացում՝ օգտագործելով Chart.js.
```ջսոն
{
  «տեսակ»՝ «գրաֆիկ»,
  "տվյալներ": {
    «հանգույցներ»:
      {"id": "agent1", "label": "Agent 1"},
      {"id": "agent2", "label": "Agent 2"},
      {"id": "agent3", "label": "Agent 3"},
      {"id": "տվյալների բազա", "label": "Տվյալների բազա"},
      {"id": "API", "label": "API"},
      {"id": "IoT սարք", "label": "IoT Device"}
    ],
    «եզրեր»:
      {"աղբյուր": "agent1", "target": "տվյալների բազա"},
      {"source": "agent2", "target": "API"},
      {"աղբյուր": "agent3", "target": "IoT սարք"},
      {"source": "agent1", "target": "agent2"},
      {"աղբյուր": "agent2", "target": "agent3"}
    ]
  },
  «Ընտրանքներ»: {
    «դասավորություն»: {
      «տեսակ»: «շրջանաձև»
    },
    «հանգույցներ»: {
      «չափ»՝ 50
    },
    «եզրեր»: {
      «լայնություն»՝ 2
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս գործակալների, շրջակա միջավայրի և համակարգի նպատակների փոխհարաբերությունները:

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

Ինքնաբուժման ծրագրային համակարգերի կառուցումը բազմագործակալ AI ճարտարապետություններով և LangChain-ն առաջարկում է հզոր լուծում բարդ ծրագրային համակարգերի հուսալիությունը, մասշտաբայնությունը և ճկունությունն ապահովելու համար: Որոշումների կայացման գործընթացը բաշխելով բազմաթիվ գործակալների վրա՝ այս համակարգերը կարող են սովորել փորձից, հարմարվել փոփոխվող պայմաններին և արագ վերականգնել սխալներից: LangChain-ի միջոցով ծրագրավորողները կարող են կառուցել բարդ AI համակարգեր, որոնք ինտեգրվում են տվյալների աղբյուրների լայն շրջանակի, ներառյալ տվյալների բազաները, API-ները և IoT սարքերը: Հետևելով օրինակի ծածկագրին և օգտագործելով ամենաշատ օգտագործվող 5-10 հրամանները/հատվածները՝ ծրագրավորողները կարող են LangChain-ի հետ ստեղծել իրենց ինքնավերականգնվող ծրագրային համակարգերը:


Have Questions?

Let's Talk

Contact me on LinkedIn