Pašatveseļošanās programmatūras sistēmu izveide, izmantojot vairāku aģentu AI arhitektūru un LangChain | B4N1

Pašatveseļošanās programmatūras sistēmu izveide, izmantojot vairāku aģentu AI arhitektūru un LangChain

5 months ago · b4n1 Read time: 4 min

Pašdziedējošās programmatūras sistēmu izveide, izmantojot vairāku aģentu AI arhitektūru un LangChain

Ievads

Mūsdienu straujajā programmatūras izstrādes vidē pašatjaunojošo programmatūras sistēmu izveide ir kļuvusi par būtisku prasību, lai nodrošinātu sarežģītu programmatūras sistēmu uzticamību, mērogojamību un noturību. Tradicionālā monolīta arhitektūra vairs nav pietiekama, lai apmierinātu mūsdienu programmatūras izstrādes prasības, kur sistēmām jāspēj pielāgoties mainīgajām prasībām, tikt galā ar negaidītām kļūmēm un ātri atgūties no kļūdām. Šeit tiek izmantota vairāku aģentu AI arhitektūras un LangChain, kas piedāvā jaudīgu risinājumu pašatjaunojošo programmatūras sistēmu izveidei, kas spēj mācīties, pielāgoties un reaģēt uz mainīgajiem apstākļiem.

Kas ir vairāku aģentu AI arhitektūras?

Vairāku aģentu AI arhitektūras ir sadalītas AI sistēmas veids, kas sastāv no vairākiem autonomiem aģentiem, kas mijiedarbojas viens ar otru un savu vidi, lai sasniegtu kopīgu mērķi. Katram aģentam ir savas lēmumu pieņemšanas iespējas, zināšanas un resursi, un viņi var sazināties viens ar otru, lai apmainītos ar informāciju, koordinētu darbības un pielāgotos mainīgajiem apstākļiem.

Programmatūras sistēmu kontekstā vairāku aģentu AI arhitektūras var izmantot, lai izveidotu pašatveseļojošas sistēmas, kas var atklāt kļūdas, kļūmes un citas anomālijas un reaģēt uz tām reāllaikā. Sadalot lēmumu pieņemšanas procesu starp vairākiem aģentiem, šīs sistēmas var mācīties no pieredzes, pielāgoties mainīgajiem apstākļiem un ātri atgūties no kļūdām.

Kas ir LangChain?

LangChain ir atvērtā koda Python bibliotēka vairāku aģentu AI sistēmu izveidei. Tas nodrošina vienkāršu, elastīgu un mērogojamu sistēmu, lai izveidotu sarežģītas AI sistēmas, kas var mācīties, pielāgoties un reaģēt uz mainīgajiem apstākļiem. LangChain ir paredzēts darbam ar plašu AI ietvaru klāstu, tostarp TensorFlow, PyTorch un Keras, un to var izmantot, lai izveidotu sistēmas, kas integrējas ar dažādiem datu avotiem, tostarp datu bāzēm, API un IoT ierīcēm.

Pašatveseļošanās programmatūras sistēmu izveide, izmantojot LangChain

Lai izveidotu pašatjaunojošu programmatūras sistēmu ar LangChain, mums ir jāizstrādā vairāku aģentu AI arhitektūra, kas var atklāt kļūdas, kļūmes un citas anomālijas un reaģēt uz tām reāllaikā. Šeit ir augsta līmeņa arhitektūras pārskats:

1. Aģentu dizains: mums ir jāizstrādā autonomu aģentu kopums, kas var mijiedarboties savā starpā un ar savu vidi, lai sasniegtu kopīgu mērķi. Katram aģentam ir jābūt savām lēmumu pieņemšanas iespējām, zināšanām un resursiem. 2. Zināšanu grafiks: mums ir jāizveido zināšanu grafiks, kas atspoguļo attiecības starp aģentiem, vidi un sistēmas mērķiem. Šo grafiku var izmantot, lai spriestu par sistēmas stāvokli un pieņemtu lēmumus. 3. Lēmumu pieņemšana: mums ir jāievieš lēmumu pieņemšanas process, kas ļauj aģentiem spriest par sistēmas stāvokli un pieņemt lēmumus, pamatojoties uz zināšanu grafiku. 4. Darbības izpilde: mums ir jāievieš darbības izpildes process, kas ļauj aģentiem izpildīt savus lēmumus un mijiedarboties ar vidi.

Šeit ir vienkāršs pašatjaunošanās programmatūras sistēmas piemērs, kas izveidota, izmantojot LangChain:

importēt langchain
no langchain.agents importa aģents
no langchain.llms importa LLM


grafiks = {
    'aģenti': ['agent1', 'agent2', 'agent3'],
    "vide": ["datu bāze", "API", "IoT ierīce"],
    'mērķi': ['atklāt kļūdas', 'reaģēt uz kļūmēm', 'atkopties no kļūdām']
}

