Įvadas
Nuolat didėjantis šiuolaikinių programinės įrangos sistemų sudėtingumas padidino incidentų dažnumą ir rimtumą, todėl aktyvus incidentų tyrimas ir sprendimas tapo svarbiu DevOps aspektu. Dirbtinis intelektas (AI) ir mašininis mokymasis (ML) tapo galingais įrankiais, padedančiais tobulinti „DevOps“ vamzdynus, leidžiančius dirbtinio intelekto pagrindu vykdomą automatizavimą ir orkestravimą, kad būtų galima aptikti ir išspręsti incidentus, kol jie nepaveiks verslo. Šiame straipsnyje mes išnagrinėsime, kaip įdiegti dirbtinio intelekto „DevOps“ vamzdynus naudojant DSPy ir „LangChain“, daugiausia dėmesio skirdami aktyviam incidentų tyrimui ir sprendimui naudojant AIOps ir RAG modelius bei integruojant su AWS „DevOps Agent“, kad būtų galima atlikti automatinį incidentų tyrimą.
DSPy ir LangChain apžvalga
DSPy yra „Python“ biblioteka, kuri suteikia paprastą ir efektyvų būdą kurti ir diegti dirbtinio intelekto „DevOps“ vamzdynus. Tai leidžia kūrėjams integruoti įvairius AI ir ML modelius, įskaitant natūralios kalbos apdorojimą (NLP), kompiuterinę viziją ir nuspėjamąją analizę, į savo „DevOps“ dujotiekius. Kita vertus, „LangChain“ yra „Python“ biblioteka, leidžianti kūrėjams kurti ir diegti didelio masto AI modelius naudojant modulinę ir keičiamo dydžio architektūrą.
Dirbdami dirbtiniu intelektu valdomus „DevOps“ vamzdynus su DSPy ir „LangChain“.
Norėdami įdiegti AI maitinamus „DevOps“ vamzdynus su DSPy ir „LangChain“, turime atlikti šiuos veiksmus:
- Duomenų rinkimas: surinkite atitinkamus duomenis iš įvairių šaltinių, pvz., žurnalų, metrikos ir konfigūracijos failų.
- Išankstinis duomenų apdorojimas: iš anksto apdorokite surinktus duomenis, kad paruoštumėte juos analizei ir modeliavimui.
- Modelių mokymas: mokykite AI ir ML modelius naudodami iš anksto apdorotus duomenis, kad aptiktumėte ir numatytų incidentus.
- Modelio diegimas: įdiekite išmokytus modelius į „DevOps“ dujotiekį naudodami DSPy ir „LangChain“.
- Incidentų tyrimas: naudokite įdiegtus modelius incidentams tirti ir pagrindinėms priežastims nustatyti.
- Incidentų sprendimas: naudokite incidentų tyrimo metu gautas įžvalgas, kad incidentus išspręstumėte aktyviai.
Kodo pavyzdys: paprasto RAG modelio įgyvendinimas su DSPy ir LangChain
Štai paprastas kodo pavyzdys, parodantis, kaip įdiegti RAG (pagrindinės priežasties analizės) modelį naudojant DSPy ir LangChain:
importuoti dspy
iš langchain importo LLMChain
# Įkelkite iš anksto apdorotus duomenis
duomenys = pd.read_csv("duomenys.csv")
# Apibrėžkite RAG modelį
rag_model = dspy.RAGModel(
input_features=["log_level", "error_message"],
output_features=["root_cause"]
)
# Treniruokite RAG modelį
rag_model.train(data)
# Įdiekite RAG modelį
llm_chain = LLMchain(
model="davinci:002",
maksimalus_ilgis = 2048
)
rag_model.deploy(llm_chain)
# Naudokite įdiegtą RAG modelį incidentams tirti
incident_data = pd.DataFrame({
"log_level": ["KLAIDA"],
"error_message": ["Kažkas ne taip"]
})
root_cause = rag_model.predict(incidento_duomenys)
spausdinti (pagrindinė_priežastis)
Šis kodo pavyzdys parodo, kaip įdiegti paprastą RAG modelį naudojant DSPy ir LangChain. RAG modelis naudoja žurnalo lygį ir klaidos pranešimą kaip įvesties funkcijas ir numato pagrindinę incidento priežastį.
5–10 dažniausiai naudojamų komandų / fragmentų
Čia yra 5–10 dažniausiai naudojamų DSPy ir LangChain komandų / fragmentų:
- `dspy.RAGModel(input_features, output_features)': apibrėžkite RAG modelį su nurodytomis įvesties ir išvesties funkcijomis.
- „dspy.RAGModel.train(data)“: mokykite RAG modelį naudodami pateiktus duomenis.
- „dspy.RAGModel.deploy(llm_chain)“: įdiekite išmokytą RAG modelį naudodami „LangChain LLMChain“.
llm_chain = LLMChain(modelis, maksimalus_ilgis): sukurkite LangChain LLMChain su nurodytu modeliu ir maksimaliu ilgiu.- „rag_model.predict(data)“: naudokite įdiegtą RAG modelį, kad nuspėtumėte pagrindinę incidento priežastį.
- „dspy.DataPreprocessor(input_data)“: apibrėžkite išankstinio duomenų apdorojimo konvejerį naudodami DSPy.
- „dspy.ModelTrainer(modelis, duomenys)“: mokykite AI arba ML modelį naudodami DSPy.
- "dspy.ModelDeployer(modelis, llm_chain)": įdiekite išmokytą modelį naudodami DSPy ir LangChain.
- „langchain.LLMChain.predict(input_data)“: modelio išvesties prognozei naudokite LangChain LLMChain.
- „dspy.RAGModel.evaluate(data)“: įvertinkite RAG modelio našumą naudodami DSPy.
Vizualizacija
Štai vizualizacijos naudojant Chart.js pavyzdys:
{
"tipas": "juosta",
"duomenys": {
"etiketės": ["A tipas incidentas", "B tipo incidentas", "C tipas incidentas"],
"duomenų rinkiniai": [
{
"label": "Pagrindinė priežastis A",
"duomenys": [10, 15, 7],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
},
{
"label": "Pagrindinė priežastis B",
"duomenys": [8, 12, 9],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
},
{
"etiketė": "Pagrindinė priežastis C",
"duomenys": [14, 18, 11],
"backgroundColor": "rgba(255, 206, 86, 0.2)",
"borderColor": "rgba(255, 206, 86, 1)",
"borderWidth": 1
}
]
},
"parinktys": {
"pavadinimas": {
"display": tiesa,
"text": "Pagrindinės priežasties analizė"
},
"svarstyklės": {
„yAxes“: [
{
"erkės": {
"beginAtZero": tiesa
}
}
]
}
}
}
Ši vizualizacija parodo skirtingų tipų incidentų pagrindinių priežasčių pasiskirstymą.
Išvada
Šiame straipsnyje mes ištyrėme, kaip įdiegti dirbtinio intelekto „DevOps“ vamzdynus naudojant DSPy ir „LangChain“, daugiausia dėmesio skirdami aktyviam incidentų tyrimui ir sprendimui naudojant AIOps ir RAG modelius bei integruojant su AWS „DevOps Agent“, kad būtų galima atlikti automatinį incidentų tyrimą. Mes parodėme paprastą kodo pavyzdį, kuris įgyvendina RAG modelį naudojant DSPy ir LangChain, ir pateikėme 5–10 dažniausiai naudojamų DSPy ir LangChain komandų / fragmentų sąrašą. Taip pat įtraukėme vizualizacijos pavyzdį naudodami Chart.js. Vykdydami šiame straipsnyje nurodytus veiksmus, kūrėjai gali sukurti ir įdiegti dirbtinio intelekto pagrindu veikiančius „DevOps“ vamzdynus, kurie aktyviai aptinka ir išsprendžia incidentus, pagerindami bendrą programinės įrangos sistemų efektyvumą ir patikimumą.