Eneseparanevate tarkvarasüsteemide loomine mitme agendi AI-arhitektuuri ja LangChaini abil | B4N1

Eneseparanevate tarkvarasüsteemide loomine mitme agendi AI-arhitektuuri ja LangChaini abil

3 months ago · b4n1 Read time: 3 min

Iseparanevate tarkvarasüsteemide loomine mitme agendi AI-arhitektuuri ja LangChainiga

Sissejuhatus

Tänapäeva kiire tempoga tarkvaraarenduse maastikul on iseparanevate tarkvarasüsteemide ehitamine muutunud keerukate tarkvarasüsteemide töökindluse, mastaapsuse ja vastupidavuse tagamise kriitiliseks nõudeks. Traditsioonilised monoliitsed arhitektuurid ei ole enam piisavad, et vastata kaasaegse tarkvaraarenduse nõudmistele, kus süsteemid peavad suutma kohaneda muutuvate nõuetega, toime tulema ootamatute riketega ja kiiresti taastuma vigadest. Siin tulevad mängu mitme agendi AI arhitektuurid ja LangChain, mis pakuvad võimsat lahendust iseparanevate tarkvarasüsteemide loomiseks, mis suudavad õppida, kohaneda ja reageerida muutuvatele tingimustele.

Mis on mitme agendi AI-arhitektuurid?

Mitme agentuuriga AI-arhitektuurid on hajutatud AI-süsteemi tüüp, mis koosneb mitmest autonoomsest agendist, mis suhtlevad üksteise ja oma keskkonnaga ühise eesmärgi saavutamiseks. Igal agendil on oma otsustusvõime, teadmised ja ressursid ning nad saavad üksteisega suhelda, et jagada teavet, koordineerida tegevusi ja kohaneda muutuvate tingimustega.

Tarkvarasüsteemide kontekstis saab mitme agendiga tehisintellekti arhitektuure kasutada iseparanevate süsteemide loomiseks, mis suudavad tuvastada vigu, tõrkeid ja muid kõrvalekaldeid reaalajas ja neile reageerida. Jaotades otsustusprotsessi mitme agendi vahel, saavad need süsteemid kogemustest õppida, muutuvate tingimustega kohaneda ja vigadest kiiresti taastuda.

Mis on LangChain?

LangChain on avatud lähtekoodiga Pythoni raamatukogu mitme agendiga tehisintellektisüsteemide loomiseks. See pakub lihtsat, paindlikku ja skaleeritavat raamistikku keerukate AI-süsteemide loomiseks, mis suudavad õppida, kohaneda ja reageerida muutuvatele tingimustele. LangChain on loodud töötama paljude AI-raamistikega, sealhulgas TensorFlow, PyTorch ja Keras, ning seda saab kasutada süsteemide loomiseks, mis integreeruvad mitmesuguste andmeallikatega, sealhulgas andmebaaside, API-de ja asjade Interneti-seadmetega.

Iseparanevate tarkvarasüsteemide loomine LangChainiga

LangChainiga iseparaneva tarkvarasüsteemi loomiseks peame kavandama mitmest agentuurist koosneva AI-arhitektuuri, mis suudab reaalajas tuvastada vigu, tõrkeid ja muid kõrvalekaldeid ning neile reageerida. Siin on kõrgetasemeline ülevaade arhitektuurist:

  1. Agent Design: peame kavandama autonoomsete agentide komplekti, mis suudavad üksteise ja oma keskkonnaga suhelda, et saavutada ühine eesmärk. Igal agendil peaks olema oma otsustusvõime, teadmised ja ressursid.
  2. Teadmiste graafik: peame looma teadmiste graafiku, mis esindab agentide, keskkonna ja süsteemi eesmärkide vahelisi seoseid. Seda graafikut saab kasutada süsteemi oleku arutlemiseks ja otsuste tegemiseks.
  3. Otsuste tegemine: Peame rakendama otsustusprotsessi, mis võimaldab agentidel süsteemi oleku üle arutleda ja teadmiste graafiku põhjal otsuseid teha.
  4. Action Execution: peame rakendama toimingu teostamise protsessi, mis võimaldab agentidel oma otsuseid täita ja keskkonnaga suhelda.

Siin on lihtne näide LangChainiga loodud isetervenevast tarkvarasüsteemist:

importida langchain
saidilt langchain.agents impordiagent
langchain.llms impordist LLM


