Dirbtinio intelekto valdomos programinės įrangos kūrimo su „LangChain“ ir „StackGen“ organizavimas | B4N1

Dirbtinio intelekto valdomos programinės įrangos kūrimo su „LangChain“ ir „StackGen“ organizavimas

6 months ago · b4n1 Read time: 5 min

Įvadas

Programinės įrangos kūrimo aplinka sparčiai vystosi, o dirbtinis intelektas ir automatika atlieka vis svarbesnius vaidmenis DevOps procese. Dvi pagrindinės technologijos, skatinančios šią transformaciją, yra „LangChain“ ir „StackGen“. „LangChain“ yra atvirojo kodo sistema, skirta dirbtinio intelekto agentams kurti, o „StackGen“ yra infrastruktūros konfigūravimo automatizavimo įrankis. Šiame straipsnyje išnagrinėsime, kaip šias dvi technologijas galima naudoti kartu kuriant dirbtinio intelekto pagrįstą „DevOps“ automatizavimo vamzdyną, panaudojant GPT-5.5 galią, kad būtų galima išmaniai peržiūrėti ir teikti pasiūlymus.

DevOps automatizavimo iššūkis

„DevOps“ automatizavimas yra sudėtinga užduotis, kuriai reikia integruoti kelis įrankius ir technologijas, kad būtų supaprastintas programinės įrangos kūrimas, testavimas ir diegimas. Tradiciniai metodai dažnai remiasi rankiniais procesais, dėl kurių gali atsirasti klaidų, vėlavimų ir neefektyvumo. AI ir automatizavimo augimas yra daug žadantis sprendimas, tačiau tam reikia giliai suprasti pagrindines technologijas ir jų integraciją.

LangChain: Agent Orchestration for AI Powered DevOps

„LangChain“ yra atvirojo kodo sistema, skirta dirbtiniu intelektu pagrįstų agentų kūrimui, kurie gali atlikti daugybę užduočių – nuo duomenų apdorojimo iki kodo peržiūros. Jo agentų orkestravimo galimybės leidžia kūrėjams sukurti sudėtingas darbo eigas, kuriose integruoti keli AI modeliai ir įrankiai. „LangChain“ architektūra sukurta taip, kad būtų labai modulinė ir išplečiama, todėl tai yra idealus pasirinkimas kuriant pasirinktinius „DevOps“ automatizavimo vamzdynus.

LangChain architektūra

LangChain architektūra susideda iš trijų pagrindinių komponentų:

  1. Agentai: tai pagrindiniai „LangChain“ sistemos komponentai, atsakingi už konkrečių užduočių, pvz., duomenų apdorojimo, kodo peržiūros ir testavimo, atlikimą.
  2. Darbo eigos: tai užduočių sekos, kurias agentai atlieka siekdami konkretaus tikslo, pvz., sukuria ir įdiegia programinę įrangą.
  3. Orchestrator: tai komponentas, valdantis darbo eigas ir užtikrinantis, kad užduotys būtų vykdomos teisinga tvarka ir tinkamai tvarkomos visos klaidos.

Kodo pavyzdys: LangChain agento kūrimas

Štai paprastas pavyzdys, kaip sukurti „LangChain“ agentą, kuris atlieka kodo peržiūrą naudojant GPT-5.5:

importuoti langchain
iš langchain.chains import gpt5_5

# Sukurkite GPT-5.5 agentą
agentas = gpt5_5.GPT5_5Agent()

# Apibrėžkite kodo peržiūros darbo eigą
darbo eiga = langchain.Workflow(
    name="code_review",
    užduotys=[
        {
            "tipas": "tekstas",
            "input": "Peržiūrėkite šį kodą",
            "output": "code_review"
        },
        {
            "tipas": "tekstas",
            "input": "code_review",
            "output": "reviewed_code"
        }
    ]
)

# Sukurkite „LangChain“ agentą, kuris atlieka kodo peržiūros darbo eigą
agentas = langchain.Agent(darbo eiga=darbo eiga, agentas=agentas)

# Vykdykite kodo peržiūros darbo eigą
rezultatas = agent.run(input="Peržiūrėkite šį kodą")
spausdinti (rezultatas. išvestis)

