Стварэнне самааднаўляльных праграмных сістэм з мультыагентнымі архітэктурамі штучнага інтэлекту і LangChain | B4N1

Стварэнне самааднаўляльных праграмных сістэм з мультыагентнымі архітэктурамі штучнага інтэлекту і LangChain

3 months ago · b4n1 Read time: 4 min

Стварэнне самааднаўляльных праграмных сістэм з мультыагентнымі архітэктурамі штучнага інтэлекту і LangChain

Уводзіны

У сучасным дынамічным ландшафце распрацоўкі праграмнага забеспячэння стварэнне самааднаўляльных праграмных сістэм стала найважнейшым патрабаваннем для забеспячэння надзейнасці, маштабаванасці і ўстойлівасці складаных праграмных сістэм. Традыцыйнай маналітнай архітэктуры ўжо недастаткова для задавальнення патрабаванняў сучаснай распрацоўкі праграмнага забеспячэння, дзе сістэмы павінны мець магчымасць адаптавацца да зменлівых патрабаванняў, апрацоўваць нечаканыя збоі і хутка аднаўляцца пасля памылак. Тут у гульню ўступаюць шматагентныя архітэктуры штучнага інтэлекту і LangChain, якія прапануюць магутнае рашэнне для стварэння самааднаўляльных праграмных сістэм, якія могуць вучыцца, адаптавацца і рэагаваць на зменлівыя ўмовы.

Што такое шматагентная архітэктура штучнага інтэлекту?

Шматагентныя архітэктуры штучнага інтэлекту - гэта тып размеркаванай сістэмы штучнага інтэлекту, якая складаецца з некалькіх аўтаномных агентаў, якія ўзаемадзейнічаюць адзін з адным і сваім асяроддзем для дасягнення агульнай мэты. Кожны агент мае ўласныя магчымасці прыняцця рашэнняў, веды і рэсурсы, і яны могуць мець зносіны адзін з адным для абмену інфармацыяй, каардынацыі дзеянняў і адаптацыі да зменлівых умоў.

У кантэксце праграмных сістэм шматагентныя архітэктуры штучнага інтэлекту можна выкарыстоўваць для стварэння сістэм самааднаўлення, якія могуць выяўляць памылкі, збоі і іншыя анамаліі і рэагаваць на іх у рэжыме рэальнага часу. Размяркоўваючы працэс прыняцця рашэнняў паміж некалькімі агентамі, гэтыя сістэмы могуць вучыцца на вопыце, адаптавацца да зменлівых умоў і хутка аднаўляцца пасля памылак.

Што такое LangChain?

LangChain - гэта бібліятэка Python з адкрытым зыходным кодам для стварэння шматагентных сістэм штучнага інтэлекту. Ён забяспечвае простую, гнуткую і маштабаваную структуру для стварэння складаных сістэм штучнага інтэлекту, якія могуць вучыцца, адаптавацца і рэагаваць на зменлівыя ўмовы. LangChain распрацаваны для працы з шырокім спектрам AI-фреймворкаў, уключаючы TensorFlow, PyTorch і Keras, і можа выкарыстоўвацца для стварэння сістэм, якія інтэгруюцца з рознымі крыніцамі даных, уключаючы базы дадзеных, API і прылады IoT.

Стварэнне самааднаўляльных праграмных сістэм з дапамогай LangChain

Каб пабудаваць сістэму самааднаўлення праграмнага забеспячэння з LangChain, нам трэба распрацаваць мультыагентную архітэктуру штучнага інтэлекту, якая можа выяўляць і рэагаваць на памылкі, збоі і іншыя анамаліі ў рэжыме рэальнага часу. Вось агульны агляд архітэктуры:

  1. Дызайн агента: нам трэба распрацаваць набор аўтаномных агентаў, якія могуць узаемадзейнічаць адзін з адным і сваім асяроддзем для дасягнення агульнай мэты. Кожны агент павінен мець уласныя магчымасці прыняцця рашэнняў, веды і рэсурсы.
  2. Граф ведаў: нам трэба стварыць граф ведаў, які адлюстроўвае адносіны паміж агентамі, асяроддзем і мэтамі сістэмы. Гэты графік можна выкарыстоўваць, каб разважаць пра стан сістэмы і прымаць рашэнні.
  3. Прыняцце рашэнняў: нам трэба рэалізаваць працэс прыняцця рашэнняў, які дазваляе агентам разважаць пра стан сістэмы і прымаць рашэнні на аснове графа ведаў.
  4. Выкананне дзеянняў: нам трэба рэалізаваць працэс выканання дзеянняў, які дазваляе агентам выконваць свае рашэнні і ўзаемадзейнічаць з навакольным асяроддзем.

