Autonominės infrastruktūros sutvarkymas su patobulintomis AI agento galimybėmis: techninis vadovas, kaip pagreitinti „DevOps“ naudojant DSPy ir „LangChain“ | B4N1

Autonominės infrastruktūros sutvarkymas su patobulintomis AI agento galimybėmis: techninis vadovas, kaip pagreitinti „DevOps“ naudojant DSPy ir „LangChain“

6 months ago · b4n1 Read time: 5 min

Įvadas

Šiandienos sparčiai besivystančioje skaitmeninėje aplinkoje veiksmingo ir keičiamo dydžio infrastruktūros valdymo poreikis dar niekada nebuvo toks aktualus. Debesis pagrįstų paslaugų paklausai ir toliau augant, organizacijos kreipiasi į savarankiškus infrastruktūros sprendimus, siekdamos supaprastinti savo „DevOps“ procesus. Šiame straipsnyje mes gilinsimės į dirbtinio intelekto infrastruktūros orkestravimo pasaulį, tyrinėsime DSPy ir LangChain – dviejų pažangiausių įrankių, kurie keičia mūsų infrastruktūros valdymo ir automatizavimo būdus, galimybes.

DevOps automatizavimo iššūkis

„DevOps“ automatizavimas yra sudėtinga užduotis, kuriai reikia giliai išmanyti kelias technologijas, nuo konteinerių talpinimo ir orkestravimo iki stebėjimo ir registravimo. Augant programų ir paslaugų skaičiui, didėja infrastruktūros sudėtingumas, todėl ją vis sunkiau valdyti ir prižiūrėti. Tradiciniai „DevOps“ automatizavimo metodai dažnai priklauso nuo rankinio scenarijų sudarymo ir konfigūravimo, todėl gali atsirasti klaidų, neatitikimų ir saugos spragų.

AI varomos infrastruktūros orkestravimo iškilimas

Dirbtinio intelekto valdomas infrastruktūros orkestravimas yra žaidimo keitiklis DevOps automatizavimo pasaulyje. Naudodami mašininį mokymąsi ir natūralios kalbos apdorojimą, AI agentai gali automatizuoti sudėtingas užduotis, numatyti problemas ir užkirsti jai kelią bei optimizuoti išteklių naudojimą. DSPy ir LangChain yra du pagrindiniai įrankiai šioje erdvėje, siūlantys daugybę funkcijų ir galimybių, kurios gali padėti organizacijoms paspartinti savo DevOps procesus.

DSPy: Python pagrindu sukurta AI orkestravimo sistema

DSPy yra „Python“ pagrindu sukurta AI orkestravimo sistema, leidžianti kūrėjams kurti ir diegti dirbtiniu intelektu paremtus infrastruktūros automatizavimo sprendimus. Naudodami DSPy galite sukurti pasirinktinius AI agentus, kurie gali sąveikauti su jūsų infrastruktūra, automatizuoti užduotis ir priimti sprendimus, pagrįstus realaus laiko duomenimis. DSPy modulinė architektūra ir didelė iš anksto sukurtų komponentų biblioteka yra idealus pasirinkimas didelio masto infrastruktūros valdymui.

Pagrindinės DSPy savybės

  • Modulinė architektūra: DSPy modulinė architektūra leidžia kurti ir įdiegti pasirinktinius AI agentus, kurie gali sąveikauti su jūsų infrastruktūra.
  • Plati biblioteka: didelė DSPy iš anksto sukurtų komponentų biblioteka leidžia lengvai automatizuoti sudėtingas užduotis ir integruoti su populiariais „DevOps“ įrankiais.
  • Realiojo laiko duomenų apdorojimas: DSPy realiojo laiko duomenų apdorojimo galimybės leidžia AI agentams priimti sprendimus, pagrįstus naujausiais duomenimis.

Paprasto DSPy kodo pavyzdys

Štai paprastas DSPy kodo bloko, kuris automatizuoja naujo konteinerio diegimą, pavyzdys:

importuoti dspy

# Apibrėžkite AI agentą
agentas = dspy.Agent()

# Apibrėžkite konteinerio diegimo užduotį
užduotis = dspy.Task(
    name="Įdiegti sudėtinį rodinį",
    description="Įdiegti naują konteinerį gamybos aplinkoje",
    inputs=["container_image", "container_port"],
    outputs=["container_id"]
)

