Sukurkite Kiro agentą | B4N1

Sukurkite Kiro agentą

7 months ago · b4n1 Read time: 3 min

Atsparių programinės įrangos sistemų kūrimas naudojant dirbtinio intelekto „DevOps“ automatizavimą

Įvadas

Šiandienos sparčiai besivystančioje skaitmeninėje aplinkoje programinės įrangos sistemos tampa vis sudėtingesnės ir tarpusavyje susijusios, todėl jos yra labiau pažeidžiamos dėl gedimų ir prastovų. Siekdamos sumažinti šią riziką, organizacijos imasi dirbtinio intelekto „DevOps“ automatizavimo, kad sukurtų atsparias programinės įrangos sistemas, galinčias prisitaikyti prie besikeičiančios aplinkos ir sumažinti gedimų poveikį. Šiame straipsnyje išnagrinėsime „ZeroOps“ strategijų koncepciją ir tai, kaip „Kiro AI“ veikiantys agentai ir „LangChain“ gali būti panaudoti siekiant pagerinti „DevOps“ automatizavimą, pasitelkiant programinės įrangos apibrėžtą infrastruktūrą ir AI pagrįstą sprendimų priėmimą.

Kas yra ZeroOps?

„ZeroOps“ yra „DevOps“ strategija, kuria siekiama pašalinti žmogaus įsikišimo poreikį diegiant ir valdant programinės įrangos sistemas. Tai pasiekiama naudojant AI varomus automatizavimo įrankius, kurie gali aptikti, diagnozuoti ir išspręsti problemas be žmogaus įsikišimo. „ZeroOps“ yra pagrįstas nuolatinio integravimo ir nuolatinio diegimo (CI/CD) principais, kai kodo pakeitimai yra automatiškai kuriami, testuojami ir diegiami gamybinėse aplinkose.

Kiro dirbtinio intelekto valdomi agentai

„Kiro“ yra DI veikiantis agentas, kurį galima naudoti automatizuoti įvairias „DevOps“ užduotis, tokias kaip stebėjimas, registravimas ir atsakas į incidentus. „Kiro“ naudoja mašininio mokymosi algoritmus, kad analizuotų sistemos duomenis ir nuspėtų galimas problemas prieš joms atsirandant. Tai leidžia imtis aktyvių priemonių, kad būtų išvengta gedimų ir kuo mažiau prastovų.

LangChain

„LangChain“ yra „Python“ biblioteka, kuri suteikia pagrindą pokalbio AI programoms kurti. Jis gali būti naudojamas kuriant pokalbių robotus, balso padėjėjus ir kitas pokalbio sąsajas, kurios gali bendrauti su vartotojais ir kitomis sistemomis. „LangChain“ ypač naudinga kuriant „ZeroOps“ sistemas, nes ją galima naudoti kuriant pokalbių sąsajas, kurios gali teikti grįžtamąjį ryšį realiuoju laiku ir patarimus kūrėjams ir operatoriams.

ZeroOps diegimas naudojant Kiro ir LangChain

Norėdami įdiegti ZeroOps su Kiro ir LangChain, turėsime atlikti šiuos veiksmus:

  1. Nustatykite „Kiro“: įdiekite „Kiro“ savo sistemoje ir sukonfigūruokite, kad galėtumėte stebėti programos žurnalus ir metriką.
  2. Sukurkite „LangChain“ sąsają: naudokite „LangChain“, kad sukurtumėte pokalbio sąsają, kuri galėtų sąveikauti su „Kiro“ ir teikti kūrėjams bei operatoriams realiu laiku grįžtamąjį ryšį ir patarimus.
  3. Integruokite „Kiro“ su „LangChain“: naudokite „LangChain“ API, kad integruotumėte „Kiro“ su savo pokalbio sąsaja.
  4. Įdiegti gamybinėje versijoje: įdiekite „ZeroOps“ sistemą gamybinėje versijoje ir išbandykite jos funkcionalumą.

Kodo pavyzdys

