Überwachung von Amazon- SageMaker -KI

Amazon SageMaker AI bietet Funktionen zum Erstellen, Trainieren und Bereitstellen generativer KI-Anwendungen unter Verwendung von Basismodellen. Dieser Leitfaden zeigt Ihnen, wie Sie eine Anwendung mithilfe von Amazon SageMaker AI-Endpunkten mit OpenLLMetry instrumentieren, um Telemetriedaten an Instana zu senden.

Voraussetzungen

Stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

  • Python 3.8 oder später
  • Amazon Web Services ( AWS ) Anmeldedaten mit Zugriff auf SageMaker
  • Ein bereitgestellter KI-Endpunkt „ SageMaker “
  • Ein Backend-Konto für „ Instana “ mit aktivierter Beobachtbarkeit durch generative KI
  • Überprüfung der Einführungsanleitung zu agentenbasierten und agentenlosen Modi

Instrumentierung Ihrer Amazon- SageMaker -KI-Anwendung

  1. Installieren Sie die erforderlichen Pakete.

    pip install boto3 pandas numpy traceloop-sdk
  2. Exportieren Sie Ihre Anmeldedaten für „ AWS “.

    export AWS_ACCESS_KEY_ID="<your-access-key-id>"
    export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"

    Informationen zum Erstellen und Verwalten AWS -Zugriffsschlüsseln finden Sie in der Amazon IAM-Dokumentation.

  3. Erstellen Sie eine Datei „ Python “ mit dem folgenden Code.

    import boto3
    from traceloop.sdk import Traceloop
    from traceloop.sdk.decorators import workflow
    import pandas as pd
    
    # Initialize OpenLLMetry
    Traceloop.init(app_name="sagemaker_example", disable_batch=True)
    
    # Initialize SageMaker Runtime client
    runtime = boto3.Session().client('sagemaker-runtime', region_name="us-east-1")
    
    @workflow(name="sagemaker_example")
    def invoke_sagemaker_endpoint(endpoint):
        # Sample input data (1 row with 12 features)
        X_test = [[1, 8.2, 10.5, 1.5, 9.6, 1.3, 11.2, 2.9, 100, 11, 12.0, 13]]
    
        # Convert data to CSV format
        df = pd.DataFrame(X_test)
        csv_input = df.to_csv(index=False, header=False)
        csv_bytes = csv_input.encode('utf-8')
    
        # Invoke the SageMaker endpoint
        response = runtime.invoke_endpoint(
            EndpointName=endpoint,
            ContentType='text/csv',
            Body=csv_bytes
        )
    
        # Read and decode the prediction result
        return response['Body'].read().decode('utf-8')
    
    # Replace with your SageMaker endpoint name
    invoke_sagemaker_endpoint('<sagemaker-endpoint>')
    Hinweis: Das Format der Eingabedaten hängt von den Anforderungen Ihres bereitgestellten Modells ab. Passen Sie die Datenstruktur entsprechend Ihrem spezifischen Modell an.
  4. Führen Sie Ihre Amazon- SageMaker -KI-Anwendung aus.

    python3 sagemaker_app.py

    Die Anwendung sendet Daten an Ihren KI-Endpunkt „ SageMaker “ und zeigt die Vorhersageergebnisse an. OpenLLMetry Erfasst automatisch Traces für jeden Endpunkt-Aufruf und sendet diese an Instana.

  5. Daten auf Instana anzeigen.

    Nach dem Ausführen Ihrer Anwendung werden die Daten im Observability-Dashboard von Instana Gen AI angezeigt und zeigen Folgendes an:

    • Endpunktname
    • Anfrage- und Antwort-Nutzdaten
    • Inferenzlatenz
    • Fehlerinformationen (falls vorhanden)

Fehlerbehebung

Bei häufig auftretenden Problemen wie nicht angezeigten Spuren oder Verbindungsfehlern lesen Sie bitte den Abschnitt Fehlerbehebung.

Authentifizierungsfehler

Wenn Sie Authentifizierungsfehler erhalten:
  1. Überprüfen Sie, ob Ihre Anmeldedaten für AWS korrekt eingestellt sind
  2. Überprüfen Sie, ob Ihr IAM-Benutzer über die erforderlichen Berechtigungen für „ SageMaker “ verfügt
  3. Stellen Sie sicher, dass Ihre Anmeldedaten nicht abgelaufen sind
  4. Überprüfen Sie, ob die Region „ AWS “ mit der Region Ihres Endpunkts übereinstimmt

Endpunkt nicht gefunden-Fehler

Wenn Sie Fehlermeldungen wegen nicht gefundenen Endpunkten erhalten:

  1. Überprüfen Sie, ob der Endpunktname korrekt ist
  2. Überprüfen Sie, ob der Endpunkt bereitgestellt wurde und sich im Status „ "InService" “ befindet
  3. Stellen Sie sicher, dass sich der Endpunkt in derselben Region befindet wie Ihre Client-Konfiguration
  4. Bestätigen Sie, dass Ihre IAM-Richtlinie die sagemaker:InvokeEndpoint Berechtigung enthält

Modell-Eingabefehler

Wenn Sie Fehler bei der Modelleingabe feststellen:
  1. Überprüfen Sie, ob das Format der Eingabedaten den Erwartungen Ihres Modells entspricht
  2. Überprüfen Sie, ob der Inhaltstyp für Ihr Modell korrekt ist
  3. Stellen Sie sicher, dass Datentypen und Dimensionen korrekt sind
  4. Überprüfen Sie das Eingabeschema Ihres Modells in der Konsole „ SageMaker “

Nächste Schritte