DI agentų, skirtų „DevOps“ automatizavimui, organizavimas: „LangChain“ ir „DSPy“ metodas | B4N1

DI agentų, skirtų „DevOps“ automatizavimui, organizavimas: „LangChain“ ir „DSPy“ metodas

6 months ago · b4n1 Read time: 4 min

Įvadas

„DevOps“ sritis pastaraisiais metais patyrė didelių pokyčių – dirbtinio intelekto (AI) ir mašininio mokymosi (ML) integracija tampa vis ryškesnė. Viena iš pagrindinių sričių, kurioje AI daro didelį poveikį, yra automatizavimo sritis. Naudodamos AI agentus, organizacijos gali supaprastinti programinės įrangos kūrimo darbo eigą, sumažinti rankinių klaidų skaičių ir pagerinti bendrą efektyvumą.

Šiame straipsnyje mes gilinsimės į dirbtinio intelekto valdomo DevOps automatizavimo pasaulį, daugiausia dėmesio skirdami LangChain ir DSPy sistemoms. Išnagrinėsime, kaip šiuos įrankius galima naudoti kuriant aktyvias problemų sprendimo sistemas ir automatizuojant programinės įrangos kūrimo darbo eigą. Be to, pateiksime praktinį pavyzdį, kaip integruoti didelių kalbų modelius (LLM) į savo „DevOps“ dujotiekį.

Kas yra LangChain ir DSPy?

Prieš pasinerdami į AI valdomo „DevOps“ automatizavimo detales, trumpai pažvelkime į „LangChain“ ir „DSPy“ sistemas.

LangChain

„LangChain“ yra atvirojo kodo sistema, leidžianti kūrėjams kurti pokalbio AI programas naudojant didelių kalbų modelius (LLM). Tai suteikia paprastą ir intuityvią API sąveikai su LLM, leidžiančią kūrėjams kurti pritaikytas pokalbių sąsajas savo programoms.

„LangChain“ palaiko daugybę LLM, įskaitant populiarius modelius, tokius kaip LLaMA, BERT ir RoBERTa. Jame taip pat yra daugybė įrankių, skirtų tiksliai suderinti ir pritaikyti LLM, kad jie atitiktų konkrečius naudojimo atvejus.

DSPy

DSPy yra Python biblioteka, kuri suteikia paprastą ir efektyvų būdą integruoti AI modelius į savo DevOps dujotiekį. Jis palaiko daugybę dirbtinio intelekto sistemų, įskaitant „LangChain“, ir suteikia daugybę įrankių, skirtų dirbtinio intelekto pagrįstoms darbo eigoms automatizuoti.

DSPy sukurtas taip, kad veiktų sklandžiai su populiariais „DevOps“ įrankiais, tokiais kaip „Jenkins“, „GitLab“ ir „Docker“, todėl tai yra idealus pasirinkimas organizacijoms, norinčioms integruoti dirbtinį intelektą į esamą „DevOps“ infrastruktūrą.

DI agentų, skirtų „DevOps“ automatizavimui, organizavimas

Dabar, kai turime trumpą „LangChain“ ir „DSPy“ apžvalgą, panagrinėkime, kaip šias sistemas galima naudoti kuriant AI agentus „DevOps“ automatizavimui.

Aktyvus problemos sprendimas

Vienas iš pagrindinių dirbtiniu intelektu pagrįsto „DevOps“ automatizavimo pranašumų yra galimybė aktyviai išspręsti problemas, kol jos netampa didelėmis problemomis. „LangChain“ ir „DSPy“ gali būti naudojami kuriant pasirinktines pokalbių sąsajas, kurios sąveikauja su LLM, kad nustatytų galimas problemas ir pateiktų sprendimo rekomendacijas.

Štai paprastas pavyzdys, kaip tai gali veikti:

importuoti langchain
iš langchain.chat_models importuoti LLaMA

# Sukurkite „LangChain“ pokalbių modelį
chat_model = LLaMA()

# Apibrėžkite funkciją, skirtą sąveikai su pokalbių modeliu
def interact_with_chat_model(prompt):
    atsakymas = chat_model.run(prompt)
    grąžinti atsakymą

# Apibrėžkite galimų problemų nustatymo funkciją
def Identity_issues(kodas):
    prompt = f"Nustatykite galimas problemas šiame kode: {code}"
    atsakymas = interact_with_chat_model(prompt)
    grąžinti atsakymą

# Apibrėžkite funkciją, kad pateiktumėte rezoliucijos rekomendacijas
def teikti_rekomendacijos(problemos):
    prompt = f"Pateikite rekomendacijas, kaip išspręsti šias problemas: {issues}"
    atsakymas = interact_with_chat_model(prompt)
    grąžinti atsakymą

# Naudojimo pavyzdys
kodas = """
def add(x, y):
    grąžinti x + y
"""
problemos = identifikuoti_problemas(kodas)
rekomendacijos = pateikti_rekomendacijas(problemos)
spausdinti (rekomendacijos)

