Аркестрацыя аўтаномнай інфраструктуры з пашыранымі магчымасцямі агента штучнага інтэлекту: тэхнічнае кіраўніцтва па паскарэнні DevOps з DSPy і LangChain | B4N1

Аркестрацыя аўтаномнай інфраструктуры з пашыранымі магчымасцямі агента штучнага інтэлекту: тэхнічнае кіраўніцтва па паскарэнні DevOps з DSPy і LangChain

3 months ago · b4n1 Read time: 5 min

Уводзіны

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

Праблема аўтаматызацыі DevOps

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

Рост аркестроўкі інфраструктуры на базе AI

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

DSPy: фрэймворк аркестрацыі AI на аснове Python

DSPy - гэта фрэймворк аркестроўкі штучнага інтэлекту на аснове Python, які дазваляе распрацоўшчыкам ствараць і разгортваць рашэнні аўтаматызацыі інфраструктуры на аснове штучнага інтэлекту. З дапамогай DSPy вы можаце ствараць карыстальніцкія агенты штучнага інтэлекту, якія могуць узаемадзейнічаць з вашай інфраструктурай, аўтаматызаваць задачы і прымаць рашэнні на аснове даных у рэжыме рэальнага часу. Модульная архітэктура DSPy і шырокая бібліятэка гатовых кампанентаў робяць яго ідэальным выбарам для кіравання буйнамаштабнай інфраструктурай.

Асноўныя магчымасці DSPy

  • Модульная архітэктура: модульная архітэктура DSPy дазваляе вам ствараць і разгортваць карыстальніцкія агенты штучнага інтэлекту, якія могуць узаемадзейнічаць з вашай інфраструктурай.
  • Шырокая бібліятэка: шырокая бібліятэка гатовых кампанентаў DSPy дазваляе лёгка аўтаматызаваць складаныя задачы і інтэграваць з папулярнымі інструментамі DevOps.
  • Апрацоўка даных у рэжыме рэальнага часу: магчымасці апрацоўкі даных у рэжыме рэальнага часу DSPy дазваляюць агентам штучнага інтэлекту прымаць рашэнні на аснове апошніх даных.

Просты прыклад кода DSPy

Вось просты прыклад блока кода DSPy, які аўтаматызуе разгортванне новага кантэйнера:

імпарт dspy

# Вызначэнне агента AI
агент = dspy.Agent()

# Вызначце задачу разгортвання кантэйнера
задача = dspy.Task(
    name="Разгарнуць кантэйнер",
    description="Разгарнуць новы кантэйнер у вытворчай асяроддзі",
    inputs=["container_image", "container_port"],
    выхады=["ідэнтыфікатар_кантэйнера"]
)

# Вызначце сцэнар разгортвання кантэйнера
скрыпт = dspy.Script(
    name="Разгарнуць сцэнарый кантэйнера",
    description="Разгарнуць новы кантэйнер у вытворчай асяроддзі",
    код = """
    #!/bin/bash
    docker run -d -p {порт_кантэйнера}:{порт_кантэйнера} {выява_кантэйнера}
    """
)

# Далучыце скрыпт да задачы
task.attach_script(скрыпт)

# Вызначце працоўны працэс агента AI
працоўны працэс = dspy.Workflow(
    name="Рабочы працэс разгортвання кантэйнера",
    description="Аўтаматызаваць разгортванне новага кантэйнера",
    tasks=[задача]
)

# Вызначце канфігурацыю агента AI
канфігурацыя = dspy.Config(
    name="Канфігурацыя разгортвання кантэйнера",
    description="Наладзіць агент AI для разгортвання кантэйнера",
    inputs=["container_image", "container_port"]
)

# Стварыце агент AI
agent.create(працоўны працэс, канфігурацыя)

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

LangChain: фрэймворк аркестрацыі штучнага інтэлекту на аснове Rust

LangChain - гэта фрэймворк аркестроўкі штучнага інтэлекту на аснове Rust, які дазваляе распрацоўшчыкам ствараць і разгортваць рашэнні аўтаматызацыі інфраструктуры на аснове штучнага інтэлекту. З дапамогай LangChain вы можаце ствараць карыстальніцкія агенты штучнага інтэлекту, якія могуць узаемадзейнічаць з вашай інфраструктурай, аўтаматызаваць задачы і прымаць рашэнні на аснове даных у рэжыме рэальнага часу. Модульная архітэктура LangChain і шырокая бібліятэка гатовых кампанентаў робяць яго ідэальным выбарам для кіравання буйнамаштабнай інфраструктурай.

Асноўныя характарыстыкі LangChain

  • Модульная архітэктура: модульная архітэктура LangChain дазваляе вам ствараць і разгортваць карыстальніцкія агенты штучнага інтэлекту, якія могуць узаемадзейнічаць з вашай інфраструктурай.
  • Шырокая бібліятэка: шырокая бібліятэка гатовых кампанентаў LangChain дазваляе лёгка аўтаматызаваць складаныя задачы і інтэграваць з папулярнымі інструментамі DevOps.
  • Апрацоўка даных у рэжыме рэальнага часу: магчымасці апрацоўкі даных LangChain у рэжыме рэальнага часу дазваляюць агентам штучнага інтэлекту прымаць рашэнні на аснове апошніх даных.

