Johdanto
Nykyaikaisten ohjelmistojärjestelmien jatkuvasti kasvava monimutkaisuus on johtanut tapausten tiheyden ja vakavuuden lisääntymiseen, mikä tekee ennakoivasta tapausten tutkimisesta ja ratkaisemisesta DevOpsin kriittisen osan. Tekoäly (AI) ja koneoppiminen (ML) ovat nousseet tehokkaiksi työkaluiksi kehittämään DevOps-putkistoja, mikä mahdollistaa tekoälyn ohjaaman automaation ja orkestroinnin havaita ja ratkaista tapaukset ennen kuin ne vaikuttavat liiketoimintaan. Tässä artikkelissa tutkimme, miten AI-pohjaisia DevOps-putkilinjoja voidaan ottaa käyttöön DSPy:n ja LangChainin avulla keskittyen ennakoivaan tapausten tutkimiseen ja ratkaisemiseen käyttämällä AIOps- ja RAG-malleja ja integroitumalla AWS DevOps Agentiin automaattista tapausten tutkimista varten.
Yleiskatsaus DSPy:stä ja LangChainista
DSPy on Python-kirjasto, joka tarjoaa yksinkertaisen ja tehokkaan tavan rakentaa ja ottaa käyttöön tekoälypohjaisia DevOps-putkistoja. Sen avulla kehittäjät voivat integroida erilaisia tekoäly- ja ML-malleja, mukaan lukien luonnollisen kielen käsittelyn (NLP), tietokonenäön ja ennakoivan analytiikan, DevOps-putkistoonsa. LangChain puolestaan on Python-kirjasto, jonka avulla kehittäjät voivat rakentaa ja ottaa käyttöön suuria tekoälymalleja modulaarisen ja skaalautuvan arkkitehtuurin avulla.
Tekoälykäyttöisten DevOps-putkien käyttöönotto DSPyllä ja LangChainilla
Tekoälykäyttöisten DevOps-putkien toteuttamiseksi DSPy:n ja LangChainin kanssa meidän on noudatettava näitä vaiheita:
- Tiedonkeruu: Kerää asiaankuuluvia tietoja eri lähteistä, kuten lokeista, mittareista ja määritystiedostoista.
- Datan esikäsittely: Esikäsittele kerätyt tiedot valmistellaksesi sen analysointia ja mallintamista varten.
- Model Training: Harjoittele AI- ja ML-malleja käyttämällä esikäsiteltyä dataa tapausten havaitsemiseen ja ennustamiseen.
- Mallin käyttöönotto: Ota koulutetut mallit käyttöön DevOps-putkistossa DSPy:n ja LangChainin avulla.
- Tapahtumien tutkinta: Käytä käytettyjä malleja tapausten tutkimiseen ja perimmäisten syiden tunnistamiseen.
- Tapahtumien ratkaiseminen: Käytä tapausten tutkinnasta saatuja oivalluksia tapausten ratkaisemiseen ennakoivasti.
Koodiesimerkki: Yksinkertaisen RAG-mallin käyttöönotto DSPyllä ja LangChainilla
Tässä on yksinkertainen koodiesimerkki, joka osoittaa, kuinka RAG (Root Cause Analysis) -malli otetaan käyttöön DSPy:n ja LangChainin avulla:
tuonti dspy
langchain import LLMChainista
# Lataa esikäsitellyt tiedot
data = pd.read_csv("data.csv")
# Määrittele RAG-malli
rag_model = dspy.RAGModel(
input_features=["log_level", "error_message"],
output_features=["perussyy"]
)
# Harjoittele RAG-mallia
rag_model.train(data)
# Ota RAG-malli käyttöön
llm_chain = LLMChain(
model="davinci:002",
max_length = 2048
)
rag_model.deploy(llm_chain)
# Käytä käyttöön otettua RAG-mallia tapausten tutkimiseen
incident_data = pd.DataFrame({
"log_level": ["VIRHE"],
"error_message": ["Jotain meni pieleen"]
})
root_cause = rag_malli.ennustus(tapahtuman_tiedot)
tulosta (perussyy)
Tämä koodiesimerkki osoittaa, kuinka yksinkertainen RAG-malli toteutetaan DSPy:n ja LangChainin avulla. RAG-malli ottaa lokitason ja virheilmoituksen syötteinä ja ennustaa tapahtuman perimmäisen syyn.
5–10 eniten käytettyä komentoa/katkelmaa
Tässä on 5–10 eniten käytettyä komentoa/katkelmaa DSPylle ja LangChainille:
dspy.RAGModel(input_features, output_features): Määritä RAG-malli määritetyillä tulo- ja lähtöominaisuuksilla.- "dspy.RAGModel.train(data)": Kouluta RAG-malli toimitettujen tietojen avulla.
dspy.RAGModel.deploy(llm_chain): Ota käyttöön koulutettu RAG-malli LangChain LLMChainilla.llm_chain = LLMChain(malli, max_length): Luo LangChain LLMChain määritetyllä mallilla ja enimmäispituudella.- "rag_model.predict(data)": Käytä otettua RAG-mallia ennustaaksesi tapahtuman perimmäinen syy.
dspy.DataPreprocessor(input_data): Määritä tietojen esikäsittelyputki DSPy:n avulla.dspy.ModelTrainer(malli, data): Harjoittele AI- tai ML-malli DSPy:n avulla.dspy.ModelDeployer(malli, llm_chain): Ota käyttöön koulutettu malli DSPy:n ja LangChainin avulla.- "langchain.LLMChain.predict(input_data)": Käytä LangChain LLMChain -ketjua mallin tulosteen ennustamiseen.
- "dspy.RAGModel.evaluate(data)": Arvioi RAG-mallin suorituskyky DSPy:n avulla.
Visualisointi
Tässä on esimerkki visualisoinnista Chart.js:n avulla:
{
"tyyppi": "palkki",
"data": {
"labels": ["Incident Type A", "Incident Type B", "Incident Type C"],
"tietojoukot": [
{
"label": "Perussyy A",
"data": [10, 15, 7],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
},
{
"label": "Perussyy B",
"data": [8, 12, 9],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
},
{
"label": "Perussyy C",
"data": [14, 18, 11],
"backgroundColor": "rgba(255, 206, 86, 0.2)",
"borderColor": "rgba(255, 206, 86, 1)",
"borderWidth": 1
}
]
},
"vaihtoehdot": {
"otsikko": {
"näyttö": totta,
"text": "Perussyyanalyysi"
},
"vaa'at": {
"yAxes": [
{
"ticks": {
"beginAtZero": totta
}
}
]
}
}
}
Tämä visualisointi havainnollistaa eri tapaustyyppien perimmäisten syiden jakautumista.
Johtopäätös
Tässä artikkelissa tutkimme, kuinka toteuttaa tekoälyllä toimivia DevOps-putkistoja DSPy:n ja LangChainin avulla, keskittyen ennakoivaan tapausten tutkimiseen ja ratkaisemiseen AIOps- ja RAG-malleja käyttäen sekä integrointi AWS DevOps Agentiin automaattista tapausten tutkintaa varten. Esitimme yksinkertaisen koodiesimerkin, joka toteuttaa RAG-mallin DSPy:n ja LangChainin avulla, ja toimitimme luettelon 5–10 eniten käytetystä komennosta/katkelmasta DSPylle ja LangChainille. Lisäsimme myös visualisointiesimerkin Chart.js:n avulla. Noudattamalla tässä artikkelissa kuvattuja vaiheita kehittäjät voivat rakentaa ja ottaa käyttöön tekoälypohjaisia DevOps-putkia, jotka havaitsevat ja ratkaisevat tapaukset ennakoivasti ja parantavat ohjelmistojärjestelmiensä yleistä tehokkuutta ja luotettavuutta.