Аркестрацыя агентаў штучнага інтэлекту з дапамогай LangChain і DSPy для палепшанай архітэктуры праграмнага забеспячэння | B4N1

Аркестрацыя агентаў штучнага інтэлекту з дапамогай LangChain і DSPy для палепшанай архітэктуры праграмнага забеспячэння

8 months ago · b4n1 Read time: 4 min

Аркестрацыя агентаў штучнага інтэлекту з дапамогай LangChain і DSPy для палепшанай архітэктуры праграмнага забеспячэння

Уводзіны

У сучасным імклівым лічбавым ландшафце праграмныя сістэмы становяцца ўсё больш складанымі з інтэграцыяй магчымасцей штучнага інтэлекту (AI) і машыннага навучання (ML). У выніку распрацоўка маштабуемых і ўстойлівых сістэм, якія могуць эфектыўна кіраваць агентамі штучнага інтэлекту, стала актуальнай праблемай для інжынераў-праграмістаў. У гэтым артыкуле разглядаецца ўзаемадзеянне штучнага інтэлекту, распрацоўкі праграмнага забеспячэння і інструментаў аркестроўкі для распрацоўкі эфектыўных архітэктур праграмнага забеспячэння з акцэнтам на ўкараненне агентаў штучнага інтэлекту з выкарыстаннем LangChain і DSPy.

Патрэба ў аркестроўцы AI

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

LangChain: структура для стварэння агентаў AI

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

DSPy: структура аркестроўкі

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

Укараненне агентаў AI з LangChain і DSPy

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

  1. Вызначце архітэктуру агента: вызначце архітэктуру агента штучнага інтэлекту, уключаючы ўваходы, выхады і ўзаемадзеянне з іншымі агентамі.
  2. Укараніць логіку агента: укараніць логіку агента штучнага інтэлекту з дапамогай LangChain, уключаючы механізмы разважанняў, навучання і адаптацыі.
  3. Аркеструйце ўзаемадзеянне агентаў: выкарыстоўвайце DSPy для арганізацыі ўзаемадзеяння паміж некалькімі агентамі штучнага інтэлекту, уключаючы пратаколы сувязі і механізмы абмену дадзенымі.
  4. Разгарніце сістэму: разгарніце сістэму з дапамогай воблачнай платформы або кантэйнернай структуры, напрыклад Docker.

Прыклад кода: укараненне простага агента штучнага інтэлекту з дапамогай LangChain

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

імпарт Langchain
з langchain.chains імпартаваць LLMChain


агент = langchain.Agent(
    input_schema={"тэкст": str},
    output_schema={"тэкст": str},
    ланцуг=LLMChain(
        model="davinci:instructix",
        максімальная_даўжыня=2048,
        тэмпература=0,7,
    ),
)

# Укараніць логіку агента
def agent_logic(уводны_тэкст):
    выхад_тэксту = agent.run(увод_тэксту)
    вярнуць выходны_тэкст

# Праверце агента
input_text = "У чым сэнс жыцця?"
выхадны_тэкст = логіка_агента(уваходны_тэкст)
друк (выхадны_тэкст)

Гэты прыклад кода дэманструе, як вызначыць агент AI з дапамогай LangChain, уключаючы схемы ўводу і вываду, а таксама логіку агента. Агент рэалізаваны з дапамогай ланцужка Large Language Model (LLM), які з'яўляецца тыпам агента штучнага інтэлекту, які можа разважаць і ствараць тэкст.

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

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

  1. langchain.Agent(): Стварае новы асобнік агента AI.
агент = langchain.Agent(
    input_schema={"тэкст": str},
    output_schema={"тэкст": str},
    ланцуг=LLMChain(
        model="davinci:instructix",
        максімальная_даўжыня=2048,
        тэмпература=0,7,
    ),
)
  1. agent.run(): Запускае агент AI з зададзеным уводам.
выхад_тэксту = agent.run(увод_тэксту)
  1. DSPy.create_cluster(): Стварае новы кластар вузлоў для размеркаванай сістэмы.
кластар = DSPy.create_cluster(
    колькасць_вузлоў=5,
    node_type="рабочы",
)
  1. DSPy.create_agent(): Стварае новы асобнік агента AI для размеркаванай сістэмы.
агент = DSPy.create_agent(
    cluster=кластэр,
    agent_type="LLM",
)
  1. DSPy.deploy_agent(): разгортвае агент штучнага інтэлекту ў размеркаванай сістэме.
DSPy.deploy_agent(
    agent=агент,
    cluster=кластэр,
)
  1. DSPy.get_agent_status(): Атрымоўвае статус агента AI.
статус = DSPy.get_agent_status(
    agent=агент,
    cluster=кластэр,
)
  1. DSPy.update_agent(): абнаўляе агент AI новымі дадзенымі або параметрамі.
DSPy.update_agent(
    agent=агент,
    cluster=кластэр,
    new_data={"text": "новы тэкст уводу"},
)
  1. DSPy.delete_agent(): Выдаляе агент AI з размеркаванай сістэмы.
DSPy.delete_agent(
    agent=агент,
    cluster=кластэр,
)
  1. DSPy.create_chain(): Стварае новы ланцужок агентаў AI для размеркаванай сістэмы.
ланцуг = DSPy.create_chain(
    agents=[агент1, агент2, агент3],
)
  1. DSPy.deploy_chain(): разгортвае ланцужок агентаў штучнага інтэлекту ў размеркаванай сістэме.
DSPy.deploy_chain(
    ланцуг=ланцуг,
    cluster=кластэр,
)

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

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

{
  "тып": "кругавая дыяграма",
  "дадзеныя": {
    "labels": ["LangChain", "DSPy"],
    "наборы дадзеных": [
      {
        "label": "агенты штучнага інтэлекту",
        "дадзеныя": [50, 50],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Архітэктура LangChain і DSPy"
    },
    "легенда": {
      "дысплей": праўда
    }
  }
}

Гэтая візуалізацыя дэманструе размеркаванне агентаў AI паміж LangChain і DSPy, прычым 50% агентаў працуюць на LangChain і 50% працуюць на DSPy.

Выснова

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


Have Questions?

Let's Talk

Contact me on LinkedIn