Стварыце агента LangChain | B4N1

Стварыце агента LangChain

3 months ago · b4n1 Read time: 5 min

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

Уводзіны

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

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

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

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

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

Што такое інструменты аркестроўкі?

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

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

LangChain і DSPy: інструменты аркестрацыі для шматагентных архітэктур штучнага інтэлекту

LangChain і DSPy - два папулярныя інструменты аркестроўкі, прызначаныя для працы з мультыагентнымі архітэктурамі штучнага інтэлекту. LangChain - гэта бібліятэка Python, якая забяспечвае просты і інтуітыўна зразумелы API для стварэння шматагентных сістэм штучнага інтэлекту, а DSPy - гэта бібліятэка Python, якая забяспечвае API высокага ўзроўню для вызначэння і выканання працоўных працэсаў.

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

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

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

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

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

імпарт Langchain
ад langchain import Agent, Chain


агент = агент(
    імя = "сродак для самааднаўлення",
    ланцужок=ланцуг(
        name="ланцужок самааднаўлення",
        крокі=[
            {"name": "monitor", "func": monitor_performance},
            {"name": "recover", "func": recover_system},
        ],
    ),
)

# Вызначце функцыю для кантролю прадукцыйнасці прыкладання
def monitor_performance():
    # Імітацыя выяўлення збою
    калі random.random() < 0,5:
        вярнуць {"памылка": Праўда}
    яшчэ:
        вярнуць {"памылка": False}

# Вызначэнне функцыі для аднаўлення сістэмы
def recover_system (збой):
    # Запусціць дзеянне аднаўлення
    калі няўдача["няўдача"]:
        print("Запускаецца дзеянне аднаўлення...")
        # Разгарніце сістэму рэзервовага капіравання або запусціце дзеянне аднаўлення
        # ...

# Стварыце працоўны працэс DSPy
працоўны працэс = DSPy.Workflow(
    імя = "працоўны працэс самааднаўлення",
    крокі=[
        {"name": "monitor", "func": monitor_performance},
        {"name": "recover", "func": recover_system},
    ],
)

# Выкананне працоўнага працэсу
workflow.execute()

Гэты блок кода дэманструе, як стварыць агент LangChain, які кантралюе прадукцыйнасць прыкладання і запускае дзеянне аднаўлення пры выяўленні збою. Рабочы працэс DSPy выкарыстоўваецца для вызначэння дзеяння аднаўлення і яго выканання ў адказ на збой.

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

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

  1. langchain.Agent(): стварае новага агента LangChain.
  2. langchain.Chain(): стварае новы ланцужок LangChain.
  3. dspypy.Workflow(): стварае новы працоўны працэс DSPy.
  4. agent.execute(): Запускае агент LangChain.
  5. workflow.execute(): Запускае працоўны працэс DSPy.
  6. agent.chain.steps.append({"name": "step", "func": func}): дадае новы крок у ланцуг LangChain.
  7. workflow.steps.append({"name": "step", "func": func}): дадае новы крок у працоўны працэс DSPy.
  8. agent.chain.steps.remove({"name": "step"}): Выдаляе крок з ланцужка LangChain.
  9. workflow.steps.remove({"name": "step"}): выдаляе крок з працоўнага працэсу DSPy.
  10. agent.chain.steps.insert(0, {"name": "step", "func": func}): Устаўляе новы крок у пачатак ланцужка LangChain.

Візуалізацыя

Вось візуалізацыя працоўнага працэсу LangChain і DSPy з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Манітор", "Аднавіць"],
    "наборы дадзеных": [
      {
        "label": "LangChain",
        "дадзеныя": [10, 20],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      },
      {
        "label": "DSPy",
        "дадзеныя": [20, 30],
        "backgroundColor": "rgba(54, 162, 235, 0,2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "borderWidth": 1
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Рабочы працэс LangChain і DSPy"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

Гэтая візуалізацыя паказвае працоўны працэс LangChain і DSPy з крокам «Манітор» злева і крокам «Аднаўленне» справа. Працоўны працэс LangChain прадстаўлены чырвонай паласой, а працоўны працэс DSPy - сіняй.

Выснова

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

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

Незалежна ад таго, з'яўляецеся вы інжынерам-праграмістам, інжынерам DevOps або даследчыкам штучнага інтэлекту, стварэнне самааднаўляльных праграмных сістэм з дапамогай LangChain і DSPy - гэта магутны падыход да стварэння надзейных і адаптыўных сістэм, якія могуць перажыць вытворчасць.


Have Questions?

Let's Talk

Contact me on LinkedIn