Вовед
Постојано растечката сложеност на современите софтверски системи доведе до зголемување на зачестеноста и сериозноста на инцидентите, со што проактивното истражување на инцидентот и решавањето стана критичен аспект на DevOps. Вештачката интелигенција (AI) и машинското учење (ML) се појавија како моќни алатки за подобрување на цевките на DevOps, овозможувајќи автоматизација и оркестрација управувана од вештачка интелигенција да откриваат и решаваат инциденти пред тие да влијаат на бизнисот. Во оваа статија, ќе истражиме како да ги имплементираме цевководите DevOps напојувани со вештачка интелигенција користејќи DSPy и LangChain, со фокус на проактивна истрага и решавање инциденти со помош на модели AIOps и RAG и интегрирање со AWS DevOps Agent за автоматско истражување на инциденти.
Преглед на DSPy и LangChain
DSPy е библиотека на Python која обезбедува едноставен и ефикасен начин за изградба и распоредување на цевководи DevOps напојувани со вештачка интелигенција. Тоа им овозможува на програмерите да интегрираат различни модели на вештачка интелигенција и ML, вклучувајќи обработка на природен јазик (NLP), компјутерска визија и предвидлива аналитика, во нивните нафтоводи на DevOps. LangChain, од друга страна, е библиотека на Python која им овозможува на програмерите да градат и распоредуваат модели на вештачка интелигенција од големи размери користејќи модуларна и скалабилна архитектура.
Имплементирање DevOps напојувани со AI со DSPy и LangChain
За да ги имплементираме нафтовите DevOps напојувани со вештачка интелигенција со DSPy и LangChain, треба да ги следиме овие чекори:
- Собирање податоци: собирајте релевантни податоци од различни извори, како што се дневници, метрика и датотеки за конфигурација.
- Претходна обработка на податоци: Претходно обработете ги собраните податоци за да ги подготвите за анализа и моделирање.
- Обука за модели: Обучете ги моделите со вештачка интелигенција и ML користејќи ги претходно обработените податоци за откривање и предвидување инциденти.
- Распоредување на моделот: распоредете ги обучените модели во нафтоводот DevOps користејќи DSPy и LangChain.
- Истрага на инциденти: Користете ги распоредените модели за да истражите инциденти и да ги идентификувате основните причини.
- Резолуција за инциденти: Користете ги сознанијата добиени од истрагата за инцидентот за проактивно да ги решите инцидентите.
Пример за код: Имплементирање на едноставен модел RAG со DSPy и LangChain
Еве едноставен пример за код кој покажува како да се имплементира RAG (анализа на коренови причини) модел користејќи DSPy и LangChain:
увоз dspy
од langchain увоз LLMCchain
# Вчитајте ги претходно обработените податоци
data = pd.read_csv ("data.csv")
# Дефинирајте го моделот RAG
rag_model = dspy.RAGModel(
input_features=[„log_level“, „error_message“],
output_features=["root_cause"]
)
# Обучете го моделот RAG
rag_model.train(податоци)
# Распоредете го моделот RAG
llm_chain = LLMCchain(
model="davinci:002",
max_length=2048
)
rag_model.deploy(llm_chain)
# Користете го распоредениот модел RAG за да истражите инциденти
инцидент_податоци = pd.DataFrame({
"log_level": ["ГРЕШКА"],
"error_message": ["Нешто тргна наопаку"]
})
root_cause = rag_model.predict(податоци за инцидентот)
печатење (root_cause)
Овој пример за код покажува како да се имплементира едноставен модел RAG користејќи DSPy и LangChain. Моделот RAG го зема нивото на евиденција и пораката за грешка како влезни карактеристики и ја предвидува основната причина за инцидентот.
Топ 5-10 најкористени команди/парчиња
Еве ги првите 5-10 најкористени команди/парчиња за DSPy и LangChain:
dspy.RAGModel(input_features, output_features): Дефинирајте RAG модел со наведени влезни и излезни карактеристики.dspy.RAGModel.train(data): Обучете RAG модел користејќи ги дадените податоци.dspy.RAGModel.deploy(llm_chain): распоредете обучен RAG модел користејќи LangChain LLMChain.llm_chain = LLMCchain(модел, max_length): Создадете LangChain LLMCchain со одреден модел и максимална должина.rag_model.predict(data): Користете распореден RAG модел за да ја предвидите основната причина за инцидентот.dspy.DataPreprocessor(input_data): Дефинирајте цевка за претпроцесирање податоци користејќи DSPy.dspy.ModelTrainer(модел, податоци): Обучете модел со AI или ML користејќи DSPy.dspy.ModelDeployer(model, llm_chain): распоредете обучен модел користејќи DSPy и LangChain.langchain.LLMChain.predict(input_data): Користете LangChain LLMCchain за да го предвидите излезот на моделот.dspy.RAGModel.evaluate(data): Оценете ги перформансите на моделот RAG користејќи DSPy.
Визуелизација
Еве пример за визуелизација користејќи Chart.js:
{
"тип": "бар",
"податоци": {
"етикети": ["Инцидент Тип А", "Инцидент Тип Б", "Инцидент Тип В"],
"збирки на податоци": [
{
"етикета": "Основната причина А",
"податоци": [10, 15, 7],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
„Ширина на границата“: 1
},
{
"етикета": "Основната причина Б",
"податоци": [8, 12, 9],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
„Ширина на границата“: 1
},
{
"етикета": "Основната причина Ц",
"податоци": [14, 18, 11],
"backgroundColor": "rgba(255, 206, 86, 0.2)",
"borderColor": "rgba(255, 206, 86, 1)",
„Ширина на границата“: 1
}
]
},
"опции": {
"наслов": {
„екран“: точно,
"text": "Анализа на основната причина"
},
"вага": {
„yOxes“: [
{
"крлежи": {
"beginAtZero": точно
}
}
]
}
}
}
Оваа визуелизација ја демонстрира дистрибуцијата на основните причини за различни типови инциденти.
Заклучок
Во оваа статија, истраживме како да ги имплементираме нафтовите DevOps напојувани со вештачка интелигенција користејќи DSPy и LangChain, со фокус на проактивно истражување и решавање инциденти со помош на модели AIOps и RAG и интегрирање со AWS DevOps Agent за автоматско истражување на инциденти. Прикажавме едноставен пример за код кој имплементира RAG модел користејќи DSPy и LangChain, и обезбедивме листа на топ 5-10 најкористени команди/парчиња за DSPy и LangChain. Вклучивме и пример за визуелизација користејќи Chart.js. Следејќи ги чекорите наведени во овој напис, програмерите можат да изградат и распоредуваат нафтоводи DevOps напојувани со вештачка интелигенција кои проактивно откриваат и решаваат инциденти, подобрувајќи ја севкупната ефикасност и доверливост на нивните софтверски системи.