Стварыце мадэль DSPy для паглынання даных з журналаў | B4N1

Стварыце мадэль DSPy для паглынання даных з журналаў

8 months ago · b4n1 Read time: 3 min

Інтэграцыя Agentic AI з DevOps Automation з выкарыстаннем LangChain і DSPy

Уводзіны

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

Разуменне LangChain і DSPy

LangChain - гэта фрэймворк з адкрытым зыходным кодам для стварэння размоўных праграм штучнага інтэлекту. Ён забяспечвае набор інструментаў і бібліятэк для стварэння мадэляў апрацоўкі натуральнай мовы (NLP), сістэм кіравання дыялогам і іншых кампанентаў, неабходных для стварэння гутарковых сістэм штучнага інтэлекту. LangChain пабудаваны на аснове мовы праграмавання Rust і забяспечвае гнуткую модульную архітэктуру для стварэння карыстальніцкіх размоўных прыкладанняў AI.

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

Інтэграцыя LangChain і DSPy для аўтаматызацыі DevOps

Каб інтэграваць LangChain і DSPy для аўтаматызацыі DevOps, нам трэба стварыць сістэму, якая можа выкарыстоўваць моцныя бакі абедзвюх тэхналогій. Вось агульны агляд архітэктуры:

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

Практычная рэалізацыя

Вось просты прыклад таго, як мы можам інтэграваць LangChain і DSPy для аўтаматызацыі DevOps:

імпарт Langchain
імпарт dspy


мадэль = dspy.Model("log_ingestion")

# Навучанне мадэлі на атрыманых дадзеных
model.train(дадзеныя)

# Стварыце сістэму кіравання дыялогамі LangChain
dialogue_manager = langchain.DialogueManager(мадэль)

# Вызначце просты дыялог
паток_дыялогу = [
    {
        "намер": "праверыць статус",
        "response": "Бягучы статус {status}"
    },
    {
        "намер": "перазапуск службы",
        "response": "Сэрвіс перазапушчаны"
    }
]

# Выканайце паток дыялогу
адказ = dialogue_manager.execute(dialogue_flow)

# Выканаць дзеянне на аснове адказу
if response == "Служба перазапушчана":
    dspy.execute_action("перазапуск службы")

Гэты прыклад дэманструе, як мы можам выкарыстоўваць LangChain і DSPy для стварэння простай сістэмы кіравання дыялогам, якая можа ўзаемадзейнічаць з навучанай мадэллю і выконваць дзеянні на аснове адказу.

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

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

  1. LangChain:
    • langchain.DialogueManager(model): Стварае сістэму кіравання дыялогам з выкарыстаннем навучанай мадэлі.
    • langchain.execute_dialogue_flow(dialogue_flow): Выконвае паток дыялогу з выкарыстаннем загадзя вызначанага патоку дыялогу.
    • langchain.get_intent(intent): Атрымлівае намер з уводу карыстальніка.
  2. DSPy:
    • dspy.Model("log_ingestion"): стварае мадэль DSPy для прыёму даных з журналаў.
    • dspy.train(model, data): навучанне мадэлі DSPy на перададзеных дадзеных.
    • dspy.execute_action(action): Выконвае дзеянне на аснове рэкамендацый навучанай мадэлі.

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

Вось простая візуалізацыя інтэграцыі LangChain і DSPy для аўтаматызацыі DevOps:

{
  "тып": "бар",
  "дадзеныя": {
    "ярлыкі": ["Паглынанне даных", "Навучанне мадэлі", "Кіраванне дыялогам", "Выкананне дзеянняў"],
    "наборы дадзеных": [
      {
        "label": "LangChain",
        "дадзеныя": [10, 15, 20, 25],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      },
      {
        "label": "DSPy",
        "дадзеныя": [15, 20, 25, 30],
        "backgroundColor": "rgba(54, 162, 235, 0,2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "borderWidth": 1
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Інтэграцыя LangChain і DSPy для аўтаматызацыі DevOps"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

Гэтая візуалізацыя дэманструе, як LangChain і DSPy могуць быць інтэграваныя для стварэння бясшвоўнага канвеера аўтаматызацыі DevOps.

Выснова

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


Have Questions?

Let's Talk

Contact me on LinkedIn