AI-toega DevOpsi torujuhtmete organiseerimine DSPy ja LangChainiga intsidentide ennetavaks uurimiseks ja lahendamiseks | B4N1

AI-toega DevOpsi torujuhtmete organiseerimine DSPy ja LangChainiga intsidentide ennetavaks uurimiseks ja lahendamiseks

6 months ago · b4n1 Read time: 3 min

Sissejuhatus

Kaasaegsete tarkvarasüsteemide üha kasvav keerukus on toonud kaasa intsidentide sageduse ja tõsiduse suurenemise, muutes juhtumite ennetava uurimise ja lahendamise DevOpsi kriitiliseks aspektiks. Tehisintellekt (AI) ja masinõpe (ML) on kujunenud võimsateks tööriistadeks DevOpsi torujuhtmete täiustamiseks, võimaldades AI-põhisel automatiseerimisel ja orkestreerimisel tuvastada ja lahendada intsidente enne, kui need mõjutavad ettevõtet. Selles artiklis uurime, kuidas rakendada tehisintellekti toega DevOpsi torujuhtmeid DSPy ja LangChaini abil, keskendudes intsidentide ennetavale uurimisele ja lahendamisele, kasutades AIOps ja RAG mudeleid, ning integreerides AWS DevOps Agentiga automatiseeritud juhtumite uurimiseks.

DSPy ja LangChaini ülevaade

DSPy on Pythoni teek, mis pakub lihtsat ja tõhusat viisi AI-toega DevOpsi torujuhtmete loomiseks ja juurutamiseks. See võimaldab arendajatel integreerida oma DevOpsi konveieritesse erinevaid AI- ja ML-mudeleid, sealhulgas loomuliku keele töötlust (NLP), arvutinägemist ja ennustavat analüütikat. LangChain seevastu on Pythoni teek, mis võimaldab arendajatel modulaarset ja skaleeritavat arhitektuuri kasutades ehitada ja juurutada suuremahulisi AI mudeleid.

AI-toega DevOpsi torujuhtmete juurutamine DSPy ja LangChainiga

AI-toega DevOpsi torujuhtmete juurutamiseks DSPy ja LangChainiga peame järgima järgmisi samme.

  1. Andmete kogumine: koguge asjakohaseid andmeid erinevatest allikatest, nagu logid, mõõdikud ja konfiguratsioonifailid.
  2. Andmete eeltöötlus: kogutud andmete eeltöötlemine, et need analüüsiks ja modelleerimiseks ette valmistada.
  3. Mudelite väljaõpe: treenige AI- ja ML-mudeleid, kasutades eeltöödeldud andmeid, et tuvastada ja ennustada juhtumeid.
  4. Mudelite juurutamine: juurutage koolitatud mudelid DSPy ja LangChaini abil DevOpsi torujuhtmesse.
  5. Intsidentide uurimine: kasutage intsidentide uurimiseks ja algpõhjuste tuvastamiseks juurutatud mudeleid.
  6. Intsidentide lahendamine: kasutage vahejuhtumite ennetavaks lahendamiseks intsidendi uurimise käigus saadud teadmisi.

Koodinäide: lihtsa RAG-mudeli rakendamine DSPy ja LangChainiga

Siin on lihtne koodinäide, mis näitab, kuidas rakendada DSPy ja LangChaini abil RAG-i (juurpõhjuste analüüsi) mudelit:

import dspy
langchaini impordist LLMChain

# Laadige eeltöödeldud andmed
andmed = pd.read_csv("data.csv")

# Määratlege RAG-mudel
rag_model = dspy.RAGModel(
    input_features=["logi_tase", "error_message"],
    output_features=["juurpõhjus"]
)

# Treeni RAG mudelit
rag_model.train(data)

# Rakendage RAG-mudel
llm_chain = LLMchain(
    model="davinci:002",
    max_length = 2048
)
rag_model.deploy(llm_chain)

# Kasutage vahejuhtumite uurimiseks juurutatud RAG-mudelit
juhtumi_andmed = pd.DataFrame({
    "log_level": ["VIGA"],
    "error_message": ["Midagi läks valesti"]
})
juur_põhjus = rag_mudel.prognoos(intsidendi_andmed)
print (juurpõhjus)

