Оркестрирајќи развој на софтвер со вештачка интелигенција со LangChain и StackGen | B4N1

Оркестрирајќи развој на софтвер со вештачка интелигенција со LangChain и StackGen

6 months ago · b4n1 Read time: 6 min

Вовед

Пејзажот за развој на софтвер брзо се развива, при што вештачката интелигенција и автоматиката играат сè позначајни улоги во процесот на DevOps. Две клучни технологии кои ја поттикнуваат оваа трансформација се LangChain и StackGen. LangChain е рамка со отворен код за градење агенти напојувани со вештачка интелигенција, додека StackGen е алатка за автоматизирање на конфигурацијата на инфраструктурата. Во овој напис, ќе истражиме како овие две технологии можат да се користат заедно за да се создаде автоматизирана линија за автоматизација на DevOps управувана од вештачка интелигенција, искористувајќи ја моќта на GPT-5.5 за интелигентен преглед и сугестија на кодот.

Предизвикот на автоматизацијата на DevOps

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

LangChain: Агентна оркестрација за DevOps напојувани со вештачка интелигенција

LangChain е рамка со отворен код за изградба на агенти напојувани со вештачка интелигенција кои можат да извршуваат широк опсег на задачи, од обработка на податоци до преглед на код. Неговите способности за оркестрација на агенти им овозможуваат на програмерите да креираат сложени работни текови кои интегрираат повеќе модели и алатки за вештачка интелигенција. Архитектурата на LangChain е дизајнирана да биде многу модуларна и растеглива, што го прави идеален избор за изградба на прилагодени цевководи за автоматизација на DevOps.

Архитектура на LangChain

Архитектурата LangChain се состои од три главни компоненти:

  1. Агенти: Ова се основните компоненти на рамката LangChain, одговорни за извршување на специфични задачи како што се обработка на податоци, преглед на код и тестирање.
  2. Работни текови: Ова се низа задачи што ги извршуваат агентите за да постигнат одредена цел, како што е градење и распоредување на софтверска апликација.
  3. Оркестратор: Ова е компонентата која управува со работните текови, осигурувајќи дека задачите се извршуваат во правилен редослед и дека сите грешки се постапуваат соодветно.

Пример код: Креирање агент на LangChain

Еве едноставен пример за создавање агент LangChain кој врши преглед на код користејќи GPT-5.5:

увозен лангсин
од langchain.синџири увезуваат gpt5_5

# Креирајте агент GPT-5.5
агент = gpt5_5.GPT5_5Агент()

# Дефинирајте работен тек на преглед на код
работен тек = langchain. Работен тек (
    име = "код_преглед",
    задачи=[
        {
            "тип": "текст",
            "input": "Ве молиме прегледајте го следниов код",
            "output": "code_review"
        },
        {
            "тип": "текст",
            "input": "code_review",
            "output": "reviewed_code"
        }
    ]
)

# Креирајте агент LangChain кој го извршува работниот тек на преглед на кодот
агент = langchain.Agent (работен тек = работен тек, агент = агент)

# Извршете го работниот тек на преглед на кодот
result = agent.run(input="Ве молиме прегледајте го следниот код")
печатење (резултат.излез)

Овој код создава агент на LangChain кој врши преглед на код користејќи GPT-5.5. Агентот е дефиниран како работен тек кој се состои од две задачи: една што го поттикнува корисникот да обезбеди код за преглед и друга што го прегледува кодот користејќи GPT-5.5.

StackGen: Инфраструктурна конфигурација за автоматизација на DevOps

StackGen е алатка за автоматизирање на конфигурацијата на инфраструктурата, што го прави идеален избор за цевководи за автоматизација на DevOps. Неговата архитектура е дизајнирана да биде многу модуларна и растеглива, дозволувајќи им на програмерите да креираат сопствени инфраструктурни конфигурации за нивните апликации.

Архитектура на StackGen

Архитектурата StackGen се состои од три главни компоненти:

  1. Даватели: Ова се компонентите што управуваат со инфраструктурните ресурси, како што се AWS или GCP.
  2. Конфигурации: Ова се дефиниции за инфраструктурните ресурси, како што се виртуелни машини или бази на податоци.
  3. Оркестратор: Ова е компонентата која управува со конфигурациите, осигурувајќи дека инфраструктурните ресурси се креирани и ажурирани правилно.

Пример код: Креирање на конфигурација на StackGen

Еве едноставен пример за создавање на конфигурација StackGen за виртуелна машина:

користете stackgen::config;

// Дефинирајте ја конфигурацијата на виртуелната машина
нека vm_config = config:: VMConfig {
    име: "my_vm".to_string(),
    провајдер: "aws".to_string(),
    регион: "нас-запад-2".to_string(),
    пример_тип: "t2.micro".to_string(),
    image_id: "ami-abc123".to_string(),
};

// Креирај конфигурација на StackGen
нека config = config:: Config {
    име: "my_config".to_string(),
    провајдер: "aws".to_string(),
    регион: "нас-запад-2".to_string(),
    ресурси: vec![vm_config],
};

