Оркестрирање агенти за вештачка интелигенција за автоматизација на DevOps: пристап LangChain и DSPy | B4N1

Оркестрирање агенти за вештачка интелигенција за автоматизација на DevOps: пристап LangChain и DSPy

6 months ago · b4n1 Read time: 5 min

Вовед

Областа на DevOps претрпе значителни трансформации во последниве години, при што интеграцијата на вештачката интелигенција (AI) и машинското учење (ML) станува сè поизразена. Една од клучните области каде што вештачката интелигенција има значително влијание е во областа на автоматизацијата. Со користење на агенти за вештачка интелигенција, организациите можат да ги насочат работните текови за развој на софтвер, да ги намалат рачните грешки и да ја подобрат севкупната ефикасност.

Во оваа статија, ќе истражуваме во светот на автоматизацијата на DevOps управувана од вештачка интелигенција, фокусирајќи се на рамки LangChain и DSPy. Ќе истражиме како овие алатки може да се користат за создавање проактивни системи за решавање проблеми и автоматизирање на работните текови за развој на софтвер. Дополнително, ќе обезбедиме практичен пример за тоа како да се интегрираат големите јазични модели (LLM) во вашиот цевковод DevOps.

Што се LangChain и DSPy?

Пред да нурнеме во деталите за автоматизацијата на DevOps управувана од вештачка интелигенција, ајде да погледнеме накратко во рамките на LangChain и DSPy.

ЛангСинџир

LangChain е рамка со отворен код што им овозможува на програмерите да градат апликации за разговорна вештачка интелигенција користејќи модели на големи јазици (LLM). Обезбедува едноставен и интуитивен API за интеракција со LLM, дозволувајќи им на програмерите да креираат сопствени интерфејси за разговор за нивните апликации.

LangChain поддржува широк спектар на LLM, вклучувајќи популарни модели како LLaMA, BERT и RoBERTa. Исто така, обезбедува низа алатки за дотерување и приспособување на LLM за да одговараат на конкретни случаи на употреба.

DSPy

DSPy е библиотека на Python која обезбедува едноставен и ефикасен начин за интегрирање на моделите со вештачка интелигенција во вашиот DevOps цевка. Поддржува широк опсег на рамки за вештачка интелигенција, вклучувајќи го и LangChain, и обезбедува низа алатки за автоматизирање на работните текови управувани од вештачка интелигенција.

DSPy е дизајниран да работи беспрекорно со популарните алатки за DevOps како Jenkins, GitLab и Docker, што го прави идеален избор за организации кои сакаат да интегрираат вештачка интелигенција во нивната постоечка DevOps инфраструктура.

Оркестрира AI агенти за автоматизација на DevOps

Сега кога имаме краток преглед на LangChain и DSPy, ајде да истражиме како овие рамки може да се користат за оркестрирање на агенти за вештачка интелигенција за автоматизација на DevOps.

Проактивно решавање на проблемот

Една од клучните придобивки на автоматизацијата на DevOps управувана од вештачка интелигенција е способноста за проактивно решавање на проблемите пред тие да станат големи проблеми. LangChain и DSPy може да се користат за создавање на сопствени разговорни интерфејси кои комуницираат со LLM за да ги идентификуваат потенцијалните проблеми и да дадат препораки за решавање.

Еве едноставен пример за тоа како ова може да функционира:

увозен лангсин
од langchain.chat_models увезуваат LLaMA

# Создадете модел за разговор LangChain
chat_model = LLaMA()

# Дефинирајте функција за интеракција со моделот за разговор
def interact_with_chat_model (промпт):
    одговор = chat_model.run (промпт)
    повратен одговор

# Дефинирајте функција за да ги идентификувате потенцијалните проблеми
defidentident_issues(код):
    prompt = f"Идентификувајте ги потенцијалните проблеми во следниот код: {code}"
    одговор = интеракција_со_муабет_модел (промпт)
    повратен одговор

# Дефинирајте функција за давање препораки за решавање
def provide_recommendations(прашања):
    prompt = f"Обезбедете препораки за решавање на следниве проблеми: {прашања}"
    одговор = интеракција_со_муабет_модел (промпт)
    повратен одговор