See koodinäide näitab, kuidas rakendada lihtsat RAG-mudelit DSPy ja LangChaini abil. RAG-mudel võtab sisendfunktsioonidena logitaseme ja veateate ning ennustab intsidendi algpõhjuse.

5–10 enimkasutatavat käsku/lõigu

Siin on DSPy ja LangChaini 5–10 enim kasutatud käsku/juppi:

  1. "dspy.RAGModel(input_features, output_features)": määratlege RAG-mudel koos määratud sisend- ja väljundfunktsioonidega.
  2. "dspy.RAGModel.train(data)": treenige RAG-mudelit, kasutades esitatud andmeid.
  3. "dspy.RAGModel.deploy(llm_chain)": juurutage koolitatud RAG-mudel, kasutades LangChaini LLMChaini.
  4. llm_chain = LLMChain(mudel, max_length): looge määratud mudeli ja maksimaalse pikkusega LangChain LLMChain.
  5. "rag_model.predict(data)": kasutage intsidendi algpõhjuse ennustamiseks juurutatud RAG-mudelit.
  6. "dspy.DataPreprocessor(input_data)": määrake andmete eeltöötluse konveier DSPy abil.
  7. "dspy.ModelTrainer(mudel, andmed)": treenige AI- või ML-mudelit DSPy abil.
  8. dspy.ModelDeployer(mudel, llm_chain): juurutage koolitatud mudel DSPy ja LangChaini abil.
  9. "langchain.LLMChain.predict(input_data)": kasutage mudeli väljundi ennustamiseks LangChaini LLMChaini.
  10. "dspy.RAGModel.evaluate(data)": hinnake RAG-mudeli toimivust DSPy abil.

Visualiseerimine

Siin on näide Chart.js-i kasutavast visualiseerimisest.

{
  "type": "bar",
  "andmed": {
    "sildid": ["A-tüüpi intsident", "B-tüüpi juhtum", "C-tüüpi juhtum"],
    "andmestikud": [
      {
        "label": "Põhjus A",
        "andmed": [10, 15, 7],
        "backgroundColor": "rgba(255, 99, 132, 0,2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "borderWidth": 1
      },
      {
        "label": "Põhjus B",
        "andmed": [8, 12, 9],
        "backgroundColor": "rgba(54, 162, 235, 0,2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "borderWidth": 1
      },
      {
        "label": "juurpõhjus C",
        "andmed": [14, 18, 11],
        "backgroundColor": "rgba(255, 206, 86, 0.2)",
        "borderColor": "rgba(255, 206, 86, 1)",
        "borderWidth": 1
      }
    ]
  },
  "valikud": {
    "pealkiri": {
      "ekraan": tõsi,
      "text": "Põhjuste analüüs"
    },
    "kaalud": {
      "yAxes": [
        {
          "puugid": {
            "beginAtZero": tõsi
          }
        }
      ]
    }
  }
}

See visualiseerimine näitab erinevate juhtumitüüpide algpõhjuste jaotust.

Järeldus

Selles artiklis uurisime, kuidas rakendada tehisintellekti toega DevOpsi torujuhtmeid DSPy ja LangChaini abil, keskendudes intsidentide ennetavale uurimisele ja lahendamisele, kasutades AIOps ja RAG mudeleid, ning integreerides AWS DevOps Agentiga automatiseeritud juhtumite uurimiseks. Näitasime lihtsat koodinäidet, mis rakendab RAG-mudelit DSPy ja LangChaini abil, ning esitasime DSPy ja LangChaini 5–10 enimkasutatava käsu/jupi loendi. Lisasime ka Chart.js-i abil visualiseerimise näite. Järgides selles artiklis kirjeldatud samme, saavad arendajad luua ja juurutada AI-toega DevOpsi torujuhtmeid, mis tuvastavad ja lahendavad intsidente ennetavalt, parandades oma tarkvarasüsteemide üldist tõhusust ja töökindlust.


Have Questions?

Let's Talk

Contact me on LinkedIn