# Apibrėžkite konteinerio diegimo scenarijų
scenarijus = dspy.Script(
    name="Įdiegti sudėtinio rodinio scenarijų",
    description="Įdiegti naują konteinerį gamybos aplinkoje",
    kodas="""
    #!/bin/bash
    docker run -d -p {container_port}:{container_port} {container_image}
    """
)

# Pridėkite scenarijų prie užduoties
task.attach_script(script)

# Apibrėžkite AI agento darbo eigą
darbo eiga = dspy.Workflow(
    name="konteinerio diegimo darbo eiga",
    description="Automatizuoti naujo konteinerio diegimą",
    užduotis=[užduotis]
)

# Apibrėžkite AI agento konfigūraciją
config = dspy.Config(
    name="konteinerio diegimo konfigūracija",
    description="Konfigūruoti AI agentą konteinerio diegimui",
    inputs=["container_image", "container_port"]
)

# Sukurkite AI agentą
agent.create(darbo eiga, konfigūracija)

Šis kodo blokas apibrėžia paprastą AI agentą, kuris automatizuoja naujo konteinerio diegimą gamybos aplinkoje. Agentas naudoja iš anksto sukurtą sudėtinio rodinio diegimo scenarijų, kad diegtų sudėtinį rodinį, o darbo eiga sukonfigūruota priimti konteinerio vaizdo ir prievado įvesties parametrus.

LangChain: rūdžių pagrindu sukurta dirbtinio intelekto orkestravimo sistema

„LangChain“ yra rūdžių pagrindu sukurta AI orkestravimo sistema, leidžianti kūrėjams kurti ir diegti DI paremtus infrastruktūros automatizavimo sprendimus. Naudodami LangChain galite sukurti pasirinktinius AI agentus, kurie gali sąveikauti su jūsų infrastruktūra, automatizuoti užduotis ir priimti sprendimus, pagrįstus realaus laiko duomenimis. Modulinė „LangChain“ architektūra ir didelė iš anksto sukurtų komponentų biblioteka yra idealus pasirinkimas didelio masto infrastruktūros valdymui.

Pagrindinės „LangChain“ savybės

  • Modulinė architektūra: „LangChain“ modulinė architektūra leidžia kurti ir įdiegti pasirinktinius AI agentus, kurie gali sąveikauti su jūsų infrastruktūra.
  • Plati biblioteka: didelė „LangChain“ iš anksto sukurtų komponentų biblioteka leidžia lengvai automatizuoti sudėtingas užduotis ir integruoti su populiariais „DevOps“ įrankiais.
  • Realiojo laiko duomenų apdorojimas: „LangChain“ realiojo laiko duomenų apdorojimo galimybės leidžia dirbtinio intelekto agentams priimti sprendimus, pagrįstus naujausiais duomenimis.

Paprasto LangChain kodo pavyzdys

Štai paprastas LangChain kodo bloko, kuris automatizuoja naujo konteinerio diegimą, pavyzdys:

naudokite langchain::{Agentas, užduotis, scenarijus, darbo eiga, konfigūracija};

// Apibrėžkite AI agentą
tegul agentas = Agentas::naujas();

// Apibrėžkite konteinerio diegimo užduotį
tegul užduotis = Užduotis::nauja(
    „Įdiegti konteinerį“,
    „Įdiegti naują konteinerį gamybos aplinkoje“,
    vec!["container_image", "container_port"],
    vec!["container_id"]
);

// Apibrėžkite konteinerio diegimo scenarijų
tegul scenarijus = scenarijus::new(
    „Įdiegti sudėtinio rodinio scenarijų“,
    „Įdiegti naują konteinerį gamybos aplinkoje“,
    r#"
    #!/bin/bash
    docker run -d -p {container_port}:{container_port} {container_image}
    "#,
    vec!["container_image", "container_port"]
);

// Pridėkite scenarijų prie užduoties
task.attach_script(script);

// Apibrėžkite AI agento darbo eigą
let workflow = Darbo eiga::new(
    „Sudėtinio rodinio diegimo darbo eiga“,
    „Automatizuoti naujo konteinerio diegimą“,
    vec![užduotis]
);

