Вовед
Брзиот напредок во вештачката интелигенција (ВИ) и софтверското инженерство доведоа до развој на сложени софтверски системи кои интегрираат агенти за вештачка интелигенција и архитектура на модуларен работен тек. Овие системи имаат потенцијал да го револуционизираат начинот на кој пристапуваме кон автоматизацијата и оркестрацијата на DevOps. Сепак, дизајнирањето на скалабилни и етички софтверски системи управувани од ВИ бара длабоко разбирање на најновите достигнувања во вештачката интелигенција, софтверското инженерство и архитектурата.
Во оваа статија, ќе ги истражиме принципите на дизајнот и најдобрите практики за создавање модуларни, скалабилни и етички софтверски системи кои интегрираат агенти за вештачка интелигенција и архитектура на модуларен тек на работа. Ќе се фокусираме на комбинирање на најновите достигнувања во вештачката интелигенција (Модели со големи јазици (LLMs), пронаоѓање-зголемена генерација (RAG)), софтверско инженерство (Python, Rust, Go) и архитектура за да создадеме робусни и одржувани системи.
Модуларна архитектура на работниот тек
Архитектурата на модуларен работен тек е дизајн шема што ги разложува сложените системи на помали, независни модули кои лесно може да се одржуваат, ажурираат и скалираат. Секој модул е одговорен за одредена задача или функција и тие меѓусебно комуницираат преку добро дефинирани интерфејси.
Еве едноставен пример на архитектура на модуларен работен тек во Python:
# workflow.py
Работен тек на класа:
def __init__(self):
себе.модули = []
def add_module (само, модул):
self.modules.append(module)
дефинитивно трчање (само):
за модул во себе.модули:
module.run()
# module1.py
класа Модул 1:
дефинитивно трчање (само):
печатење („Модулот 1 работи“)
# module2.py
класа Модул 2:
дефинитивно трчање (само):
печатење („Модулот 2 работи“)
# main.py
ако __име__ == "__main__":
работен тек = Работен тек ()
workflow.add_module(Module1())
workflow.add_module(Module2())
workflow.run()
Во овој пример, имаме класа Workflow која управува со листа на модули. Секој модул е одговорен за одредена задача и тие се додаваат во работниот тек со помош на методот „add_module“. Методот run се користи за извршување на секој модул во работниот тек.
Агенти за вештачка интелигенција
Агентите за вештачка интелигенција се софтверски компоненти кои користат алгоритми за машинско учење за да донесуваат одлуки и да преземаат активности во системот. Тие може да се користат за автоматизирање на задачите, подобрување на корисничкото искуство и оптимизирање на перформансите на системот.
Постојат неколку видови на агенти за вештачка интелигенција, вклучувајќи:
- Агенти засновани на правила: Овие агенти користат однапред дефинирани правила за да донесуваат одлуки.
- Агенти за машинско учење: Овие агенти користат алгоритми за машинско учење за да учат од податоците и да донесуваат одлуки.
- Хибридни агенти: овие агенти комбинираат пристапи базирани на правила и машинско учење за да донесуваат одлуки.
Еве пример за едноставен агент за вештачка интелигенција во Python кој користи алгоритам за машинско учење:
# agent.py
од sklearn.ansemble import RandomForestClassifier
од sklearn.model_selection увоз train_test_split
од sklearn.datasets увезуваат load_iris
Класен агент:
def __init__(self):
self.model = RandomForestClassifier()
def train (self, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, тест_големина=0.2, случајна_состојба=42)
self.model.fit (X_train, y_train)
дефинитивно предвиди (себе, X):
врати self.model.predict(X)
# main.py
ако __име__ == "__main__":
ирис = оптоварување_ирис ()
X = ирис.податоци
y = ирис.цел
агент = Агент()
agent.train(X, y)
предвидувања = агент.предвиди(X)
печатење (предвидувања)
Во овој пример, имаме едноставен агент за вештачка интелигенција кој користи случаен класификатор на шуми за да прави предвидувања. Агентот е обучен за базата на податоци за ирис и прави предвидувања за истата база на податоци.
Комбинирање на агенти за вештачка интелигенција и архитектура на модуларен тек на работа
Комбинирањето на агенти за вештачка интелигенција и архитектурата на модуларен работен тек ни овозможува да создадеме сложени системи кои го интегрираат донесувањето одлуки управувано од вештачка интелигенција со модуларна, скалабилна архитектура.
Еве пример на систем кој комбинира ВИ агенти и модуларна архитектура на работниот тек:
# workflow.py
Работен тек на класа:
def __init__(self):
себе.модули = []
себе.агент = Никој
def add_module (само, модул):
self.modules.append(module)
def add_agent(self, agent):
себе.застапник = застапник
дефинитивно трчање (само):
за модул во себе.модули:
module.run()
ако себе.агент:
self.agent.predict()
# module1.py
класа Модул 1:
дефинитивно трчање (само):
печатење („Модулот 1 работи“)
# module2.py
класа Модул 2:
дефинитивно трчање (само):
печатење („Модулот 2 работи“)
# agent.py
од sklearn.ansemble import RandomForestClassifier
од sklearn.model_selection увоз train_test_split
од sklearn.datasets увезуваат load_iris
Класен агент:
def __init__(self):
self.model = RandomForestClassifier()
def train (self, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, тест_големина=0.2, случајна_состојба=42)
self.model.fit (X_train, y_train)
дефинитивно предвиди (себе, X):
врати self.model.predict(X)
# main.py
ако __име__ == "__main__":
работен тек = Работен тек ()
workflow.add_module(Module1())
workflow.add_module(Module2())
агент = Агент()
agent.train(X, y)
workflow.add_agent(agent)
workflow.run()
Во овој пример, имаме систем кој комбинира ВИ агенти и модуларна архитектура на работниот тек. Системот има два модула и агент за вештачка интелигенција кој користи случаен класификатор на шуми за да прави предвидувања. Агентот се додава во работниот тек со помош на методот add_agent и прави предвидувања откако модулите ќе се стартуваат.
Топ 5-10 најкористени команди/парчиња
Еве некои од најчесто користените команди и фрагменти за дизајнирање скалабилни и етички софтверски системи управувани од ВИ со модуларна архитектура на работниот тек и агенти за вештачка интелигенција:
- Python:
увезете панди како pd(внесување на библиотеката за панди) - Python:
pd.read_csv('data.csv')(читање CSV-датотека во податочна рамка на панди) - Python:
agent.train(X, y)(обучување агент за вештачка интелигенција на база на податоци) - Python:
agent.predict(X)(правење предвидувања со помош на агент за вештачка интелигенција) - Rust:
let mut agent = Agent::new()(создавање нов AI агент во Rust) - Rust:
agent.train(X, y)(обучување агент за вештачка интелигенција на база на податоци во Rust) - Go:
agent := NewAgent()(создавање нов AI агент во Go) - Go:
agent.Train(X, y)(обучување агент за вештачка интелигенција за база на податоци во Go) - Chart.js:
const chart = new Chart(ctx, { type: 'bar', data: { labels: ['Label 1', 'Label 2'], сетови на податоци: [{ label: 'Dataset 1', data: [10, 20] }] } });(создавање графикон со столбови. j)) - Chart.js:
chart.data.datasets[0].data.push(30)(додавање нова точка на податоци на графикон користејќи Chart.js)
Визуелизација
Еве пример за столбест дијаграм со помош на Chart.js:
{
"тип": "бар",
"податоци": {
"етикети": ["етикета 1", "етикета 2"],
"збирки на податоци": [
{
"label": "Податоци 1",
„податоци“: [10, 20]
}
]
}
}
Овој графикон има две етикети и една база на податоци со две точки на податоци. Табелата може да се прилагоди со користење на различни опции и поставки.
Заклучок
Дизајнирањето на скалабилни и етички софтверски системи управувани од ВИ со модуларна архитектура на работниот тек и агенти за вештачка интелигенција бара длабоко разбирање на најновите достигнувања во вештачката интелигенција, софтверското инженерство и архитектурата. Со комбинирање на агенти за вештачка интелигенција и архитектура на модуларен работен тек, можеме да создадеме сложени системи кои го интегрираат донесувањето одлуки управувано од вештачка интелигенција со модуларна, скалабилна архитектура.
Во оваа статија, ги истраживме принципите на дизајнирање и најдобрите практики за создавање модуларни, скалабилни и етички софтверски системи кои интегрираат агенти за вештачка интелигенција и архитектура на модуларен работен тек. Исто така, дадовме примери на едноставни агенти за вештачка интелигенција и архитектура на модуларен работен тек во Python, Rust и Go, како и пример за визуелизација користејќи Chart.js.
Следејќи ги упатствата и најдобрите практики наведени во овој напис, програмерите можат да создадат робусни и одржувани софтверски системи управувани со вештачка интелигенција кои ги задоволуваат потребите на современите апликации и индустрии.