Organizowanie potoków DevOps opartych na sztucznej inteligencji za pomocą DSPy i LangChain w celu proaktywnego badania i rozwiązywania incydentów | B4N1

Organizowanie potoków DevOps opartych na sztucznej inteligencji za pomocą DSPy i LangChain w celu proaktywnego badania i rozwiązywania incydentów

6 months ago · b4n1 Tiempo de lectura: 3 min

Wprowadzenie

Stale rosnąca złożoność nowoczesnych systemów oprogramowania doprowadziła do wzrostu częstotliwości i wagi incydentów, czyniąc proaktywne badanie i rozwiązywanie incydentów krytycznym aspektem DevOps. Sztuczna inteligencja (AI) i uczenie maszynowe (ML) okazały się potężnymi narzędziami usprawniającymi potoki DevOps, umożliwiając automatyzację i orkiestrację opartą na sztucznej inteligencji w celu wykrywania i rozwiązywania incydentów, zanim będą miały one wpływ na działalność biznesową. W tym artykule zbadamy, jak wdrożyć potoki DevOps oparte na sztucznej inteligencji przy użyciu DSPy i LangChain, ze szczególnym naciskiem na proaktywne badanie i rozwiązywanie incydentów przy użyciu modeli AIOps i RAG oraz integrację z AWS DevOps Agent w celu automatycznego badania incydentów.

Przegląd DSPy i LangChain

DSPy to biblioteka języka Python, która zapewnia prosty i wydajny sposób tworzenia i wdrażania potoków DevOps opartych na sztucznej inteligencji. Umożliwia programistom integrowanie różnych modeli sztucznej inteligencji i uczenia maszynowego, w tym przetwarzania języka naturalnego (NLP), wizji komputerowej i analiz predykcyjnych, z potokami DevOps. Z kolei LangChain to biblioteka Pythona, która umożliwia programistom budowanie i wdrażanie wielkoskalowych modeli sztucznej inteligencji przy użyciu modułowej i skalowalnej architektury.

Wdrażanie potoków DevOps opartych na sztucznej inteligencji za pomocą DSPy i LangChain

Aby wdrożyć potoki DevOps oparte na sztucznej inteligencji za pomocą DSPy i LangChain, musimy wykonać następujące kroki:

  1. Zbieranie danych: Zbieraj odpowiednie dane z różnych źródeł, takich jak dzienniki, metryki i pliki konfiguracyjne.
  2. Wstępne przetwarzanie danych: Wstępne przetwarzanie zebranych danych w celu przygotowania ich do analizy i modelowania.
  3. Trenowanie modeli: trenuj modele AI i ML przy użyciu wstępnie przetworzonych danych do wykrywania i przewidywania incydentów.
  4. Wdrożenie modelu: Wdróż wyszkolone modele w potoku DevOps przy użyciu DSPy i LangChain.
  5. Badanie incydentów: Skorzystaj z wdrożonych modeli, aby zbadać incydenty i zidentyfikować pierwotne przyczyny.
  6. Rozwiązywanie incydentów: Wykorzystaj wnioski uzyskane w wyniku badania incydentów, aby proaktywnie rozwiązywać incydenty.

Przykład kodu: Implementacja prostego modelu RAG za pomocą DSPy i LangChain

Oto prosty przykład kodu demonstrujący, jak zaimplementować model RAG (analiza przyczyn źródłowych) przy użyciu DSPy i LangChain:

importuj dspy
z langchain import LLMCain

# Załaduj wstępnie przetworzone dane
dane = pd.read_csv("dane.csv")

# Zdefiniuj model RAG
rag_model = dspy.RAGModel(
    input_features=["poziom_logowania", "komunikat_błędu"],
    Output_features=["główna_przyczyna"]
)

# Trenuj model RAG
rag_model.train(dane)

# Wdróż model RAG
llm_chain = LLMCain(
    model="davinci:002",
    maksymalna długość = 2048
)
rag_model.deploy(llm_chain)