// Apibrėžkite AI agento konfigūraciją
tegul config = Config::new(
    „Sudėtinio rodinio diegimo konfigūracija“,
    „Konfigūruoti AI agentą konteinerio diegimui“,
    vec!["container_image", "container_port"]
);

// Sukurkite AI agentą
agent.create(darbo eiga, konfigūracija);

Šis kodo blokas apibrėžia paprastą AI agentą, kuris automatizuoja naujo konteinerio diegimą gamybos aplinkoje. Agentas naudoja iš anksto sukurtą sudėtinio rodinio diegimo scenarijų, kad diegtų sudėtinį rodinį, o darbo eiga sukonfigūruota priimti konteinerio vaizdo ir prievado įvesties parametrus.

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

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

DSPy

  1. „dspy.Agent().create(workflow, config)“: sukuria naują AI agentą su nurodyta darbo eiga ir konfigūracija.
  2. „dspy.Task().attach_script(script)“: prideda scenarijų prie užduoties AI agento darbo eigoje.
  3. dspy.Script().new(pavadinimas, aprašymas, kodas): sukuria naują scenarijų su nurodytu pavadinimu, aprašu ir kodu.
  4. dspy.Workflow().new(pavadinimas, aprašymas, užduotys): sukuria naują darbo eigą su nurodytu pavadinimu, aprašu ir užduotimis.
  5. dspy.Config().new(pavadinimas, aprašymas, įvestis): sukuria naują konfigūraciją su nurodytu pavadinimu, aprašu ir įvesties parametrais.

LangChain

  1. „langchain::Agent::new()“: sukuria naują AI agentą.
  2. langchain::Task::new(pavadinimas, aprašymas, įėjimai, išėjimai): sukuria naują užduotį su nurodytu pavadinimu, aprašymu, įvestimis ir išvestimis.
  3. langchain::Script::new(pavadinimas, aprašymas, kodas, įvestis): sukuria naują scenarijų su nurodytu pavadinimu, aprašymu, kodu ir įvesties parametrais.
  4. langchain::Workflow::new(pavadinimas, aprašymas, užduotys): sukuria naują darbo eigą su nurodytu pavadinimu, aprašu ir užduotimis.
  5. langchain::Config::new(pavadinimas, aprašymas, įvestis): sukuria naują konfigūraciją su nurodytu pavadinimu, aprašymu ir įvesties parametrais.

Vizualizacija

Štai AI agento darbo eigos vizualizacija naudojant Chart.js:

{
  "tipas": "juosta",
  "duomenys": {
    "etiketės": ["konteinerio diegimas", "1 užduotis", "2 užduotis", "3 užduotis"],
    "duomenų rinkiniai": [
      {
        "label": "Darbo eiga",
        "duomenys": [10, 5, 3, 2],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      }
    ]
  },
  "parinktys": {
    "pavadinimas": {
      "display": tiesa,
      "text": "AI agento darbo eiga"
    },
    "svarstyklės": {
      „yAxes“: [
        {
          "display": tiesa,
          "scaleLabel": {
            "display": tiesa,
            "labelString": "Užduotys"
          }
        }
      ]
    }
  }
}

Ši vizualizacija rodo AI agento darbo eigą, kiekviena užduotis pavaizduota juostele. X ašis žymi užduotis, o y ašis – užduočių skaičių.

Išvada

Šiame straipsnyje mes ištyrėme dirbtinio intelekto infrastruktūros orkestravimo pasaulį, daugiausia dėmesio skirdami DSPy ir LangChain – dviems pagrindiniams įrankiams šioje srityje. Matėme, kaip šie įrankiai gali būti naudojami automatizuoti sudėtingas užduotis, numatyti problemas ir užkirsti jai kelią bei optimizuoti išteklių panaudojimą. DSPy ir LangChain su savo moduline architektūra ir didelėmis iš anksto sukurtų komponentų bibliotekomis yra idealus pasirinkimas didelio masto infrastruktūros valdymui. Nesvarbu, ar esate patyręs „DevOps“ profesionalas, ar tik pradedate veiklą, šie įrankiai tikrai padės paspartinti „DevOps“ procesus ir pakelti infrastruktūros valdymą į kitą lygį.


Have Questions?

Let's Talk

Contact me on LinkedIn