Просты прыклад кода LangChain

Вось просты прыклад кодавага блока LangChain, які аўтаматызуе разгортванне новага кантэйнера:

выкарыстоўваць langchain::{Agent, Task, Script, Workflow, Config};

// Вызначэнне агента AI
няхай агент = Агент::новы();

// Вызначэнне задачы разгортвання кантэйнера
няхай task = Task::new(
    «Разгарнуць кантэйнер»,
    "Разгарніце новы кантэйнер у вытворчай асяроддзі",
    vec!["кантэйнер_малюнак", "кантэйнер_порт"],
    vec!["ідэнтыфікатар_кантэйнера"]
);

// Вызначэнне сцэнарыя разгортвання кантэйнера
няхай скрыпт = скрыпт::новы(
    «Разгарнуць сцэнарый кантэйнера»,
    "Разгарніце новы кантэйнер у вытворчай асяроддзі",
    r#"
    #!/bin/bash
    docker run -d -p {порт_кантэйнера}:{порт_кантэйнера} {выява_кантэйнера}
    "#,
    vec!["кантэйнер_малюнак", "кантэйнер_порт"]
);

// Далучыць скрыпт да задачы
task.attach_script(сцэнар);

// Вызначэнне працоўнага працэсу агента AI
няхай працоўны працэс = Працоўны працэс::новы(
    «Рабочы працэс разгортвання кантэйнера»,
    «Аўтаматызаваць разгортванне новага кантэйнера»,
    vec![заданне]
);

// Вызначэнне канфігурацыі агента AI
няхай config = Config::new(
    «Канфігурацыя разгортвання кантэйнера»,
    «Настройка агента AI для разгортвання кантэйнера»,
    vec!["кантэйнер_малюнак", "кантэйнер_порт"]
);

// Стварэнне агента AI
agent.create(працоўны працэс, канфігурацыя);

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

5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain:

DSPy

  1. dspy.Agent().create(workflow, config): стварае новы агент штучнага інтэлекту з указаным працоўным працэсам і канфігурацыяй.
  2. dspy.Task().attach_script(script): далучае скрыпт да задачы ў працоўным працэсе агента AI.
  3. dspy.Script().new(імя, апісанне, код): стварае новы скрыпт з указанай назвай, апісаннем і кодам.
  4. dspy.Workflow().new(name, description, tasks): стварае новы працоўны працэс з указанай назвай, апісаннем і задачамі.
  5. dspy.Config().new(name, description, inputs): стварае новую канфігурацыю з указанымі імем, апісаннем і ўваходнымі параметрамі.

LangChain

  1. langchain::Agent::new(): стварае новага агента AI.
  2. langchain::Task::new(name, description, inputs, outputs): стварае новую задачу з указанай назвай, апісаннем, уваходамі і выхадамі.
  3. langchain::Script::new(name, description, code, inputs): стварае новы сцэнарый з указанымі імем, апісаннем, кодам і ўваходнымі параметрамі.
  4. langchain::Workflow::new(name, description, tasks): стварае новы працоўны працэс з указанай назвай, апісаннем і задачамі.
  5. langchain::Config::new(name, description, inputs): стварае новую канфігурацыю з указанымі імем, апісаннем і ўваходнымі параметрамі.

Візуалізацыя

Вось візуалізацыя працоўнага працэсу агента AI з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Разгортванне кантэйнера", "Заданне 1", "Заданне 2", "Заданне 3"],
    "наборы дадзеных": [
      {
        "label": "Рабочы працэс",
        "дадзеныя": [10, 5, 3, 2],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Рабочы працэс агента AI"
    },
    "шалі": {
      "yAxes": [
        {
          "дысплей": праўда,
          "scaleLabel": {
            "дысплей": праўда,
            "labelString": "Задачы"
          }
        }
      ]
    }
  }
}

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

Выснова

У гэтым артыкуле мы даследавалі свет аркестроўкі інфраструктуры на базе AI, засяродзіўшы ўвагу на DSPy і LangChain, двух вядучых інструментах у гэтай прасторы. Мы ўбачылі, як гэтыя інструменты можна выкарыстоўваць для аўтаматызацыі складаных задач, прагназавання і прадухілення праблем і аптымізацыі выкарыстання рэсурсаў. З іх модульнай архітэктурай і шырокімі бібліятэкамі гатовых кампанентаў DSPy і LangChain з'яўляюцца ідэальным выбарам для кіравання буйнамаштабнай інфраструктурай. Незалежна ад таго, дасведчаны вы прафесіянал DevOps або толькі пачынаеце, гэтыя інструменты абавязкова дапамогуць вам паскорыць працэсы DevOps і вывесці кіраванне інфраструктурай на новы ўзровень.


Have Questions?

Let's Talk

Contact me on LinkedIn