Вступ
Постійно зростаюча складність сучасних програмних систем призвела до збільшення частоти та серйозності інцидентів, що робить проактивне розслідування та вирішення інцидентів критичним аспектом DevOps. Штучний інтелект (AI) і машинне навчання (ML) стали потужними інструментами для вдосконалення конвеєрів DevOps, уможливлюючи автоматизацію та оркестровку на основі штучного інтелекту для виявлення та вирішення інцидентів до того, як вони вплинуть на бізнес. У цій статті ми розглянемо, як реалізувати конвеєри DevOps на основі штучного інтелекту за допомогою DSPy і LangChain, зосередившись на проактивному розслідуванні інцидентів і вирішенні за допомогою моделей AIOps і RAG, а також інтеграції з AWS DevOps Agent для автоматизованого розслідування інцидентів.
Огляд DSPy і LangChain
DSPy — це бібліотека Python, яка забезпечує простий і ефективний спосіб створення та розгортання конвеєрів DevOps на основі ШІ. Це дозволяє розробникам інтегрувати різні моделі AI та ML, включаючи обробку природної мови (NLP), комп’ютерне бачення та прогнозну аналітику, у свої конвеєри DevOps. З іншого боку, LangChain — це бібліотека Python, яка дозволяє розробникам створювати та розгортати великомасштабні моделі ШІ за допомогою модульної та масштабованої архітектури.
Впровадження конвеєрів DevOps на основі штучного інтелекту за допомогою DSPy і LangChain
Щоб реалізувати конвеєри DevOps на основі штучного інтелекту за допомогою DSPy і LangChain, нам потрібно виконати такі кроки:
- Збір даних: збирайте відповідні дані з різних джерел, таких як журнали, показники та файли конфігурації.
- Попередня обробка даних: попередня обробка зібраних даних, щоб підготувати їх до аналізу та моделювання.
- Навчання моделей: навчайте моделі AI та ML за допомогою попередньо оброблених даних для виявлення та прогнозування інцидентів.
- Розгортання моделі: розгортайте навчені моделі в конвеєрі DevOps за допомогою DSPy і LangChain.
- Розслідування інцидентів: використовуйте розгорнуті моделі для розслідування інцидентів і виявлення основних причин.
- Вирішення інцидентів: використовуйте інформацію, отриману в результаті розслідування інцидентів, для завчасного вирішення інцидентів.
Приклад коду: Реалізація простої моделі RAG за допомогою DSPy і LangChain
Ось простий приклад коду, який демонструє, як реалізувати модель RAG (аналіз першопричини) за допомогою DSPy і LangChain:
імпорт dspy
з langchain import LLMChain
# Завантажте попередньо оброблені дані
дані = pd.read_csv("дані.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 для розслідування інцидентів
incident_data = pd.DataFrame({
"log_level": ["ПОМИЛКА"],
"error_message": ["Щось пішло не так"]
})
root_cause = rag_model.predict(incident_data)
print(основна_причина)
Цей приклад коду демонструє, як реалізувати просту модель 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): навчання моделі 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:
{
"type": "бар",
"дані": {
"labels": ["Інцидент типу 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
}
]
},
"параметри": {
"назва": {
"display": правда,
"text": "Аналіз першопричини"
},
"ваги": {
"yAxes": [
{
"галочки": {
"beginAtZero": правда
}
}
]
}
}
}
Ця візуалізація демонструє розподіл основних причин для різних типів інцидентів.
Висновок
У цій статті ми дослідили, як реалізувати конвеєри DevOps на основі штучного інтелекту за допомогою DSPy і LangChain, зосередившись на проактивному розслідуванні інцидентів і вирішенні за допомогою моделей AIOps і RAG, а також інтеграції з AWS DevOps Agent для автоматизованого розслідування інцидентів. Ми продемонстрували простий приклад коду, який реалізує модель RAG за допомогою DSPy і LangChain, і надали список 5-10 найбільш використовуваних команд/фрагментів для DSPy і LangChain. Ми також включили приклад візуалізації за допомогою Chart.js. Дотримуючись кроків, описаних у цій статті, розробники можуть створювати та розгортати конвеєри DevOps на основі штучного інтелекту, які виявляють і вирішують інциденти проактивно, підвищуючи загальну ефективність і надійність своїх програмних систем.