Введение
Постоянно растущая сложность современных программных систем привела к увеличению частоты и серьезности инцидентов, что сделало упреждающее расследование и разрешение инцидентов важнейшим аспектом DevOps. Искусственный интеллект (ИИ) и машинное обучение (МО) стали мощными инструментами для улучшения конвейеров DevOps, позволяя автоматизировать и оркестровать на основе ИИ обнаруживать и устранять инциденты до того, как они повлияют на бизнес. В этой статье мы рассмотрим, как реализовать конвейеры DevOps на базе искусственного интеллекта с использованием DSPy и LangChain, уделяя особое внимание упреждающему расследованию и разрешению инцидентов с использованием моделей AIOps и RAG, а также интеграции с AWS DevOps Agent для автоматического расследования инцидентов.
Обзор DSPy и LangChain
DSPy — это библиотека Python, которая обеспечивает простой и эффективный способ создания и развертывания конвейеров DevOps на базе искусственного интеллекта. Это позволяет разработчикам интегрировать различные модели искусственного интеллекта и машинного обучения, включая обработку естественного языка (NLP), компьютерное зрение и прогнозную аналитику, в свои конвейеры DevOps. LangChain, с другой стороны, представляет собой библиотеку Python, которая позволяет разработчикам создавать и развертывать крупномасштабные модели ИИ, используя модульную и масштабируемую архитектуру.
Внедрение конвейеров DevOps на базе искусственного интеллекта с помощью DSPy и LangChain
Чтобы реализовать конвейеры DevOps на базе искусственного интеллекта с помощью DSPy и LangChain, нам необходимо выполнить следующие шаги:
- Сбор данных. Собирайте соответствующие данные из различных источников, таких как журналы, метрики и файлы конфигурации.
- Предварительная обработка данных. Предварительная обработка собранных данных для их подготовки к анализу и моделированию.
- Обучение моделей. Обучайте модели искусственного интеллекта и машинного обучения, используя предварительно обработанные данные, для обнаружения и прогнозирования инцидентов.
- Развертывание модели. Разверните обученные модели в конвейере DevOps с помощью DSPy и LangChain.
- Расследование инцидентов. Используйте развернутые модели для расследования инцидентов и выявления коренных причин.
- Разрешение инцидентов. Используйте информацию, полученную в ходе расследования инцидентов, для упреждающего разрешения инцидентов.
Пример кода: реализация простой модели RAG с помощью DSPy и LangChain
Вот простой пример кода, демонстрирующий, как реализовать модель RAG (анализ первопричин) с использованием DSPy и LangChain:
импортировать dspy
из импорта langchain LLMChain
# Загрузите предварительно обработанные данные
данные = 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 = LLMChain(
модель="давинчи: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(model, data): обучение модели искусственного интеллекта или машинного обучения с помощью DSPy.dspy.ModelDeployer(model, llm_chain): разверните обученную модель с помощью DSPy и LangChain.langchain.LLMChain.predict(input_data): используйте LangChain LLMChain для прогнозирования выходных данных модели.dspy.RAGModel.evaluate(data): оцените производительность модели RAG с помощью DSPy.
Визуализация
Вот пример визуализации с использованием Chart.js:
{
"тип": "бар",
"данные": {
"labels": ["Инцидент типа A", "Инцидент типа B", "Инцидент типа C"],
"наборы данных": [
{
"label": "Основная причина А",
«данные»: [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 на базе искусственного интеллекта, которые заблаговременно обнаруживают и устраняют инциденты, повышая общую эффективность и надежность своих программных систем.