// Зачувајте ја конфигурацијата во датотека
config.save ("my_config.yaml");

Овој код создава конфигурација на StackGen за виртуелна машина со помош на гајба „stackgen“. Конфигурацијата е дефинирана како структура VMConfig, која вклучува својства како што се име, провајдер, регион, тип на пример и ID на слика.

Интегрирање на LangChain и StackGen за автоматизација на DevOps управувана од вештачка интелигенција

За да создадеме нафтоводот за автоматизација на DevOps управуван од AI, треба да ги интегрираме LangChain и StackGen. Ова вклучува создавање работен тек кој користи агенти на LangChain за извршување задачи како преглед и тестирање на кодот, и StackGen за управување со инфраструктурните ресурси.

Пример код: Интегрирање на LangChain и StackGen

Еве едноставен пример за интегрирање на LangChain и StackGen за да се создаде нафтоводот за автоматизација на DevOps управуван од AI:

увозен лангсин
од langchain.синџири увезуваат gpt5_5
увоз stackgen

# Креирајте агент GPT-5.5
агент = gpt5_5.GPT5_5Агент()

# Дефинирајте работен тек на преглед на код
работен тек = langchain. Работен тек (
    име = "код_преглед",
    задачи=[
        {
            "тип": "текст",
            "input": "Ве молиме прегледајте го следниов код",
            "output": "code_review"
        },
        {
            "тип": "текст",
            "input": "code_review",
            "output": "reviewed_code"
        }
    ]
)

# Креирајте агент LangChain кој го извршува работниот тек на преглед на кодот
агент = langchain.Agent (работен тек = работен тек, агент = агент)

# Дефинирајте ја конфигурацијата на StackGen
vm_config = stackgen.config.VMConfig {
    име: "my_vm".to_string(),
    провајдер: "aws".to_string(),
    регион: "нас-запад-2".to_string(),
    пример_тип: "t2.micro".to_string(),
    image_id: "ami-abc123".to_string(),
}

# Креирајте конфигурација на StackGen
config = stackgen.config.Config {
    име: "my_config".to_string(),
    провајдер: "aws".to_string(),
    регион: "нас-запад-2".to_string(),
    ресурси: vec![vm_config],
}

# Зачувајте ја конфигурацијата во датотека
config.save ("my_config.yaml");

# Извршете го работниот тек на преглед на кодот
result = agent.run(input="Ве молиме прегледајте го следниот код")
печатење (резултат.излез)

# Користете ја конфигурацијата StackGen за да креирате инфраструктурни ресурси
stackgen.create_resources(config)

Овој код ги интегрира LangChain и StackGen за да создаде цевковод за автоматизација на DevOps управуван од AI. Нафтоводот користи агент LangChain за да изврши преглед на код користејќи GPT-5.5 и конфигурација StackGen за управување со инфраструктурните ресурси.

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

Еве ги првите 5-10 најкористени команди/парчиња за LangChain и StackGen:

  1. langchain.Agent(workflow=workflow, agent=agent): Создава агент LangChain кој врши работен тек користејќи специфичен агент.
  2. stackgen.config.VMConfig(...): Дефинира конфигурација на виртуелна машина користејќи StackGen.
  3. langchain.Workflow(...): Дефинира работен тек користејќи LangChain.
  4. stackgen.create_resources(config): Создава инфраструктурни ресурси со помош на конфигурација на StackGen.
  5. langchain.Agent.run(input="..."): Стартувај агент на LangChain со специфичен влез.
  6. stackgen.config.save("..."): Зачувува конфигурација на StackGen во датотека.
  7. langchain.Workflow.tasks(...): Ги дефинира задачите во работниот тек на LangChain.
  8. stackgen.config.resources(...): Ги дефинира ресурсите во конфигурацијата на StackGen.
  9. langchain.Agent.agent(...): Го добива агентот поврзан со агент на LangChain.
  10. stackgen.config.provider(...): Го добива провајдерот поврзан со конфигурација на StackGen.

Визуелизација

Еве визуелизација на архитектурата LangChain и StackGen користејќи Chart.js:

{
  "тип": "бар",
  "податоци": {
    "етикети": ["LangChain", "StackGen"],
    "збирки на податоци": [
      {
        "етикета": "компоненти",
        "податоци": [3, 3],
        „Боја на позадина“: [„#4CAF50“, „#FF9800“]
      },
      {
        "етикета": "Задачи",
        "податоци": [5, 5],
        „Боја на позадина“: [„#2196F3“, „#9C27B0“]
      }
    ]
  },
  "опции": {
    "наслов": {
      „екран“: точно,
      "text": "LangChain and StackGen Architecture"
    },
    "легенда": {
      „приказ“: точно
    }
  }
}

Оваа визуелизација го прикажува бројот на компоненти и задачи во архитектурите LangChain и StackGen.

Заклучок

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


Have Questions?

Let's Talk

Contact me on LinkedIn