Samouczek: tworzenie narzędzia języka Python w agencie usługi Azure SRE

W tym samouczku utworzysz działające narzędzie języka Python, które oblicza zgodność umowy SLA dla agenta usługi Azure SRE. Opisujesz przeznaczenie narzędzia w języku angielskim, pozwól sztucznej inteligencji wygenerować kod, przetestować wynik i wdrożyć narzędzie, które ma być używane przez agenta.

W tym poradniku nauczysz się, jak:

  • Opisz funkcjonalność narzędzia w języku angielskim.
  • Generowanie kodu w języku Python przy użyciu sztucznej inteligencji
  • Testowanie narzędzia przy użyciu rzeczywistych danych wejściowych przed wdrożeniem
  • Zapisz narzędzie, które ma być używane przez agenta

Szacowany czas: 10 minut

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące zasoby i uprawnienia:

Otwieranie okna dialogowego narzędzia języka Python

Przejdź do kanwy agenta i rozpocznij tworzenie narzędzia w języku Python.

  1. Otwórz portal agenta SRE i wybierz agenta.
  2. Wybierz Builder w lewym menu nawigacyjnym.
  3. Rozwiń Builder i wybierz Agent Canvas.
  4. Wybierz pozycję Utwórz>narzędzie>języka Python.

Zrzut ekranu przedstawiający menu Tworzenie z opcjami narzędzi Tool i Python.

Zostanie otwarte okno dialogowe narzędzia języka Python z trzema kartami: Kod, Środowisko testowe i Tożsamość.

Opisz, co powinno zrobić narzędzie

W polu opisu napisz, co chcesz zrobić za pomocą narzędzia w języku angielskim. Bądź precyzyjny w kwestii danych wejściowych, wyjściowych i logiki.

Wprowadź następujący opis:

Calculate SLA compliance percentage from total uptime minutes and downtime
minutes. Return whether the SLA meets a target threshold (default 99.9%).
Include the calculated percentage and a status message.

Zrzut ekranu przedstawiający okno dialogowe narzędzia języka Python z wprowadzonym opisem.

Wskazówka

Aby uzyskać najlepsze wyniki, określ parametry wejściowe i ich typy, opisz obliczenia lub logikę, określ, jakie dane wyjściowe powinny zawierać dane wyjściowe, i w razie potrzeby podaj wartości domyślne.

Generowanie kodu

Wybierz Generuj, aby AI utworzyła funkcję w Python na podstawie opisu.

Sztuczna inteligencja analizuje opis i tworzy funkcję języka Python za pomocą następujących funkcji:

  • Wpisane parametry pasujące do danych wejściowych
  • Dokument wyjaśniający logikę
  • Obsługa błędów dla przypadków brzegowych
  • Wartość zwracana serializowalna jako JSON

W poniższym przykładzie pokazano wygenerowany kod:

def main(total_uptime_minutes: int, total_downtime_minutes: int,
         target_sla_percent: float = 99.9) -> dict:
    """Calculate SLA compliance from uptime and downtime minutes.

    Computes SLA as (uptime / (uptime + downtime)) * 100.
    Returns the SLA percentage, whether it meets the target,
    and a status message.
    """
    total_minutes = total_uptime_minutes + total_downtime_minutes

    if total_minutes == 0:
        sla_percent = 100.0
    else:
        sla_percent = (total_uptime_minutes / total_minutes) * 100

    meets_target = sla_percent >= target_sla_percent

    return {
        "sla_percent": round(sla_percent, 4),
        "target_sla_percent": target_sla_percent,
        "meets_target": meets_target,
        "status": "Meets SLA" if meets_target else "Below SLA"
    }

Zrzut ekranu przedstawiający kartę Kod z wygenerowaną funkcją języka Python.

Na karcie Kod jest wyświetlana main() funkcja z typicznymi parametrami. Nazwa narzędzia pochodzi z opisu.

Testowanie przy użyciu rzeczywistych danych wejściowych

Przed utworzeniem narzędzia przetestuj je przy użyciu rzeczywistych wartości.

  1. Wybierz kartę Testowe środowisko.
  2. Wprowadź następujące wartości testowe:
    • total_uptime_minutes: 43185
    • total_downtime_minutes: 15
    • target_sla_percent: 99.9
  3. Kliknij przycisk Testuj.

Zrzut ekranu środowiska testowego pokazujący pomyślne wykonanie.

W poniższym przykładzie przedstawiono oczekiwany wynik:

{
  "sla_percent": 99.9653,
  "target_sla_percent": 99.9,
  "meets_target": true,
  "status": "Meets SLA"
}

Test pokazuje zielony wskaźnik powodzenia, a dane wyjściowe JSON są zgodne z oczekiwaną wartością.

Tworzenie narzędzia

Po zakończeniu testów wybierz pozycję Utwórz narzędzie.

Narzędzie jest teraz dostępne. Agent może wywołać go automatycznie, gdy zadanie jest zgodne z opisem narzędzia.

Weryfikowanie narzędzia

W nowym wątku czatu zadaj agentowi pytanie, które wyzwala narzędzie:

What's my SLA for last month? We had 43185 minutes of uptime and 15 minutes of downtime.

Agent rozpoznaje, że to pytanie pasuje do twojego narzędzia i używa go, aby obliczyć wynik.

Troubleshooting

Skorzystaj z poniższych informacji, aby rozwiązać typowe problemy.

Przycisk Testuj jest wyłączony

Przycisk Testuj wymaga:

  • Prawidłowy kod języka Python z funkcją main()
  • Wypełnione wszystkie wymagane pola parametrów

Sprawdź, czy kod nie zawiera błędów składniowych, a wszystkie parametry mają wartości.

Kod nie jest zgodny z twoją intencją

Wybierz pole opisu, uściślij tekst, a następnie wybierz pozycję Generuj ponownie. Bardziej szczegółowe informacje na temat:

  • Nazwy parametrów i typy
  • Logika obliczeń
  • Oczekiwany format danych wyjściowych

Test zwraca błąd

Sprawdź komunikat o błędzie w panelu wyników. Do powszechnych problemów należą:

  • Dzielenie przez zero (dodaj obsługę przypadków brzegowych)
  • Niepoprawne typy parametrów (upewnij się, że dane wejściowe są zgodne z oczekiwanymi typami)
  • Błędy importowania (sprawdź, czy biblioteki są dostępne)

Edytowanie lub usuwanie narzędzia

Narzędzia można modyfikować lub usuwać bezpośrednio z płótna agenta.

Edytuj

  1. Na płótnie agenta wybierz węzeł narzędzia, aby otworzyć panel informacyjny.
  2. Wybierz ikonę edycji (ołówka) w nagłówku panelu.
  3. Zostanie otwarte okno dialogowe edytowania. Zmodyfikuj opis, kod lub parametry.
  4. Wybierz opcję Zapisz.

Delete

  1. Wybierz węzeł narzędzia, aby otworzyć panel informacyjny.
  2. Wybierz menu ⋯ (więcej akcji) w nagłówku panelu.
  3. Wybierz pozycję Usuń narzędzie.
  4. Potwierdź usunięcie w oknie dialogowym.

Następne kroki