Въведение
Постоянно нарастващата сложност на съвременните софтуерни системи доведе до увеличаване на честотата и сериозността на инцидентите, което прави проактивното разследване и разрешаване на инциденти критичен аспект на DevOps. Изкуственият интелект (AI) и машинното обучение (ML) се очертаха като мощни инструменти за подобряване на DevOps тръбопроводите, позволяващи управлявана от AI автоматизация и оркестрация за откриване и разрешаване на инциденти, преди те да повлияят на бизнеса. В тази статия ще проучим как да внедрим базирани на AI DevOps тръбопроводи с помощта на DSPy и LangChain, с фокус върху проактивно разследване и разрешаване на инциденти с помощта на AIOps и RAG модели и интегриране с AWS DevOps Agent за автоматизирано разследване на инциденти.
Преглед на DSPy и LangChain
DSPy е библиотека на Python, която предоставя лесен и ефективен начин за изграждане и внедряване на DevOps тръбопроводи, захранвани от AI. Той позволява на разработчиците да интегрират различни AI и ML модели, включително обработка на естествен език (NLP), компютърно зрение и прогнозни анализи, в своите DevOps тръбопроводи. LangChain, от друга страна, е библиотека на Python, която позволява на разработчиците да изграждат и внедряват широкомащабни AI модели, използвайки модулна и мащабируема архитектура.
Внедряване на захранвани от AI DevOps тръбопроводи с DSPy и LangChain
За да внедрим базирани на изкуствен интелект DevOps тръбопроводи с DSPy и LangChain, трябва да изпълним следните стъпки:
- Събиране на данни: Съберете подходящи данни от различни източници, като регистрационни файлове, показатели и конфигурационни файлове.
- Предварителна обработка на данни: Предварително обработете събраните данни, за да ги подготвите за анализ и моделиране.
- Обучение на модели: Обучете AI и ML модели, като използвате предварително обработените данни за откриване и прогнозиране на инциденти.
- Внедряване на модела: Внедрете обучените модели в конвейера на DevOps с помощта на DSPy и LangChain.
- Разследване на инциденти: Използвайте разгърнатите модели за разследване на инциденти и идентифициране на първопричините.
- Разрешаване на инциденти: Използвайте прозренията, получени от разследване на инциденти, за проактивно разрешаване на инциденти.
Пример за код: Внедряване на прост RAG модел с DSPy и LangChain
Ето един прост пример за код, който демонстрира как да внедрите RAG (анализ на първопричината) модел с помощта на DSPy и LangChain:
импортиране на dspy
от langchain import LLMChain
# Заредете предварително обработените данни
данни = pd.read_csv("data.csv")
# Дефинирайте RAG модела
rag_model = dspy.RAGModel(
input_features=["log_level", "error_message"],
output_features=["основна_причина"]
)
# Обучете RAG модела
rag_model.train(данни)
# Разположете RAG модела
llm_chain = LLMChain(
model="davinci:002",
максимална_дължина=2048
)
rag_model.deploy(llm_chain)
# Използвайте разгърнатия RAG модел за разследване на инциденти
инцидент_данни = pd.DataFrame({
"log_level": ["ГРЕШКА"],
"error_message": ["Нещо се обърка"]
})
root_cause = rag_model.predict(incident_data)
печат (основна_причина)
Този пример на код демонстрира как да внедрите прост 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 = LLMChain(model, max_length): Създайте LangChain LLMChain с определен модел и максимална дължина.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 LLMChain за прогнозиране на изхода на модел.dspy.RAGModel.evaluate(data): Оценете производителността на RAG модел с помощта на DSPy.
Визуализация
Ето пример за визуализация с помощта на Chart.js:
{
"тип": "лента",
"данни": {
"етикети": ["Инцидент Тип A", "Инцидент Тип B", "Инцидент Тип C"],
"набори от данни": [
{
"label": "Първопричина A",
"данни": [10, 15, 7],
"backgroundColor": "rgba(255, 99, 132, 0.2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
},
{
"label": "Първопричина Б",
"данни": [8, 12, 9],
"backgroundColor": "rgba(54, 162, 235, 0.2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
},
{
"label": "Първопричина C",
"данни": [14, 18, 11],
"backgroundColor": "rgba(255, 206, 86, 0.2)",
"borderColor": "rgba(255, 206, 86, 1)",
"borderWidth": 1
}
]
},
"опции": {
"заглавие": {
"дисплей": вярно,
"text": "Анализ на първопричината"
},
"везни": {
"yAxes": [
{
"кърлежи": {
"beginAtZero": вярно
}
}
]
}
}
}
Тази визуализация демонстрира разпределението на първопричините за различни видове инциденти.
Заключение
В тази статия проучихме как да внедрим базирани на изкуствен интелект DevOps тръбопроводи с помощта на DSPy и LangChain, с фокус върху проактивно разследване и разрешаване на инциденти с помощта на AIOps и RAG модели и интегриране с AWS DevOps Agent за автоматизирано разследване на инциденти. Демонстрирахме прост пример на код, който имплементира RAG модел с помощта на DSPy и LangChain, и предоставихме списък с топ 5-10 най-използвани команди/фрагменти за DSPy и LangChain. Включихме и пример за визуализация с помощта на Chart.js. Като следват стъпките, описани в тази статия, разработчиците могат да изграждат и внедряват DevOps тръбопроводи, задвижвани от AI, които откриват и разрешават инциденти проактивно, подобрявайки цялостната ефективност и надеждност на техните софтуерни системи.