Організація конвеєрів DevOps на основі штучного інтелекту за допомогою DSPy та LangChain для проактивного розслідування та вирішення інцидентів | B4N1

Організація конвеєрів DevOps на основі штучного інтелекту за допомогою DSPy та LangChain для проактивного розслідування та вирішення інцидентів

6 months ago · b4n1 Read time: 3 min

Вступ

Постійно зростаюча складність сучасних програмних систем призвела до збільшення частоти та серйозності інцидентів, що робить проактивне розслідування та вирішення інцидентів критичним аспектом 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, нам потрібно виконати такі кроки:

  1. Збір даних: збирайте відповідні дані з різних джерел, таких як журнали, показники та файли конфігурації.
  2. Попередня обробка даних: попередня обробка зібраних даних, щоб підготувати їх до аналізу та моделювання.
  3. Навчання моделей: навчайте моделі AI та ML за допомогою попередньо оброблених даних для виявлення та прогнозування інцидентів.
  4. Розгортання моделі: розгортайте навчені моделі в конвеєрі DevOps за допомогою DSPy і LangChain.
  5. Розслідування інцидентів: використовуйте розгорнуті моделі для розслідування інцидентів і виявлення основних причин.
  6. Вирішення інцидентів: використовуйте інформацію, отриману в результаті розслідування інцидентів, для завчасного вирішення інцидентів.

Приклад коду: Реалізація простої моделі 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:

  1. dspy.RAGModel(input_features, output_features): визначте модель RAG із зазначеними вхідними та вихідними функціями.
  2. dspy.RAGModel.train(data): навчання моделі RAG за допомогою наданих даних.
  3. dspy.RAGModel.deploy(llm_chain): розгортання навченої моделі RAG за допомогою LangChain LLMChain.
  4. llm_chain = LLMChain(model, max_length): Створіть LangChain LLMChain із зазначеною моделлю та максимальною довжиною.
  5. rag_model.predict(data): використовуйте розгорнуту модель RAG, щоб передбачити першопричину інциденту.
  6. dspy.DataPreprocessor(input_data): визначте конвеєр попередньої обробки даних за допомогою DSPy.
  7. dspy.ModelTrainer(model, data): навчання моделі AI або ML за допомогою DSPy.
  8. dspy.ModelDeployer(model, llm_chain): розгортання навченої моделі за допомогою DSPy і LangChain.
  9. langchain.LLMChain.predict(input_data): використовуйте LangChain LLMChain для прогнозування результату моделі.
  10. 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 на основі штучного інтелекту, які виявляють і вирішують інциденти проактивно, підвищуючи загальну ефективність і надійність своїх програмних систем.


Have Questions?

Let's Talk

Contact me on LinkedIn