# Пример за употреба
код = """
def add(x, y):
    врати x + y
"""
прашања = идентификување_прашања (шифра)
препораки = обезбеди_препораки(прашања)
печатење (препораки)

Во овој пример, дефинираме едноставна функција interact_with_chat_model која е во интеракција со моделот за разговор LangChain за да обезбеди одговор на дадено барање. Потоа дефинираме две дополнителни функции „идентификувајте_прашања“ и „обезбедете_препораки“ кои го користат моделот за разговор за да идентификуваат потенцијални проблеми во некој примерок код и да даваат препораки за решавање.

Автоматизирање на работните текови за развој на софтвер

LangChain и DSPy, исто така, може да се користат за автоматизирање на работните текови за развој на софтвер со интегрирање на модели со вештачка интелигенција во вашиот постоечки DevOps гасовод.

Еве пример за тоа како ова може да функционира:

увоз dspy
од dspy import Workflow

# Дефинирајте работен тек на DSPy
работен тек = Работен тек ()

# Дефинирајте задача за да извршите алатка за анализа на кодови
def run_code_analysis(код):
    # Стартувај алатка за анализа на код за да ги идентификуваш потенцијалните проблеми
    прашања = []
    #...
    прашања за враќање

# Дефинирајте задача за да дадете препораки за решавање
def provide_recommendations(прашања):
    # Користете го моделот за разговор LangChain за да дадете препораки
    prompt = f"Обезбедете препораки за решавање на следниве проблеми: {прашања}"
    одговор = langchain.chat_model.run (промпт)
    повратен одговор

# Дефинирајте задача за распоредување на кодот
def deploy_code (код):
    # Распоредете го кодот во производствена средина
    #...

# Дефинирајте го работниот тек
workflow.add_task(run_code_analysis)
workflow.add_task(provide_recommendations)
workflow.add_task(deploy_code)

# Стартувај го работниот тек
workflow.run()

Во овој пример, дефинираме едноставен работен тек на DSPy кој се состои од три задачи: водење алатка за анализа на кодот, обезбедување препораки за резолуција и распоредување на кодот. Потоа го дефинираме работниот тек со додавање на секоја задача и извршување.

Топ 5-10 најкористени команди/парчиња

Еве некои од најчесто користените команди и фрагменти за LangChain и DSPy:

ЛангСинџир

  • 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:

{
  "тип": "бар",
  "податоци": {
    "етикети": ["Анализа на кодови", "Препораки", "Распоредување"],
    "збирки на податоци": [
      {
        "етикета": "Работен тек",
        "податоци": [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)"
        ],
        „Ширина на границата“: 1
      }
    ]
  },
  "опции": {
    "наслов": {
      „екран“: точно,
      "text": "Работен тек"
    },
    "вага": {
      „yOxes“: [
        {
          "крлежи": {
            "beginAtZero": точно
          }
        }
      ]
    }
  }
}

Оваа визуелизација покажува едноставна лента со дијаграм што го претставува работниот тек, со три ленти што ја претставуваат анализата на кодот, препораките и задачите за распоредување.

Заклучок

Во оваа статија, го истражувавме светот на автоматизацијата на DevOps управувана од вештачка интелигенција користејќи LangChain и DSPy. Видовме како овие рамки може да се користат за создавање проактивни системи за решавање проблеми и автоматизирање на работните текови за развој на софтвер. Исто така, дадовме практични примери за тоа како да се интегрираат LLM во вашата линија DevOps и да се визуелизира работниот тек со помош на Chart.js.

Со искористување на моќта на вештачката интелигенција и автоматизацијата, организациите можат да ги насочат работните текови за развој на софтвер, да ги намалат рачните грешки и да ја подобрат севкупната ефикасност. Без разлика дали сте инженер за DevOps, развивач на софтвер или бизнис лидер, LangChain и DSPy се моќни алатки кои можат да ви помогнат да ги постигнете вашите цели.


Have Questions?

Let's Talk

Contact me on LinkedIn