# Definējiet lēmumu pieņemšanas procesu
def Decision_making (aģents, zināšanu_grafiks):
    # Iemesls par sistēmas stāvokli
    stāvoklis = zināšanu_grafiks['aģenti'][aģents]
    # Pieņemiet lēmumu, pamatojoties uz stāvokli
    lēmums = 'atbildēt uz neveiksmi'
    atgriešanas lēmums

# Definējiet darbības izpildes procesu
def action_execution(aģents, lēmums):
    # Izpildi lēmumu
    ja lēmums == 'reaģēt uz neveiksmi':
        # Atbildiet uz neveiksmēm
        print ('Reaģēt uz neveiksmi...')
    atgriezties

# Izveidojiet LangChain aģentu
aģents = aģents(
    name='self-healing-agent',
    Decision_making=decision_making,
    action_execution=action_execution,
    zināšanas_grafiks=grafiks
)

# Izveidojiet LangChain LLM
llm = LLM(
    name='self-healing-llm',
    model='davinci'
)

# Izveidojiet LangChain sistēmu
system = langchain.System(
    aģents=aģents,
    llm=llm
)

# Palaidiet sistēmu
system.run()

Šajā piemērā ir parādīta vienkārša pašatjaunošanās programmatūras sistēma, kas var atklāt kļūdas, reaģēt uz kļūmēm un ātri atgūties no kļūdām. Sistēma sastāv no autonomu aģentu kopuma, kas mijiedarbojas viens ar otru un savu vidi, lai sasniegtu kopīgu mērķi. Aģenti izmanto zināšanu grafiku, lai spriestu par sistēmas stāvokli un pieņemtu lēmumus, pamatojoties uz grafiku.

5–10 populārākās komandas/fragmenti

Šeit ir 5–10 populārākās LangChain komandas/fragmenti:

  1. langchain.Agent(): izveido jaunu LangChain aģentu.
  2. langchain.LLM(): izveido jaunu LangChain LLM.
  3. langchain.System(): izveido jaunu LangChain sistēmu.
  4. "agent.decision_making()": palaiž aģenta lēmumu pieņemšanas procesu.
  5. "agent.action_execution()": palaiž aģenta darbības izpildes procesu.
  6. llm.predict(): veic prognozi, izmantojot LLM.
  7. system.run(): palaiž LangChain sistēmu.
  8. graph.add_node(): pievieno jaunu mezglu zināšanu grafikam.
  9. graph.add_edge(): pievieno jaunu malu zināšanu grafikam.
  10. graph.remove_node(): noņem mezglu no zināšanu grafika.

Vizualizācija

Tālāk ir sniegta vienkārša zināšanu diagrammas vizualizācija, izmantojot Chart.js:

{
  "tips": "grafiks",
  "dati": {
    "mezgli": [
      {"id": "agent1", "label": "Agent 1"},
      {"id": "agent2", "label": "Agent 2"},
      {"id": "agent3", "label": "Agent 3"},
      {"id": "database", "label": "Database"},
      {"id": "API", "label": "API"},
      {"id": "IoT ierīce", "label": "IoT ierīce"}
    ],
    "malas": [
      {"source": "agent1", "target": "database"},
      {"avots": "agent2", "target": "API"},
      {"source": "agent3", "target": "IoT device"},
      {"avots": "agent1", "target": "agent2"},
      {"avots": "agent2", "target": "agent3"}
    ]
  },
  "opcijas": {
    "izkārtojums": {
      "tips": "apļveida"
    },
    "mezgli": {
      "Izmērs": 50
    },
    "malas": {
      "platums": 2
    }
  }
}

Šī vizualizācija parāda attiecības starp aģentiem, vidi un sistēmas mērķiem.

Secinājums

Pašatveseļošanās programmatūras sistēmu izveide ar vairāku aģentu AI arhitektūru un LangChain piedāvā jaudīgu risinājumu, lai nodrošinātu sarežģītu programmatūras sistēmu uzticamību, mērogojamību un noturību. Sadalot lēmumu pieņemšanas procesu starp vairākiem aģentiem, šīs sistēmas var mācīties no pieredzes, pielāgoties mainīgajiem apstākļiem un ātri atgūties no kļūdām. Izmantojot LangChain, izstrādātāji var izveidot sarežģītas AI sistēmas, kas integrējas ar plašu datu avotu klāstu, tostarp datu bāzēm, API un IoT ierīcēm. Sekojot piemēra kodam un izmantojot 5–10 populārākās komandas/fragmentus, izstrādātāji var izveidot paši savas pašatveseļošanās programmatūras sistēmas, izmantojot LangChain.


Have Questions?

Let's Talk

Contact me on LinkedIn