Оркестриране на базирани на AI DevOps тръбопроводи с DSPy и LangChain за проактивно разследване и разрешаване на инциденти | B4N1

Оркестриране на базирани на AI DevOps тръбопроводи с DSPy и LangChain за проактивно разследване и разрешаване на инциденти

3 months ago · b4n1 Read time: 4 min

Въведение

Постоянно нарастващата сложност на съвременните софтуерни системи доведе до увеличаване на честотата и сериозността на инцидентите, което прави проактивното разследване и разрешаване на инциденти критичен аспект на 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, трябва да изпълним следните стъпки:

  1. Събиране на данни: Съберете подходящи данни от различни източници, като регистрационни файлове, показатели и конфигурационни файлове.
  2. Предварителна обработка на данни: Предварително обработете събраните данни, за да ги подготвите за анализ и моделиране.
  3. Обучение на модели: Обучете AI и ML модели, като използвате предварително обработените данни за откриване и прогнозиране на инциденти.
  4. Внедряване на модела: Внедрете обучените модели в конвейера на DevOps с помощта на DSPy и LangChain.
  5. Разследване на инциденти: Използвайте разгърнатите модели за разследване на инциденти и идентифициране на първопричините.
  6. Разрешаване на инциденти: Използвайте прозренията, получени от разследване на инциденти, за проактивно разрешаване на инциденти.

Пример за код: Внедряване на прост 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:

  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(модел, данни): Обучете 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:

{
  "тип": "лента",
  "данни": {
    "етикети": ["Инцидент Тип 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, които откриват и разрешават инциденти проактивно, подобрявайки цялостната ефективност и надеждност на техните софтуерни системи.


Have Questions?

Let's Talk

Contact me on LinkedIn