Арганізацыя агентаў AI для аўтаматызацыі DevOps: падыход LangChain і DSPy | B4N1

Арганізацыя агентаў AI для аўтаматызацыі DevOps: падыход LangChain і DSPy

6 months ago · b4n1 Read time: 4 min

Уводзіны

За апошнія гады сфера DevOps зведала значныя трансфармацыі, і інтэграцыя штучнага інтэлекту (AI) і машыннага навучання (ML) становіцца ўсё больш прыкметнай. Адной з ключавых абласцей, дзе ІІ аказвае істотны ўплыў, з'яўляецца сфера аўтаматызацыі. Выкарыстоўваючы агенты штучнага інтэлекту, арганізацыі могуць аптымізаваць працоўныя працэсы распрацоўкі праграмнага забеспячэння, скараціць колькасць памылак уручную і павысіць агульную эфектыўнасць.

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

Што такое LangChain і DSPy?

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

LangChain

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

LangChain падтрымлівае шырокі спектр LLM, у тым ліку такія папулярныя мадэлі, як LLaMA, BERT і RoBERTa. Ён таксама забяспечвае шэраг інструментаў для тонкай налады і налады LLM для канкрэтных выпадкаў выкарыстання.

DSPy

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

DSPy распрацаваны для бесперашкоднай працы з такімі папулярнымі інструментамі DevOps, як Jenkins, GitLab і Docker, што робіць яго ідэальным выбарам для арганізацый, якія жадаюць інтэграваць штучны інтэлект у існуючую інфраструктуру DevOps.

Арганізацыя агентаў штучнага інтэлекту для аўтаматызацыі DevOps

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

Актыўнае вырашэнне праблем

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

Вось просты прыклад таго, як гэта можа працаваць:

імпарт Langchain
з langchain.chat_models імпартаваць LLaMA

# Стварыце мадэль чата LangChain
chat_model = LLaMA()

# Вызначце функцыю для ўзаемадзеяння з мадэллю чата
def interact_with_chat_model (запыт):
    адказ = chat_model.run(запыт)
    зваротны адказ

# Вызначэнне функцыі для выяўлення патэнцыйных праблем
def identify_issues (код):
    prompt = f"Вызначце магчымыя праблемы ў наступным кодзе: {code}"
    адказ = interact_with_chat_model (запыт)
    зваротны адказ

# Вызначце функцыю для прадастаўлення рэкамендацый па дазволе
def provide_recommendations(пытанні):
    prompt = f"Дайце рэкамендацыі па вырашэнні наступных праблем: {праблемы}"
    адказ = interact_with_chat_model (запыт)
    зваротны адказ

# Прыклад выкарыстання
код = """
дэф дадаць (x, y):
    вярнуць x + y
"""
праблемы = ідэнтыфікаваць_праблемы(код)
рэкамендацыі = provide_recommendations(пытанні)
друк (рэкамендацыі)

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

Аўтаматызацыя працоўных працэсаў распрацоўкі праграмнага забеспячэння

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

Вось прыклад таго, як гэта можа працаваць:

імпарт dspy
з працоўнага працэсу імпарту dspy

# Вызначце працоўны працэс DSPy
працоўны працэс = працоўны працэс()

# Вызначце задачу для запуску інструмента аналізу кода
def run_code_analysis (код):
    # Запусціце інструмент аналізу кода для выяўлення магчымых праблем
    праблемы = []
    # ...
    пытанні вяртання

# Вызначце задачу, каб даць рэкамендацыі па вырашэнні
def provide_recommendations(пытанні):
    # Выкарыстоўвайце мадэль чата LangChain, каб даць рэкамендацыі
    prompt = f"Дайце рэкамендацыі па вырашэнні наступных праблем: {праблемы}"
    адказ = langchain.chat_model.run(запыт)
    зваротны адказ

# Вызначце задачу для разгортвання кода
def deploy_code (код):
    # Разгарніце код у вытворчай асяроддзі
    # ...

# Вызначце працоўны працэс
workflow.add_task(аналіз_запуску_коду)
workflow.add_task(provide_recommendations)
workflow.add_task(код_разгортвання)

# Запусціце працоўны працэс
workflow.run()

У гэтым прыкладзе мы вызначаем просты працоўны працэс DSPy, які складаецца з трох задач: запуск інструмента аналізу кода, прадастаўленне рэкамендацый па рашэнні і разгортванне кода. Затым мы вызначаем працоўны працэс, дадаючы кожную задачу і запускаючы яе.

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

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

LangChain

  • langchain.chat_models.LLaMA(): Стварыце мадэль чата LangChain з выкарыстаннем мадэлі LLaMA.
  • langchain.chat_model.run(prompt): запусціце мадэль чата з зададзенай падказкай.
  • langchain.chat_model.interact_with(prompt): узаемадзейнічайце з мадэллю чата, выкарыстоўваючы дадзены запыт.

DSPy

  • dspy.Workflow(): Стварыце працоўны працэс DSPy.
  • workflow.add_task(task): Дадаць задачу ў працоўны працэс.
  • workflow.run(): запусціць працоўны працэс.

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

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

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Аналіз кода", "Рэкамендацыі", "Разгортванне"],
    "наборы дадзеных": [
      {
        "label": "Рабочы працэс",
        "дадзеныя": [10, 20, 30],
        "фонавы колер": [
          "rgba(255, 99, 132, 0,2)",
          "rgba(54, 162, 235, 0,2)",
          "rgba(255, 206, 86, 0,2)"
        ],
        "borderColor": [
          "rgba(255, 99, 132, 1)",
          "rgba(54, 162, 235, 1)",
          "rgba(255, 206, 86, 1)"
        ],
        "borderWidth": 1
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Рабочы працэс"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

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

Выснова

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

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


Have Questions?

Let's Talk

Contact me on LinkedIn