# Użyj wdrożonego modelu RAG do badania incydentów
incydent_data = pd.DataFrame({
    „log_level”: [„BŁĄD”],
    „error_message”: [„Coś poszło nie tak”]
})
root_cause = rag_model.predict(incident_data)
drukuj (przyczyna_główna)

Ten przykład kodu demonstruje, jak zaimplementować prosty model RAG przy użyciu DSPy i LangChain. Model RAG przyjmuje poziom dziennika i komunikat o błędzie jako cechy wejściowe i przewiduje pierwotną przyczynę incydentu.

Top 5-10 najczęściej używanych poleceń/fragmentów

Oto 5–10 najczęściej używanych poleceń/fragmentów dla DSPy i LangChain:

  1. dspy.RAGModel(cechy_wejściowe, cechy_wyjściowe): Zdefiniuj model RAG z określonymi cechami wejściowymi i wyjściowymi.
  2. dspy.RAGModel.train(data): Trenuj model RAG przy użyciu dostarczonych danych.
  3. dspy.RAGModel.deploy(llm_chain): Wdróż wyszkolony model RAG przy użyciu LangChain LLMChain.
  4. llm_chain = LLMChain(model, max_length): Utwórz łańcuch LangChain LLMChain z określonym modelem i maksymalną długością.
  5. rag_model.predict(data): Użyj wdrożonego modelu RAG, aby przewidzieć pierwotną przyczynę incydentu.
  6. dspy.DataPreprocessor(input_data): Zdefiniuj potok wstępnego przetwarzania danych przy użyciu DSPy.
  7. dspy.ModelTrainer(model, dane): Trenuj model AI lub ML przy użyciu DSPy.
  8. dspy.ModelDeployer(model, llm_chain): Wdróż wytrenowany model przy użyciu DSPy i LangChain.
  9. langchain.LLMChain.predict(input_data): Użyj LangChain LLMChain do przewidywania wyników modelu.
  10. dspy.RAGModel.evaluate(data): Ocena wydajności modelu RAG przy użyciu DSPy.

Wizualizacja

Oto przykład wizualizacji przy użyciu Chart.js:

{
  "typ": "pasek",
  „dane”: {
    „etykiety”: [„Incydent typu A”, „Incydent typu B”, „Incydent typu C”],
    „zestawy danych”: [
      {
        "label": "Przyczyna główna A",
        „dane”: [10, 15, 7],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        „Szerokość obramowania”: 1
      },
      {
        "label": "Przyczyna główna B",
        „dane”: [8, 12, 9],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        „Szerokość obramowania”: 1
      },
      {
        "label": "Przyczyna podstawowa C",
        „dane”: [14, 18, 11],
        "backgroundColor": "rgba(255, 206, 86, 0.2)",
        "borderColor": "rgba(255, 206, 86, 1)",
        „Szerokość obramowania”: 1
      }
    ]
  },
  „opcje”: {
    "tytuł": {
      "wyświetlacz": prawda,
      "text": "Analiza pierwotnej przyczyny"
    },
    „skale”: {
      „Osie y”: [
        {
          „tyknięcia”: {
            „beginAtZero”: prawda
          }
        }
      ]
    }
  }
}

Ta wizualizacja przedstawia rozkład głównych przyczyn różnych typów zdarzeń.

Wniosek

W tym artykule zbadaliśmy, jak wdrożyć potoki DevOps oparte na sztucznej inteligencji przy użyciu DSPy i LangChain, ze szczególnym naciskiem na proaktywne badanie i rozwiązywanie incydentów przy użyciu modeli AIOps i RAG oraz integrację z AWS DevOps Agent w celu automatycznego badania incydentów. Zademonstrowaliśmy prosty przykład kodu, który implementuje model RAG przy użyciu DSPy i LangChain i udostępniliśmy listę 5–10 najczęściej używanych poleceń/fragmentów dla DSPy i LangChain. Zamieściliśmy także przykładową wizualizację przy użyciu Chart.js. Wykonując kroki opisane w tym artykule, programiści mogą tworzyć i wdrażać potoki DevOps oparte na sztucznej inteligencji, które aktywnie wykrywają i rozwiązują incydenty, poprawiając ogólną wydajność i niezawodność ich systemów oprogramowania.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn