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