Uvod
Vedno večja kompleksnost sodobnih programskih sistemov je povzročila povečanje pogostosti in resnosti incidentov, zaradi česar sta proaktivna preiskava in reševanje incidentov kritičen vidik DevOps. Umetna inteligenca (AI) in strojno učenje (ML) sta se pojavila kot zmogljiva orodja za izboljšanje cevovodov DevOps, ki omogočata avtomatizacijo in orkestracijo, ki temelji na AI, za odkrivanje in razreševanje incidentov, preden ti vplivajo na poslovanje. V tem članku bomo raziskali, kako implementirati cevovode DevOps, ki jih poganja umetna inteligenca, z uporabo DSPy in LangChain, s poudarkom na proaktivni preiskavi in reševanju incidentov z uporabo modelov AIOps in RAG ter integraciji z AWS DevOps Agent za avtomatizirano preiskavo incidentov.
Pregled DSPy in LangChain
DSPy je knjižnica Python, ki ponuja preprost in učinkovit način za gradnjo in uvajanje cevovodov DevOps, ki jih poganja AI. Razvijalcem omogoča integracijo različnih modelov AI in ML, vključno z obdelavo naravnega jezika (NLP), računalniškim vidom in napovedno analitiko, v svoje cevovode DevOps. Po drugi strani pa je LangChain knjižnica Python, ki razvijalcem omogoča izdelavo in uvajanje obsežnih modelov umetne inteligence z uporabo modularne in razširljive arhitekture.
Implementacija cevovodov DevOps, ki jih poganja umetna inteligenca, z DSPy in LangChain
Za implementacijo cevovodov DevOps, ki jih poganja umetna inteligenca, z DSPy in LangChain, moramo slediti tem korakom:
- Zbiranje podatkov: Zberite ustrezne podatke iz različnih virov, kot so dnevniki, meritve in konfiguracijske datoteke.
- Predobdelava podatkov: Predobdelajte zbrane podatke, da jih pripravite za analizo in modeliranje.
- Model Training: Usposabljajte modele AI in ML z uporabo predhodno obdelanih podatkov za odkrivanje in predvidevanje incidentov.
- Uvedba modela: uvedite usposobljene modele v cevovod DevOps z uporabo DSPy in LangChain.
- Preiskava incidentov: Uporabite razporejene modele za raziskovanje incidentov in odkrivanje temeljnih vzrokov.
- Reševanje incidentov: Uporabite vpoglede, pridobljene s preiskavo incidenta, za proaktivno reševanje incidentov.
Primer kode: Implementacija preprostega modela RAG z DSPy in LangChain
Tukaj je preprost primer kode, ki prikazuje, kako implementirati model RAG (Root Cause Analysis) z uporabo DSPy in LangChain:
uvozi dspy
iz langchain import LLMChain
# Naložite vnaprej obdelane podatke
podatki = pd.read_csv("data.csv")
# Definirajte model RAG
rag_model = dspy.RAGModel(
input_features=["log_level", "error_message"],
output_features=["root_cause"]
)
# Usposobite model RAG
rag_model.train(podatki)
# Namestite model RAG
llm_veriga = LLMChain(
model="davinci:002",
največja_dolžina=2048
)
rag_model.deploy(llm_chain)
# Uporabite razporejeni model RAG za raziskovanje incidentov
incident_data = pd.DataFrame({
"log_level": ["NAPAKA"],
"error_message": ["Nekaj je šlo narobe"]
})
root_cause = rag_model.predict(incident_data)
natisni (osnovni_vzrok)
Ta primer kode prikazuje, kako implementirati preprost model RAG z uporabo DSPy in LangChain. Model RAG vzame raven dnevnika in sporočilo o napaki kot vhodni funkciji in napove glavni vzrok incidenta.
Top 5-10 najbolj uporabljenih ukazov/izrezkov
Tukaj je 5-10 najbolj uporabljenih ukazov/delčkov za DSPy in LangChain:
dspy.RAGModel(input_features, output_features): Definirajte model RAG z določenimi vhodnimi in izhodnimi funkcijami.dspy.RAGModel.train(data): Usposobi model RAG z uporabo posredovanih podatkov.dspy.RAGModel.deploy(llm_chain): Razmestite usposobljeni model RAG z uporabo LangChain LLMChain.llm_chain = LLMChain(model, max_length): ustvarite LangChain LLMChain z določenim modelom in največjo dolžino.rag_model.predict(data): Uporabite razporejen model RAG za predvidevanje glavnega vzroka incidenta.dspy.DataPreprocessor(input_data): Definirajte cevovod za predprocesiranje podatkov z uporabo DSPy.dspy.ModelTrainer(model, data): Usposobite model AI ali ML z uporabo DSPy.dspy.ModelDeployer(model, llm_chain): Razmestite usposobljen model z uporabo DSPy in LangChain.langchain.LLMChain.predict(input_data): Uporabite LangChain LLMChain za predvidevanje izhoda modela.dspy.RAGModel.evaluate(data): Ocenite zmogljivost modela RAG z uporabo DSPy.
Vizualizacija
Tukaj je primer vizualizacije z uporabo Chart.js:
{
"vrsta": "bar",
"podatki": {
"oznake": ["Incident vrste A", "Incident vrste B", "Incident vrste C"],
"nabori podatkov": [
{
"label": "Osnovni vzrok A",
"podatki": [10, 15, 7],
"Barva ozadja": "rgba(255, 99, 132, 0,2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
},
{
"label": "Osnovni vzrok B",
"podatki": [8, 12, 9],
"Barva ozadja": "rgba(54, 162, 235, 0,2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
},
{
"label": "Osnovni vzrok C",
"podatki": [14, 18, 11],
"Barva ozadja": "rgba(255, 206, 86, 0,2)",
"borderColor": "rgba(255, 206, 86, 1)",
"borderWidth": 1
}
]
},
"možnosti": {
"naslov": {
"display": res,
"text": "Analiza temeljnega vzroka"
},
"tehtnice": {
"yOsi": [
{
"ticks": {
"beginAtZero": res
}
}
]
}
}
}
Ta vizualizacija prikazuje porazdelitev temeljnih vzrokov za različne vrste incidentov.
Zaključek
V tem članku smo raziskali, kako implementirati cevovode DevOps, ki jih poganja umetna inteligenca, z uporabo DSPy in LangChain, s poudarkom na proaktivni preiskavi in reševanju incidentov z uporabo modelov AIOps in RAG ter integraciji z AWS DevOps Agent za avtomatizirano preiskavo incidentov. Prikazali smo preprost primer kode, ki implementira model RAG z uporabo DSPy in LangChain, ter podali seznam 5–10 najpogosteje uporabljenih ukazov/delčkov za DSPy in LangChain. Vključili smo tudi primer vizualizacije z uporabo Chart.js. Z upoštevanjem korakov, opisanih v tem članku, lahko razvijalci zgradijo in uvedejo cevovode DevOps, ki jih poganja AI, ki proaktivno zaznavajo in rešujejo incidente, s čimer izboljšajo splošno učinkovitost in zanesljivost svojih programskih sistemov.