Štai paprastas pavyzdys, kaip galite naudoti Kiro ir LangChain automatizuoti DevOps užduotį:

importo kiro
iš langchain importo LLMS


kiro_agentas = kiro.Agent()

# Sukurkite „LangChain LLMS“.
llms = LLMS(
    modelis = "davinci",
    temperatūra = 0,7,
    max_tokens=2048,
    stop=["\n", "\n\n"],
)

# Apibrėžkite funkciją, skirtą „DevOps“ užduočiai automatizuoti
def automate_task():
    # Naudokite „Kiro“, kad stebėtumėte programų žurnalus ir metrikas
    žurnalai = kiro_agent.get_logs()
    metrika = kiro_agent.get_metrics()

    # Norėdami analizuoti žurnalus ir metrikas, naudokite „LangChain“.
    analizė = llms.run(
        input={"logs": žurnalai, "metrika": metrika},
        užduotis = "analizuoti",
    )

    # Imkitės veiksmų remiantis analize
    if analizė["rezultatas"] == "problema":
        # Imkitės taisomųjų veiksmų
        kiro_agent.take_action()

# Vykdykite funkciją
automate_task()

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

Štai keletas dažniausiai naudojamų Kiro ir LangChain komandų ir fragmentų:

  1. Kiro: kiro_agent.get_logs(): gaukite programų žurnalus iš Kiro.
  2. Kiro: kiro_agent.get_metrics(): gaukite programos metriką iš Kiro.
  3. LangChain: llms.run(input={"logs": logs, "metrics": metrics}, task="analyze"): analizuokite žurnalus ir metriką naudodami LangChain.
  4. Kiro: „kiro_agent.take_action()“: atlikite taisomuosius veiksmus, pagrįstus analize.
  5. LangChain: llms.generate_response(input={"user": "hello"}, task="response"): generuokite atsakymą į vartotojo įvestį.
  6. Kiro: kiro_agent.get_status(): gaukite programos būseną.
  7. LangChain: llms.run(input={"logs": logs, "metrics": metrics}, task="predict"): numatykite galimas problemas naudojant LangChain.
  8. Kiro: kiro_agent.set_config(config={"log_level": "debug"}): nustatykite Kiro konfigūraciją.
  9. LangChain: llms.run(input={"user": "help"}, task="help"): teikti pagalbą vartotojui.
  10. Kiro: kiro_agent.get_logs(limit=100): gaukite 100 paskutinių programų žurnalų iš Kiro.

Vizualizacija

Štai paprastas ZeroOps sistemos vizualizavimas naudojant Chart.js:

{
  "tipas": "juosta",
  "duomenys": {
    "etiketės": ["Stebėjimas", "Analizė", "Veiksmas"],
    "duomenų rinkiniai": [
      {
        "label": "Laikas",
        "duomenys": [10, 20, 30],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "parinktys": {
    "pavadinimas": {
      "display": tiesa,
      "text": "ZeroOps System"
    },
    "svarstyklės": {
      „yAxes“: [
        {
          "erkės": {
            "beginAtZero": tiesa
          }
        }
      ]
    }
  }
}

Ši vizualizacija rodo laiką, kurio reikia kiekvienam ZeroOps sistemos etapui, nuo stebėjimo iki veiksmo.

Išvada

Šiame straipsnyje išnagrinėjome „ZeroOps“ strategijų koncepciją ir tai, kaip „Kiro AI“ veikiantys agentai ir „LangChain“ gali būti panaudoti siekiant pagerinti „DevOps“ automatizavimą, pasitelkiant programinės įrangos apibrėžtą infrastruktūrą ir AI pagrįstą sprendimų priėmimą. Taip pat pateikėme paprastą kodo pavyzdį ir ZeroOps sistemos vizualizaciją. Įdiegusios „ZeroOps“, organizacijos gali sukurti atsparias programinės įrangos sistemas, kurios gali prisitaikyti prie besikeičiančios aplinkos ir sumažinti gedimų poveikį.


Have Questions?

Let's Talk

Contact me on LinkedIn