Распрацоўка маштабуемых і этычных праграмных сістэм на базе AI з модульнай архітэктурай працоўнага працэсу і агентамі AI | B4N1

Распрацоўка маштабуемых і этычных праграмных сістэм на базе AI з модульнай архітэктурай працоўнага працэсу і агентамі AI

5 months ago · b4n1 Read time: 5 min

Уводзіны

Хуткі прагрэс у галіне штучнага інтэлекту (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 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось некаторыя з найбольш часта выкарыстоўваюцца каманд і фрагментаў для распрацоўкі маштабуемых і этычных праграмных сістэм, якія кіруюцца штучным інтэлектам, з модульнай архітэктурай працоўнага працэсу і агентамі штучнага інтэлекту:

  1. Python: імпартаваць pandas як pd (імпартаваць бібліятэку pandas)
  2. Python: pd.read_csv('data.csv') (чытанне файла CSV у фрэйме дадзеных pandas)
  3. Python: agent.train(X, y) (навучанне агента штучнага інтэлекту на наборы даных)
  4. Python: agent.predict(X) (прагназаванне з дапамогай агента AI)
  5. Rust: let mut agent = Agent::new() (стварэнне новага агента штучнага інтэлекту ў Rust)
  6. Rust: agent.train(X, y) (навучанне агента штучнага інтэлекту на наборы даных у Rust)
  7. Go: agent := NewAgent() (стварэнне новага агента штучнага інтэлекту ў Go)
  8. Go: agent.Train(X, y) (навучанне агента AI на наборы даных у Go)
  9. Chart.js: const chart = new Chart(ctx, { type: 'bar', data: { labels: ['Label 1', 'Label 2'], datasets: [{ label: 'Dataset 1', data: [10, 20] }] } }); (стварэнне гістаграмы з выкарыстаннем Chart.js)
  10. 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.

Прытрымліваючыся рэкамендацый і перадавой практыкі, выкладзеных у гэтым артыкуле, распрацоўшчыкі могуць ствараць надзейныя і прыдатныя ў абслугоўванні сістэмы праграмнага забеспячэння на аснове штучнага інтэлекту, якія адпавядаюць патрэбам сучасных прыкладанняў і галін.


Have Questions?

Let's Talk

Contact me on LinkedIn