Вось просты прыклад праграмнай сістэмы самааднаўлення, створанай з дапамогай LangChain:

імпарт Langchain
з langchain.agents імпартаваць агента
з langchain.llms імпартаваць LLM


графік = {
    'агенты': ['агент1', 'агент2', 'агент3'],
    'асяроддзе': ['база даных', 'API', 'прылада IoT'],
    'мэты': ['выяўленне памылак', 'рэагаванне на няўдачы', 'аднаўленне пасля памылак']
}

# Вызначце працэс прыняцця рашэнняў
дэф прыняцце рашэнняў (агент, графік_ведаў):
    # Прычына аб стане сістэмы
    стан = граф_ведаў['агенты'][агент]
    # Прымайце рашэнне на падставе стану
    рашэнне = 'рэагаваць на няўдачу'
    рашэнне аб вяртанні

# Вызначце працэс выканання дзеяння
def action_execution(агент, рашэнне):
    # Выканаць рашэнне
    калі рашэнне == 'рэагаваць на няўдачу':
        # Адказаць на няўдачу
        print('У адказ на няўдачу...')
    вяртанне

# Стварыце агента LangChain
агент = агент(
    імя = 'сродак для самааднаўлення',
    decision_making=прыняцце_рашэння,
    action_execution=выкананне_дзеяння,
    ведаў_граф=графік
)

# Стварыце LLM LangChain
llm = LLM(
    імя = 'самалячэнне-llm',
    мадэль = 'davinci'
)

# Стварыце сістэму LangChain
сістэма = langchain.System(
    agent=агент,
    llm=llm
)

# Запусціце сістэму
system.run()

Гэты прыклад дэманструе простую сістэму самааднаўлення праграмнага забеспячэння, якая можа выяўляць памылкі, рэагаваць на збоі і хутка аднаўляцца пасля памылак. Сістэма складаецца з набору аўтаномных агентаў, якія ўзаемадзейнічаюць адзін з адным і сваім асяроддзем для дасягнення агульнай мэты. Агенты выкарыстоўваюць граф ведаў, каб разважаць пра стан сістэмы і прымаць рашэнні на аснове графа.

Топ-5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для LangChain:

  1. langchain.Agent(): стварае новага агента LangChain.
  2. langchain.LLM(): стварае новы LLM LangChain.
  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": "база даных", "ярлык": "база даных"},
      {"id": "API", "label": "API"},
      {"id": "прылада IoT", "label": "прылада IoT"}
    ],
    "краі": [
      {"крыніца": "агент1", "мэта": "база даных"},
      {"крыніца": "агент2", "мэта": "API"},
      {"source": "agent3", "target": "прылада IoT"},
      {"крыніца": "агент1", "мэта": "агент2"},
      {"крыніца": "агент2", "мэта": "агент3"}
    ]
  },
  "параметры": {
    "макет": {
      "тып": "цыркуляр"
    },
    "вузлы": {
      "памер": 50
    },
    "краю": {
      "шырыня": 2
    }
  }
}

Гэтая візуалізацыя паказвае адносіны паміж агентамі, асяроддзем і мэтамі сістэмы.

Выснова

Стварэнне самааднаўляльных праграмных сістэм з шматагентнай архітэктурай штучнага інтэлекту і LangChain прапануе магутнае рашэнне для забеспячэння надзейнасці, маштабаванасці і ўстойлівасці складаных праграмных сістэм. Размяркоўваючы працэс прыняцця рашэнняў паміж некалькімі агентамі, гэтыя сістэмы могуць вучыцца на вопыце, адаптавацца да зменлівых умоў і хутка аднаўляцца пасля памылак. З дапамогай LangChain распрацоўшчыкі могуць ствараць складаныя сістэмы штучнага інтэлекту, якія інтэгруюцца з шырокім спектрам крыніц даных, уключаючы базы дадзеных, API і прылады IoT. Прытрымліваючыся прыкладу кода і выкарыстоўваючы 5-10 найбольш часта выкарыстоўваных каманд/фрагментаў, распрацоўшчыкі могуць ствараць уласныя сістэмы самааднаўлення праграмнага забеспячэння з дапамогай LangChain.


Have Questions?

Let's Talk

Contact me on LinkedIn