Šis kodas sukuria „LangChain“ agentą, kuris atlieka kodo peržiūrą naudodamas GPT-5.5. Agentas apibrėžiamas kaip darbo eiga, kurią sudaro dvi užduotys: viena, kuri ragina vartotoją pateikti kodą peržiūrai, ir kita, kuri peržiūri kodą naudojant GPT-5.5.

StackGen: infrastruktūros konfigūracija, skirta „DevOps“ automatizavimui

„StackGen“ yra infrastruktūros konfigūravimo automatizavimo įrankis, todėl jis yra idealus pasirinkimas „DevOps“ automatizavimo vamzdynams. Jo architektūra sukurta taip, kad būtų labai modulinė ir išplečiama, todėl kūrėjai gali kurti pasirinktines infrastruktūros konfigūracijas savo programoms.

StackGen architektūra

StackGen architektūra susideda iš trijų pagrindinių komponentų:

  1. Teikėjai: tai komponentai, valdantys infrastruktūros išteklius, pvz., AWS arba GCP.
  2. Konfigūracijos: tai infrastruktūros išteklių, pvz., virtualių mašinų ar duomenų bazių, apibrėžimai.
  3. Orchestrator: tai komponentas, valdantis konfigūracijas ir užtikrinantis, kad infrastruktūros ištekliai būtų sukurti ir atnaujinami teisingai.

Kodo pavyzdys: StackGen konfigūracijos kūrimas

Štai paprastas virtualios mašinos StackGen konfigūracijos kūrimo pavyzdys:

naudoti stackgen::config;

// Apibrėžkite virtualios mašinos konfigūraciją
tegul vm_config = config::VMConfig {
    pavadinimas: "my_vm".to_string(),
    teikėjas: "aws".to_string(),
    regionas: "us-west-2".to_string(),
    instance_type: "t2.micro".to_string(),
    image_id: "ami-abc123".to_string(),
};

// Sukurkite „StackGen“ konfigūraciją
tegul config = config::Config {
    pavadinimas: "my_config".to_string(),
    teikėjas: "aws".to_string(),
    regionas: "us-west-2".to_string(),
    ištekliai: vec![vm_config],
};

// Išsaugokite konfigūraciją į failą
config.save("mano_konfig.yaml");

Šis kodas sukuria „StackGen“ konfigūraciją virtualiai mašinai naudojant „stackgen“ dėžę. Konfigūracija apibrėžiama kaip „VMConfig“ struktūra, kuri apima tokias ypatybes kaip pavadinimas, teikėjas, regionas, egzemplioriaus tipas ir vaizdo ID.

„LangChain“ ir „StackGen“ integravimas dirbtiniu intelektu pagrįstai „DevOps“ automatizavimui

Norėdami sukurti DI valdomą „DevOps“ automatizavimo dujotiekį, turime integruoti „LangChain“ ir „StackGen“. Tam reikia sukurti darbo eigą, kuri naudoja LangChain agentus tokioms užduotims kaip kodo peržiūra ir testavimas, o StackGen infrastruktūros ištekliams valdyti.

Kodo pavyzdys: LangChain ir StackGen integravimas

Štai paprastas pavyzdys, kaip integruoti „LangChain“ ir „StackGen“, kad būtų sukurtas dirbtinio intelekto valdomas „DevOps“ automatizavimo vamzdynas:

importuoti langchain
iš langchain.chains import gpt5_5
importuoti stackgen

# Sukurkite GPT-5.5 agentą
agentas = gpt5_5.GPT5_5Agent()

# Apibrėžkite kodo peržiūros darbo eigą
darbo eiga = langchain.Workflow(
    name="code_review",
    užduotys=[
        {
            "tipas": "tekstas",
            "input": "Peržiūrėkite šį kodą",
            "output": "code_review"
        },
        {
            "tipas": "tekstas",
            "input": "code_review",
            "output": "reviewed_code"
        }
    ]
)

# Sukurkite „LangChain“ agentą, kuris atlieka kodo peržiūros darbo eigą
agentas = langchain.Agent(darbo eiga=darbo eiga, agentas=agentas)

