Gradnja sistemov programske opreme za samozdravljenje z arhitekturami umetne inteligence z več agenti in LangChain | B4N1

Gradnja sistemov programske opreme za samozdravljenje z arhitekturami umetne inteligence z več agenti in LangChain

3 months ago · b4n1 Read time: 4 min

Gradnja sistemov programske opreme za samozdravljenje z arhitekturami umetne inteligence z več agenti in LangChain

Uvod

V današnjem hitrem tempu razvoja programske opreme je izgradnja samopopravljivih sistemov programske opreme postala kritična zahteva za zagotavljanje zanesljivosti, razširljivosti in odpornosti kompleksnih sistemov programske opreme. Tradicionalne monolitne arhitekture ne zadoščajo več za izpolnjevanje zahtev sodobnega razvoja programske opreme, kjer morajo biti sistemi sposobni prilagoditi se spreminjajočim se zahtevam, obravnavati nepričakovane okvare in hitro obnoviti napake. Tu pridejo v poštev večagentne arhitekture umetne inteligence in LangChain, ki ponujajo zmogljivo rešitev za izgradnjo samopopravljivih programskih sistemov, ki se lahko učijo, prilagajajo in odzivajo na spreminjajoče se pogoje.

Kaj so arhitekture umetne inteligence z več agenti?

Arhitekture umetne inteligence z več agenti so vrsta porazdeljenega sistema umetne inteligence, ki je sestavljen iz več avtonomnih agentov, ki sodelujejo drug z drugim in svojim okoljem, da dosežejo skupni cilj. Vsak agent ima svoje zmožnosti odločanja, znanje in vire ter lahko med seboj komunicirajo, da izmenjujejo informacije, usklajujejo dejanja in se prilagajajo spreminjajočim se razmeram.

V kontekstu sistemov programske opreme se lahko arhitekture umetne inteligence z več agenti uporabijo za izgradnjo samopopravljivih sistemov, ki lahko zaznajo in se odzovejo na napake, okvare in druge anomalije v realnem času. Z razdelitvijo procesa odločanja na več agentov se lahko ti sistemi učijo iz izkušenj, prilagajajo spreminjajočim se razmeram in hitro okrevajo po napakah.

Kaj je LangChain?

LangChain je odprtokodna knjižnica Python za gradnjo sistemov umetne inteligence z več agenti. Zagotavlja preprosto, prilagodljivo in razširljivo ogrodje za gradnjo kompleksnih sistemov AI, ki se lahko učijo, prilagajajo in odzivajo na spreminjajoče se razmere. LangChain je zasnovan za delo s širokim naborom ogrodij AI, vključno s TensorFlow, PyTorch in Keras, in se lahko uporablja za gradnjo sistemov, ki se integrirajo z različnimi viri podatkov, vključno z bazami podatkov, API-ji in napravami IoT.

Gradnja sistemov programske opreme za samozdravljenje z LangChain

Za izgradnjo samopopravljivega programskega sistema z LangChain moramo oblikovati arhitekturo umetne inteligence z več agenti, ki lahko odkrije in se odzove na napake, okvare in druge anomalije v realnem času. Tukaj je pregled arhitekture na visoki ravni:

  1. Načrt agenta: Oblikovati moramo niz avtonomnih agentov, ki lahko komunicirajo drug z drugim in s svojim okoljem, da dosežejo skupni cilj. Vsak agent mora imeti lastne sposobnosti odločanja, znanje in vire.
  2. Knowledge Graph: Ustvariti moramo graf znanja, ki predstavlja odnose med agenti, okoljem in cilji sistema. Ta graf lahko uporabite za razmišljanje o stanju sistema in sprejemanje odločitev.
  3. Odločanje: Implementirati moramo proces odločanja, ki agentom omogoča sklepanje o stanju sistema in sprejemanje odločitev na podlagi grafa znanja.
  4. Izvajanje dejanj: Implementirati moramo postopek izvajanja dejanj, ki omogoča agentom, da izvajajo svoje odločitve in sodelujejo z okoljem.

Tukaj je preprost primer samozdravilnega programskega sistema, zgrajenega z LangChain:

uvozi langchain
iz langchain.agents import Agent
iz langchain.llms uvoz LLM


graf = {
    'agenti': ['agent1', 'agent2', 'agent3'],
    'okolje': ['baza podatkov', 'API', 'naprava IoT'],
    'goals': ['odkrivanje napak', 'odzivanje na napake', 'okrevanje po napakah']
}