graafik = {
    'agendid': ['agent1', 'agent2', 'agent3'],
    'keskkond': ['andmebaas', 'API', 'IoT-seade'],
    'eesmärgid': ['avastada vigu', "reageerida tõrgetele", "taasta vigadest"]
}

# Määratlege otsustusprotsess
def Decision_making (agent, teadmiste_graafik):
    # Põhjus süsteemi oleku kohta
    olek = teadmiste_graafik['agendid'][agent]
    # Tee otsus riigipõhiselt
    otsus = 'reageerida ebaõnnestumisele'
    tagasisaatmisotsus

# Määratlege toimingu teostamise protsess
def action_execution(agent, otsus):
    # Täida otsus
    kui otsus == 'reageerida ebaõnnestumisele':
        # Reageeri ebaõnnestumisele
        print('Reageerimine ebaõnnestumisele...')
    tagasi

# Looge LangChaini agent
agent = Agent(
    name='self-healing-agent',
    Decision_making=otsuste_tegemine,
    action_execution=action_execution,
    teadmised_graaf=graafik
)

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

# Looge LangChaini süsteem
system = langchain.System(
    agent=agent,
    llm=llm
)

# Käivitage süsteem
system.run()

See näide demonstreerib lihtsat iseparanevat tarkvarasüsteemi, mis suudab vigu tuvastada, tõrgetele reageerida ja vigadest kiiresti taastuda. Süsteem koosneb autonoomsete agentide komplektist, mis suhtlevad üksteise ja oma keskkonnaga ühise eesmärgi saavutamiseks. Agendid kasutavad teadmiste graafikut, et arutleda süsteemi oleku üle ja teha graafiku põhjal otsuseid.

5–10 enimkasutatavat käsku/lõigu

Siin on LangChaini 5–10 enim kasutatud käsku/juppi:

  1. langchain.Agent(): loob uue LangChaini agendi.
  2. langchain.LLM(): loob uue LangChain LLM-i.
  3. langchain.System(): loob uue LangChaini süsteemi.
  4. "agent.decision_making()": käivitab agendi otsustusprotsessi.
  5. "agent.action_execution()": käivitab agendi toimingu täitmisprotsessi.
  6. llm.predict(): teeb ennustuse LLM-i abil.
  7. system.run(): Käitab LangChaini süsteemi.
  8. graph.add_node(): lisab teadmiste graafikule uue sõlme.
  9. graph.add_edge(): lisab teadmiste graafikule uue serva.
  10. graph.remove_node(): eemaldab teadmiste graafikult sõlme.

Visualiseerimine

Siin on teadmiste graafiku lihtne visualiseerimine rakenduse Chart.js abil.

{
  "tüüp": "graafik",
  "andmed": {
    "sõlmed": [
      {"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-seade", "silt": "IoT-seade"}
    ],
    "ääred": [
      {"source": "agent1", "target": "database"},
      {"source": "agent2", "target": "API"},
      {"source": "agent3", "target": "IoT-seade"},
      {"source": "agent1", "target": "agent2"},
      {"source": "agent2", "target": "agent3"}
    ]
  },
  "valikud": {
    "paigutus": {
      "tüüp": "ringikujuline"
    },
    "sõlmed": {
      "suurus": 50
    },
    "servad": {
      "laius": 2
    }
  }
}

See visualiseerimine näitab seoseid agentide, keskkonna ja süsteemi eesmärkide vahel.

Järeldus

Eneseparanevate tarkvarasüsteemide ehitamine koos mitme agendi AI arhitektuuriga ja LangChain pakub võimsat lahendust keerukate tarkvarasüsteemide töökindluse, mastaapsuse ja vastupidavuse tagamiseks. Jaotades otsustusprotsessi mitme agendi vahel, saavad need süsteemid kogemustest õppida, muutuvate tingimustega kohaneda ja vigadest kiiresti taastuda. LangChaini abil saavad arendajad luua keerulisi AI-süsteeme, mis integreeruvad paljude andmeallikatega, sealhulgas andmebaaside, API-de ja asjade Interneti-seadmetega. Järgides näidiskoodi ja kasutades 5-10 enimkasutatud käsku/juppi, saavad arendajad ise LangChainiga isetervendavaid tarkvarasüsteeme luua.


Have Questions?

Let's Talk

Contact me on LinkedIn