Šiame pavyzdyje apibrėžiame paprastą funkciją „interact_with_chat_model“, kuri sąveikauja su „LangChain“ pokalbių modeliu, kad pateiktų atsakymą į nurodytą raginimą. Tada apibrėžiame dvi papildomas funkcijas „identify_issues“ ir „provide_recommendations“, kurios naudoja pokalbių modelį, kad nustatytų galimas problemas tam tikro pavyzdinio kodo ir pateiktų rekomendacijas dėl sprendimo.

Programinės įrangos kūrimo darbo eigos automatizavimas

„LangChain“ ir „DSPy“ taip pat gali būti naudojami programinės įrangos kūrimo darbo eigoms automatizuoti integruojant AI modelius į esamą „DevOps“ dujotiekį.

Štai pavyzdys, kaip tai gali veikti:

importuoti dspy
iš dspy importo darbo eigos

# Apibrėžkite DSPy darbo eigą
darbo eiga = Darbo eiga()

# Apibrėžkite užduotį, kad paleistumėte kodo analizės įrankį
def run_code_analysis(kodas):
    # Paleiskite kodo analizės įrankį, kad nustatytumėte galimas problemas
    problemos = []
    # ...
    grąžinimo problemos

# Apibrėžkite užduotį, kad pateiktumėte sprendimo rekomendacijas
def teikti_rekomendacijos(problemos):
    # Naudokite LangChain pokalbių modelį, kad pateiktumėte rekomendacijas
    prompt = f"Pateikite rekomendacijas, kaip išspręsti šias problemas: {issues}"
    atsakymas = langchain.chat_model.run(prompt)
    grąžinti atsakymą

# Apibrėžkite kodo diegimo užduotį
def deploy_code(kodas):
    # Įdiekite kodą į gamybos aplinką
    # ...

# Apibrėžkite darbo eigą
workflow.add_task(run_code_analysis)
workflow.add_task(provide_recommendations)
workflow.add_task(deploy_code)

# Vykdykite darbo eigą
workflow.run()

Šiame pavyzdyje apibrėžiame paprastą DSPy darbo eigą, kurią sudaro trys užduotys: kodo analizės įrankio paleidimas, sprendimo rekomendacijų teikimas ir kodo diegimas. Tada apibrėžiame darbo eigą įtraukdami kiekvieną užduotį ir ją paleisdami.

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

Štai keletas dažniausiai naudojamų „LangChain“ ir „DSPy“ komandų ir fragmentų:

LangChain

  • langchain.chat_models.LLaMA(): sukurkite LangChain pokalbių modelį naudodami LLaMA modelį.
  • langchain.chat_model.run(prompt): paleiskite pokalbio modelį naudodami nurodytą raginimą.
  • "langchain.chat_model.interact_with(prompt)": sąveikaukite su pokalbio modeliu naudodami nurodytą raginimą.

DSPy

  • dspy.Workflow(): sukurkite DSPy darbo eigą.
  • workflow.add_task(task): pridėkite užduotį į darbo eigą.
  • workflow.run(): paleiskite darbo eigą.

Vizualizacija

Štai paprastas darbo eigos vizualizavimas naudojant Chart.js:

{
  "tipas": "juosta",
  "duomenys": {
    "etiketės": ["Kodo analizė", "Rekomendacijos", "Įdiegimas"],
    "duomenų rinkiniai": [
      {
        "label": "Darbo eiga",
        "duomenys": [10, 20, 30],
        "backgroundColor": [
          "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
      }
    ]
  },
  "parinktys": {
    "pavadinimas": {
      "display": tiesa,
      "text": "Darbo eiga"
    },
    "svarstyklės": {
      „yAxes“: [
        {
          "erkės": {
            "beginAtZero": tiesa
          }
        }
      ]
    }
  }
}

Ši vizualizacija rodo paprastą juostinę diagramą, vaizduojančią darbo eigą, su trimis juostomis, vaizduojančiomis kodo analizę, rekomendacijas ir diegimo užduotis.

Išvada

Šiame straipsnyje mes ištyrėme dirbtinio intelekto valdomo „DevOps“ automatizavimo pasaulį naudodami „LangChain“ ir „DSPy“. Matėme, kaip šias sistemas galima naudoti kuriant aktyvias problemų sprendimo sistemas ir automatizuojant programinės įrangos kūrimo darbo eigą. Taip pat pateikėme praktinių pavyzdžių, kaip integruoti LLM į „DevOps“ dujotiekį ir vizualizuoti darbo eigą naudojant Chart.js.

Išnaudodamos AI ir automatizavimo galias, organizacijos gali supaprastinti programinės įrangos kūrimo darbo eigą, sumažinti rankinių klaidų skaičių ir pagerinti bendrą efektyvumą. Nesvarbu, ar esate „DevOps“ inžinierius, programinės įrangos kūrėjas ar verslo lyderis, „LangChain“ ir „DSPy“ yra galingi įrankiai, galintys padėti pasiekti savo tikslus.


Have Questions?

Let's Talk

Contact me on LinkedIn