Уводзіны
Хуткі прагрэс у галіне штучнага інтэлекту (AI) і праграмнай інжынерыі прывёў да распрацоўкі складаных праграмных сістэм, якія аб'ядноўваюць агентаў AI і модульную архітэктуру працоўнага працэсу. Гэтыя сістэмы могуць змяніць наш падыход да аўтаматызацыі і аркестроўкі DevOps. Аднак распрацоўка маштабуемых і этычных праграмных сістэм, якія кіруюцца штучным інтэлектам, патрабуе глыбокага разумення апошніх дасягненняў у галіне штучнага інтэлекту, праграмнай інжынерыі і архітэктуры.
У гэтым артыкуле мы вывучым прынцыпы праектавання і лепшыя практыкі для стварэння модульных, маштабуемых і этычных праграмных сістэм, якія аб'ядноўваюць агентаў штучнага інтэлекту і модульную архітэктуру працоўнага працэсу. Мы засяродзімся на аб'яднанні апошніх дасягненняў у галіне штучнага інтэлекту (вялікія моўныя мадэлі (LLM), пошукава-дапоўненая генерацыя (RAG)), распрацоўкі праграмнага забеспячэння (Python, Rust, Go) і архітэктуры для стварэння надзейных і абслугоўваемых сістэм.
Модульная архітэктура працоўнага працэсу
Модульная архітэктура працоўнага працэсу - гэта шаблон праектавання, які разбівае складаныя сістэмы на больш дробныя незалежныя модулі, якія можна лёгка абслугоўваць, абнаўляць і маштабаваць. Кожны модуль адказвае за пэўную задачу або функцыю, і яны ўзаемадзейнічаюць адзін з адным праз дакладна вызначаныя інтэрфейсы.
Вось просты прыклад модульнай архітэктуры працоўнага працэсу ў Python:
# workflow.py
Працоўны працэс класа:
дэф __init__(сам):
self.modules = []
def add_module(я, модуль):
self.modules.append(модуль)
дэф запусціць (сам):
для модуля ў self.modules:
module.run()
# module1.py
клас Module1:
дэф запусціць (сам):
print("Модуль 1 працуе")
# module2.py
клас Module2:
дэф запусціць (сам):
print("Модуль 2 працуе")
# main.py
if __name__ == "__main__":
працоўны працэс = працоўны працэс()
workflow.add_module(Module1())
workflow.add_module(Module2())
workflow.run()
У гэтым прыкладзе ў нас ёсць клас Workflow, які кіруе спісам модуляў. Кожны модуль адказвае за пэўную задачу, і яны дадаюцца ў працоўны працэс метадам add_module. Метад run выкарыстоўваецца для выканання кожнага модуля ў працоўным працэсе.
Агенты AI
Агенты штучнага інтэлекту - гэта праграмныя кампаненты, якія выкарыстоўваюць алгарытмы машыннага навучання для прыняцця рашэнняў і дзеянняў у сістэме. Іх можна выкарыстоўваць для аўтаматызацыі задач, паляпшэння карыстацкага досведу і аптымізацыі прадукцыйнасці сістэмы.
Існуе некалькі тыпаў агентаў штучнага інтэлекту, у тым ліку:
- Агенты на аснове правілаў: гэтыя агенты выкарыстоўваюць загадзя вызначаныя правілы для прыняцця рашэнняў.
- Агенты машыннага навучання: гэтыя агенты выкарыстоўваюць алгарытмы машыннага навучання, каб вучыцца на дадзеных і прымаць рашэнні.
- Гібрыдныя агенты: гэтыя агенты спалучаюць падыходы на аснове правілаў і машыннага навучання для прыняцця рашэнняў.
Вось прыклад простага агента штучнага інтэлекту ў Python з выкарыстаннем алгарытму машыннага навучання:
# agent.py
з sklearn.ensemble імпартаваць RandomForestClassifier
з sklearn.model_selection імпартаваць train_test_split
з sklearn.datasets імпартаваць load_iris
агент класа:
дэф __init__(сам):
self.model = RandomForestClassifier()
вызначэнне цягніка (я, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0,2, random_state=42)
self.model.fit(X_train, y_train)
дэф прадказаць (я, X):
вярнуць self.model.predict(X)
# main.py
if __name__ == "__main__":
касач = load_iris()
X = iris.data
у = вясёлкавая абалонка.мішэнь
агент = агент()
agent.train(X, y)
прагнозы = agent.predict(X)
друк (прагнозы)
У гэтым прыкладзе ў нас ёсць просты агент штучнага інтэлекту, які выкарыстоўвае класіфікатар выпадковага лесу, каб рабіць прагнозы. Агент навучаецца набору даных вясёлкавай абалонкі і робіць прагнозы на тым жа наборы даных.
Спалучэнне агентаў AI і модульнай архітэктуры працоўнага працэсу
Аб'яднанне агентаў штучнага інтэлекту і модульнай архітэктуры працоўнага працэсу дазваляе нам ствараць складаныя сістэмы, якія аб'ядноўваюць прыняцце рашэнняў на аснове штучнага інтэлекту з модульнай маштабаванай архітэктурай.
Вось прыклад сістэмы, якая спалучае ў сабе агентаў штучнага інтэлекту і модульную архітэктуру працоўнага працэсу:
# workflow.py
Працоўны працэс класа:
дэф __init__(сам):
self.modules = []
self.agent = Няма
def add_module(я, модуль):
self.modules.append(модуль)
def add_agent(я, агент):
self.agent = агент
дэф запусціць (сам):
для модуля ў self.modules:
module.run()
калі self.agent:
self.agent.predict()
# module1.py
клас Module1:
дэф запусціць (сам):
print("Модуль 1 працуе")
# module2.py
клас Module2:
дэф запусціць (сам):
print("Модуль 2 працуе")
# agent.py
з sklearn.ensemble імпартаваць RandomForestClassifier
з sklearn.model_selection імпартаваць train_test_split
з sklearn.datasets імпартаваць load_iris
агент класа:
дэф __init__(сам):
self.model = RandomForestClassifier()
вызначэнне цягніка (я, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0,2, random_state=42)
self.model.fit(X_train, y_train)
дэф прадказаць (я, X):
вярнуць self.model.predict(X)
# main.py
if __name__ == "__main__":
працоўны працэс = працоўны працэс()
workflow.add_module(Module1())
workflow.add_module(Module2())
агент = агент()
agent.train(X, y)
workflow.add_agent(агент)
workflow.run()
У гэтым прыкладзе ў нас ёсць сістэма, якая спалучае ў сабе агентаў штучнага інтэлекту і модульную архітэктуру працоўнага працэсу. Сістэма мае два модулі і агент штучнага інтэлекту, які выкарыстоўвае класіфікатар выпадковага лесу для прагназавання. Агент дадаецца ў працоўны працэс метадам add_agent і робіць прагнозы пасля запуску модуляў.
5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў
Вось некаторыя з найбольш часта выкарыстоўваюцца каманд і фрагментаў для распрацоўкі маштабуемых і этычных праграмных сістэм, якія кіруюцца штучным інтэлектам, з модульнай архітэктурай працоўнага працэсу і агентамі штучнага інтэлекту:
- Python:
імпартаваць pandas як pd(імпартаваць бібліятэку pandas) - Python:
pd.read_csv('data.csv')(чытанне файла CSV у фрэйме дадзеных pandas) - Python:
agent.train(X, y)(навучанне агента штучнага інтэлекту на наборы даных) - Python:
agent.predict(X)(прагназаванне з дапамогай агента AI) - Rust:
let mut agent = Agent::new()(стварэнне новага агента штучнага інтэлекту ў Rust) - Rust:
agent.train(X, y)(навучанне агента штучнага інтэлекту на наборы даных у Rust) - Go:
agent := NewAgent()(стварэнне новага агента штучнага інтэлекту ў Go) - Go:
agent.Train(X, y)(навучанне агента AI на наборы даных у Go) - Chart.js:
const chart = new Chart(ctx, { type: 'bar', data: { labels: ['Label 1', 'Label 2'], datasets: [{ label: 'Dataset 1', data: [10, 20] }] } });(стварэнне гістаграмы з выкарыстаннем Chart.js) - Chart.js:
chart.data.datasets[0].data.push(30)(даданне новай кропкі даных да дыяграмы з дапамогай Chart.js)
Візуалізацыя
Вось прыклад гістаграмы з выкарыстаннем Chart.js:
{
"тып": "бар",
"дадзеныя": {
"labels": ["Пазнака 1", "Пазнака 2"],
"наборы дадзеных": [
{
"label": "Набор дадзеных 1",
"дадзеныя": [10, 20]
}
]
}
}
Гэтая дыяграма мае дзве цэтлікі і адзін набор даных з дзвюма кропкамі даных. Дыяграму можна наладзіць з дапамогай розных опцый і налад.
Выснова
Распрацоўка маштабуемых і этычных праграмных сістэм на базе AI з модульнай архітэктурай працоўнага працэсу і агентамі AI патрабуе глыбокага разумення апошніх дасягненняў у галіне AI, распрацоўкі праграмнага забеспячэння і архітэктуры. Камбінуючы агенты штучнага інтэлекту і модульную архітэктуру працоўнага працэсу, мы можам ствараць складаныя сістэмы, якія аб'ядноўваюць прыняцце рашэнняў на аснове штучнага інтэлекту з модульнай маштабаванай архітэктурай.
У гэтым артыкуле мы вывучылі прынцыпы праектавання і лепшыя практыкі для стварэння модульных, маштабуемых і этычных праграмных сістэм, якія аб'ядноўваюць агентаў штучнага інтэлекту і модульную архітэктуру працоўнага працэсу. Мы таксама далі прыклады простых агентаў AI і модульнай архітэктуры працоўнага працэсу ў Python, Rust і Go, а таксама прыклад візуалізацыі з выкарыстаннем Chart.js.
Прытрымліваючыся рэкамендацый і перадавой практыкі, выкладзеных у гэтым артыкуле, распрацоўшчыкі могуць ствараць надзейныя і прыдатныя ў абслугоўванні сістэмы праграмнага забеспячэння на аснове штучнага інтэлекту, якія адпавядаюць патрэбам сучасных прыкладанняў і галін.