# Definirajte postopek odločanja
def odločanje (agent, graf_znanja):
    # Razlog o stanju sistema
    stanje = graf_znanja['agenti'][agent]
    # Odločite se glede na stanje
    odločitev = 'odziv na neuspeh'
    odločba o vrnitvi

# Določite postopek izvajanja akcije
def action_execution(agent, odločitev):
    # Izvrši odločitev
    če je odločitev == 'odgovori na neuspeh':
        # Odziv na neuspeh
        print('Odziv na napako ...')
    vrnitev

# Ustvarite agenta LangChain
agent = Agent(
    ime='sredstvo-za-samozdravljenje',
    decision_making=odločanje,
    action_execution=action_execution,
    graf_znanja=graf
)

# Ustvarite LangChain LLM
llm = LLM(
    ime='samozdravljenje-llm',
    model='davinci'
)

# Ustvarite sistem LangChain
sistem = langchain.System(
    agent=agent,
    llm=llm
)

# Zaženite sistem
system.run()

Ta primer prikazuje preprost sistem programske opreme za samozdravljenje, ki lahko zazna napake, se odzove na okvare in hitro obnovi napake. Sistem je sestavljen iz niza avtonomnih agentov, ki sodelujejo drug z drugim in svojim okoljem, da dosežejo skupni cilj. Agenti uporabljajo graf znanja, da sklepajo o stanju sistema in sprejemajo odločitve na podlagi grafa.

5–10 najbolj uporabljenih ukazov/izrezkov

Tukaj je 5-10 najbolj uporabljenih ukazov/delčkov za LangChain:

  1. langchain.Agent(): Ustvari novega agenta LangChain.
  2. langchain.LLM(): Ustvari nov LangChain LLM.
  3. langchain.System(): Ustvari nov sistem LangChain.
  4. agent.decision_making(): Zažene postopek odločanja za agenta.
  5. agent.action_execution(): zažene postopek izvajanja dejanja za agenta.
  6. llm.predict(): Naredi napoved z uporabo LLM.
  7. system.run(): Zažene sistem LangChain.
  8. graph.add_node(): doda novo vozlišče v graf znanja.
  9. graph.add_edge(): doda nov rob grafu znanja.
  10. graph.remove_node(): Odstrani vozlišče iz grafa znanja.

Vizualizacija

Tukaj je preprosta vizualizacija grafa znanja z uporabo Chart.js:

{
  "vrsta": "graf",
  "podatki": {
    "vozlišča": [
      {"id": "agent1", "label": "agent 1"},
      {"id": "agent2", "label": "agent 2"},
      {"id": "agent3", "label": "agent 3"},
      {"id": "baza podatkov", "label": "baza podatkov"},
      {"id": "API", "label": "API"},
      {"id": "naprava IoT", "label": "naprava IoT"}
    ],
    "robovi": [
      {"source": "agent1", "target": "database"},
      {"source": "agent2", "target": "API"},
      {"source": "agent3", "target": "IoT naprava"},
      {"source": "agent1", "target": "agent2"},
      {"source": "agent2", "target": "agent3"}
    ]
  },
  "možnosti": {
    "postavitev": {
      "type": "krožno"
    },
    "vozlišča": {
      "velikost": 50
    },
    "robovi": {
      "širina": 2
    }
  }
}

Ta vizualizacija prikazuje odnose med agenti, okoljem in cilji sistema.

Sklep

Gradnja samopopravljivih sistemov programske opreme z arhitekturami umetne inteligence z več agenti in LangChain ponuja zmogljivo rešitev za zagotavljanje zanesljivosti, razširljivosti in odpornosti kompleksnih sistemov programske opreme. Z razdelitvijo procesa odločanja na več agentov se lahko ti sistemi učijo iz izkušenj, prilagajajo spreminjajočim se razmeram in hitro okrevajo po napakah. Z LangChain lahko razvijalci zgradijo kompleksne sisteme umetne inteligence, ki se integrirajo s širokim naborom podatkovnih virov, vključno z bazami podatkov, API-ji in napravami IoT. Če sledite vzorčni kodi in uporabite 5–10 najpogosteje uporabljenih ukazov/delčkov, lahko razvijalci z LangChain zgradijo lastne sisteme programske opreme za samozdravljenje.


Have Questions?

Let's Talk

Contact me on LinkedIn