# Apibrėžkite StackGen konfigūraciją
vm_config = stackgen.config.VMConfig {
    pavadinimas: "my_vm".to_string(),
    teikėjas: "aws".to_string(),
    regionas: "us-west-2".to_string(),
    instance_type: "t2.micro".to_string(),
    image_id: "ami-abc123".to_string(),
}

# Sukurkite „StackGen“ konfigūraciją
config = stackgen.config.Config {
    pavadinimas: "my_config".to_string(),
    teikėjas: "aws".to_string(),
    regionas: "us-west-2".to_string(),
    ištekliai: vec![vm_config],
}

# Išsaugokite konfigūraciją į failą
config.save("mano_konfig.yaml");

# Vykdykite kodo peržiūros darbo eigą
rezultatas = agent.run(input="Peržiūrėkite šį kodą")
spausdinti (rezultatas. išvestis)

# Norėdami sukurti infrastruktūros išteklius, naudokite „StackGen“ konfigūraciją
stackgen.create_resources(config)

Šis kodas integruoja „LangChain“ ir „StackGen“, kad būtų sukurtas dirbtinio intelekto valdomas „DevOps“ automatizavimo vamzdynas. Dujotiekis naudoja „LangChain“ agentą, kad atliktų kodo peržiūrą naudojant GPT-5.5, ir „StackGen“ konfigūraciją infrastruktūros ištekliams valdyti.

5–10 dažniausiai naudojamų komandų / fragmentų

Čia yra 5–10 dažniausiai naudojamų „LangChain“ ir „StackGen“ komandų / fragmentų:

  1. „langchain.Agent(workflow=workflow, agent=agent)“: sukuria „LangChain“ agentą, kuris atlieka darbo eigą naudodamas konkretų agentą.
  2. „stackgen.config.VMConfig(...)“: apibrėžia virtualios mašinos konfigūraciją naudojant „StackGen“.
  3. „langchain.Workflow(...)“: apibrėžia darbo eigą naudojant „LangChain“.
  4. stackgen.create_resources(config): sukuria infrastruktūros išteklius naudojant StackGen konfigūraciją.
  5. langchain.Agent.run(input="..."): paleidžia LangChain agentą su konkrečia įvestimi.
  6. stackgen.config.save("..."): išsaugo StackGen konfigūraciją faile.
  7. „langchain.Workflow.tasks(...)“: apibrėžia „LangChain“ darbo eigos užduotis.
  8. stackgen.config.resources(...): apibrėžia išteklius StackGen konfigūracijoje.
  9. „langchain.Agent.agent(...)“: gauna agentą, susietą su „LangChain“ agentu.
  10. „stackgen.config.provider(...)“: gauna tiekėją, susietą su „StackGen“ konfigūracija.

Vizualizacija

Štai „LangChain“ ir „StackGen“ architektūros vizualizacija naudojant Chart.js:

{
  "tipas": "juosta",
  "duomenys": {
    "labels": ["LangChain", "StackGen"],
    "duomenų rinkiniai": [
      {
        "label": "Komponentai",
        "duomenys": [3, 3],
        "backgroundColor": ["#4CAF50", "#FF9800"]
      },
      {
        "label": "Užduotys",
        "duomenys": [5, 5],
        "backgroundColor": ["#2196F3", "#9C27B0"]
      }
    ]
  },
  "parinktys": {
    "pavadinimas": {
      "display": tiesa,
      "text": "LangChain ir StackGen architektūra"
    },
    "legenda": {
      ekranas: tiesa
    }
  }
}

Ši vizualizacija rodo komponentų ir užduočių skaičių LangChain ir StackGen architektūrose.

Išvada

Šiame straipsnyje mes ištyrėme, kaip „LangChain“ ir „StackGen“ gali būti naudojami kartu kuriant AI valdomą „DevOps“ automatizavimo vamzdyną. Matėme, kaip „LangChain“ agentų orkestravimo galimybės gali būti naudojamos atliekant tokias užduotis kaip kodo peržiūra ir testavimas, ir kaip „StackGen“ infrastruktūros konfigūravimo galimybes galima naudoti infrastruktūros ištekliams valdyti. Taip pat matėme, kaip šias dvi technologijas galima integruoti, kad būtų sukurtas vientisas „DevOps“ automatizavimo vamzdynas.


Have Questions?

Let's Talk

Contact me on LinkedIn