** Градење софтверски системи за самолекување со мулти-агентна AI архитектури и алатки за оркестрација**
Вовед
Во денешниот брз и постојано променлив софтверски пејзаж, градењето робусни и приспособливи системи кои можат да го преживеат производството е главен приоритет за софтверските инженери и тимовите на 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, синџир
агент = Агент(
име "средство за самолекување",
синџир=Синџир(
име = "синџир на само-лекување",
чекори=[
{"име": "монитор", "функ": monitor_performance},
{"name": "recover", "func": recover_system},
],
),
)
# Дефинирајте функција за следење на перформансите на апликацијата
def monitor_performance():
# Симулирајте откривање неуспех
ако случаен.рандом() < 0,5:
врати {„неуспех“: точно}
друго:
врати {„неуспех“: неточно}
# Дефинирајте функција за враќање на системот
def recover_system (неуспех):
# Активирајте акција за обновување
ако неуспех["неуспех"]:
печатење („Активирање дејство за враќање...“)
# Распоредете резервен систем или активирајте акција за обновување
#...
# Креирајте работен тек на DSPy
работен тек = DSPy.Работен тек (
име "само-лекување-работен тек",
чекори=[
{"име": "монитор", "функ": monitor_performance},
{"name": "recover", "func": recover_system},
],
)
# Извршете го работниот тек
workflow.execute()
Овој блок на кодови покажува како да се создаде агент LangChain кој ги следи перформансите на апликацијата и активира акција за враќање кога ќе се открие дефект. Работниот тек на DSPy се користи за да се дефинира дејството за обновување и да се изврши како одговор на дефект.
** Топ 5-10 најкористени команди/парчиња**
Еве ги првите 5-10 најкористени команди и фрагменти за LangChain и DSPy:
langchain.Agent(): Создава нов агент LangChain.langchain.Chain(): Создава нов ланец LangChain.dspypy.Workflow(): Создава нов работен тек на DSPy.agent.execute(): Го извршува агентот LangChain.workflow.execute(): Го извршува работниот тек на DSPy.- `agent.chain.steps.append({"name": "step", "func": func})": Додава нов чекор во ланецот LangChain.
- `workflow.steps.append({"name": "step", "func": func})": Додава нов чекор во работниот тек на DSPy.
agent.chain.steps.remove({"name": "step"}): Отстранува чекор од ланецот LangChain.workflow.steps.remove({"name": "step"}): Отстранува чекор од работниот тек на DSPy.agent.chain.steps.insert(0, {"name": "step", "func": func}): Вметнува нов чекор на почетокот на ланецот LangChain.
Визуелизација
Еве визуелизација на работниот тек на LangChain и DSPy користејќи Chart.js:
{
"тип": "бар",
"податоци": {
"етикети": ["Монитор", "Обнова"],
"збирки на податоци": [
{
"етикета": "LangChain",
"податоци": [10, 20],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
„Ширина на границата“: 1
},
{
"етикета": "DSPy",
"податоци": [20, 30],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
„Ширина на границата“: 1
}
]
},
"опции": {
"наслов": {
„екран“: точно,
"text": "LangChain и DSPy Workflow"
},
"вага": {
„yOxes“: [
{
"крлежи": {
"beginAtZero": точно
}
}
]
}
}
}
Оваа визуелизација го прикажува работниот тек на LangChain и DSPy, со чекорот „Monitor“ лево и чекорот „Recover“ на десната страна. Работниот тек на LangChain е претставен со црвена лента, додека работниот тек на DSPy е претставен со сина лента.
Заклучок
Изградбата на софтверски системи за самолекување со архитектури со повеќе агенти за вештачка интелигенција и алатки за оркестрација е моќен пристап за создавање робусни и приспособливи системи кои можат да го преживеат производството. LangChain и DSPy се две популарни алатки за оркестрација кои им овозможуваат на програмерите да изградат системи за самолекување кои можат да детектираат и реагираат на неуспеси во реално време.
Во оваа статија, го истраживме концептот на архитектури со повеќе агенти за вештачка интелигенција и алатки за оркестрација и демонстриравме како да изградиме систем за самолекување со LangChain и DSPy. Исто така, обезбедивме низа практични примери и фрагменти од код за да им помогнеме на програмерите да започнат со градење на сопствени системи за самолекување.
Без разлика дали сте софтверски инженер, инженер за DevOps или истражувач на вештачка интелигенција, градењето софтверски системи за самолекување со LangChain и DSPy е моќен пристап за создавање робусни и приспособливи системи кои можат да го преживеат производството.