Оркестрирање на цевководи DevOps напојувани со вештачка интелигенција со DSPy и LangChain за проактивна истрага и разрешување инциденти | B4N1

Оркестрирање на цевководи DevOps напојувани со вештачка интелигенција со DSPy и LangChain за проактивна истрага и разрешување инциденти

3 months ago · b4n1 Tiempo de lectura: 4 min

Вовед

Постојано растечката сложеност на современите софтверски системи доведе до зголемување на зачестеноста и сериозноста на инцидентите, со што проактивното истражување на инцидентот и решавањето стана критичен аспект на DevOps. Вештачката интелигенција (AI) и машинското учење (ML) се појавија како моќни алатки за подобрување на цевките на DevOps, овозможувајќи автоматизација и оркестрација управувана од вештачка интелигенција да откриваат и решаваат инциденти пред тие да влијаат на бизнисот. Во оваа статија, ќе истражиме како да ги имплементираме цевководите DevOps напојувани со вештачка интелигенција користејќи DSPy и LangChain, со фокус на проактивна истрага и решавање инциденти со помош на модели AIOps и RAG и интегрирање со AWS DevOps Agent за автоматско истражување на инциденти.

Преглед на DSPy и LangChain

DSPy е библиотека на Python која обезбедува едноставен и ефикасен начин за изградба и распоредување на цевководи DevOps напојувани со вештачка интелигенција. Тоа им овозможува на програмерите да интегрираат различни модели на вештачка интелигенција и ML, вклучувајќи обработка на природен јазик (NLP), компјутерска визија и предвидлива аналитика, во нивните нафтоводи на DevOps. LangChain, од друга страна, е библиотека на Python која им овозможува на програмерите да градат и распоредуваат модели на вештачка интелигенција од големи размери користејќи модуларна и скалабилна архитектура.

Имплементирање DevOps напојувани со AI со DSPy и LangChain

За да ги имплементираме нафтовите DevOps напојувани со вештачка интелигенција со DSPy и LangChain, треба да ги следиме овие чекори:

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

Пример за код: Имплементирање на едноставен модел RAG со DSPy и LangChain

Еве едноставен пример за код кој покажува како да се имплементира модел RAG (Analysis Root Cause) користејќи DSPy и LangChain:

увоз dspy
од langchain увоз LLMCchain

# Вчитајте ги претходно обработените податоци
data = 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 = LLMCchain(
    model="davinci:002",
    max_length=2048
)
rag_model.deploy(llm_chain)

# Користете го распоредениот модел RAG за да истражите инциденти
инцидент_податоци = pd.DataFrame({
    "log_level": ["ГРЕШКА"],
    "error_message": ["Нешто тргна наопаку"]
})
root_cause = rag_model.predict(податоци за инцидентот)
печатење (root_cause)

Овој пример за код покажува како да се имплементира едноставен модел 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 = LLMCchain(модел, max_length): Создадете LangChain LLMCchain со одреден модел и максимална должина.
  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 LLMCchain за да го предвидите излезот на моделот.
  10. dspy.RAGModel.evaluate(data): Оценете ги перформансите на моделот RAG користејќи DSPy.

Визуелизација

Еве пример за визуелизација користејќи Chart.js:

{
  "тип": "бар",
  "податоци": {
    "етикети": ["Инцидент Тип А", "Инцидент Тип Б", "Инцидент Тип В"],
    "збирки на податоци": [
      {
        "етикета": "Основната причина А",
        "податоци": [10, 15, 7],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        „Ширина на границата“: 1
      },
      {
        "етикета": "Основната причина Б",
        "податоци": [8, 12, 9],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        „Ширина на границата“: 1
      },
      {
        "етикета": "Основната причина Ц",
        "податоци": [14, 18, 11],
        "backgroundColor": "rgba(255, 206, 86, 0.2)",
        "borderColor": "rgba(255, 206, 86, 1)",
        „Ширина на границата“: 1
      }
    ]
  },
  "опции": {
    "наслов": {
      „екран“: точно,
      "text": "Анализа на основната причина"
    },
    "вага": {
      „yOxes“: [
        {
          "крлежи": {
            "beginAtZero": точно
          }
        }
      ]
    }
  }
}

Оваа визуелизација ја демонстрира дистрибуцијата на основните причини за различни типови инциденти.

Заклучок

Во оваа статија, истраживме како да ги имплементираме нафтовите DevOps напојувани со вештачка интелигенција користејќи DSPy и LangChain, со фокус на проактивно истражување и решавање инциденти со помош на модели AIOps и RAG и интегрирање со AWS DevOps Agent за автоматско истражување на инциденти. Прикажавме едноставен пример за код кој имплементира RAG модел користејќи DSPy и LangChain, и обезбедивме листа на топ 5-10 најкористени команди/парчиња за DSPy и LangChain. Вклучивме и пример за визуелизација користејќи Chart.js. Следејќи ги чекорите наведени во овој напис, програмерите можат да изградат и распоредуваат нафтоводи DevOps напојувани со вештачка интелигенција кои проактивно откриваат и решаваат инциденти, подобрувајќи ја севкупната ефикасност и доверливост на нивните софтверски системи.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn