Freigeben über


Überwachungsagenten, die auf Databricks bereitgestellt werden

Auf dieser Seite wird gezeigt, wie Instrumentierte GenAI-Anwendungen auf Databricks bereitgestellt werden, damit Produktionsablaufverfolgungen automatisch erfasst werden.

Ablaufverfolgungen werden bei einem MLflow-Experiment für die Echtzeitanzeige protokolliert. Speichern Sie sie optional mithilfe von Delta-Tabellen für den langfristigen Speicher. Siehe Bereitstellen einer ablaufverfolgungsbasierten App zum Vergleichen der Bereitstellungs- und Ablaufverfolgungsprotokollierungsoptionen.

Informationen zu Apps, die außerhalb von Databricks bereitgestellt werden, finden Sie unter Trace-Agents, die außerhalb von Databricks bereitgestellt werden.

Übersicht über die MLflow-Produktionsablaufverfolgung

Wenn Sie GenAI-Anwendungen über Mosaik AI Agent Framework bereitstellen, funktioniert die MLflow-Ablaufverfolgung automatisch ohne zusätzliche Konfiguration. Ablaufverfolgungen werden im MLflow-Experiment des Agents gespeichert.

Schritte für die Bereitstellung

Richten Sie zunächst die Speicherorte für Ablaufverfolgungen ein:

  1. Wenn Sie beabsichtigen, die Produktionsüberwachung zum Speichern von Ablaufverfolgungen in Delta-Tabellen zu verwenden, stellen Sie sicher, dass sie für Ihren Arbeitsbereich aktiviert ist.
  2. Erstellen Sie ein MLflow-Experiment zum Speichern der Produktionsablaufverfolgungen Ihrer App.

Instrumentieren Sie als Nächstes in Ihrem Python-Notizbuch Ihren Agent mit der MLflow-Ablaufverfolgung, und verwenden Sie Agent Framework, um Ihren Agent bereitzustellen:

  1. Installieren Sie mlflow[databricks] sie in Ihrer Python-Umgebung. Verwenden Sie die neueste Version.
  2. Stellen Sie eine Verbindung mit dem MLflow Experiment her.mlflow.set_experiment(...)
  3. Umschließen Sie den Code Ihres Agents mithilfe der Erstellungsschnittstellen des Agent-Frameworks. Aktivieren Sie im Agentcode die MLflow-Ablaufverfolgung mithilfe der automatischen oder manuellen Instrumentierung.
  4. Protokollieren Sie Ihren Agent als MLflow-Modell, und registrieren Sie ihn im Unity-Katalog.
  5. Stellen Sie sicher, dass sich mlflow die Python-Abhängigkeiten des Modells befinden, wobei die gleiche Paketversion in Ihrer Notizbuchumgebung verwendet wird.
  6. Wird agents.deploy(...) verwendet, um das Unity Catalog-Modell (Agent) auf einem Model Serving-Endpunkt bereitzustellen.

Hinweis

Wenn Sie einen Agent aus einem Notizbuch bereitstellen, das in einem Git-Ordner "Databricks" gespeichert ist, funktioniert die Ablaufverfolgung von MLflow 3 in Echtzeit nicht standardmäßig.

Um die Echtzeitablaufverfolgung zu aktivieren, setzen Sie das Experiment auf eines, das nicht mit Git verbunden ist, indem Sie mlflow.set_experiment() vor dem Ausführen von agents.deploy() verwenden.

Ablaufverfolgungen von Ihrem Agent werden jetzt im MLflow-Experiment in Echtzeit angezeigt.

Beispielnotizbuch

Dieses Notizbuch veranschaulicht die vorstehenden Bereitstellungsschritte.

Agent Framework- und MLflow-Ablaufverfolgungsnotizbuch

Notebook abrufen

Bereitstellen mit benutzerdefinierter CPU-Bereitstellung (Alternative)

Wenn Sie agent Framework nicht verwenden können, stellen Sie ihren Agent stattdessen mit benutzerdefiniertem CPU Model Serving bereit.

Richten Sie zunächst die Speicherorte für Ablaufverfolgungen ein:

  1. Wenn Sie beabsichtigen, die Produktionsüberwachung zum Speichern von Ablaufverfolgungen in Delta-Tabellen zu verwenden, stellen Sie sicher, dass sie für Ihren Arbeitsbereich aktiviert ist.
  2. Erstellen Sie ein MLflow-Experiment zum Speichern der Produktionsablaufverfolgungen Ihrer App.

Instrumentieren Sie als Nächstes in Ihrem Python-Notizbuch Ihren Agent mit der MLflow-Ablaufverfolgung, und verwenden Sie die Model Serving UI oder APIs, um Ihren Agent bereitzustellen:

  1. Protokollieren Sie Ihren Agent als MLflow-Modell mit automatischer oder manueller Tracing-Instrumentierung.
  2. Stellen Sie das Modell für die CPU-Bereitstellung bereit.
  3. Bereitstellen eines Dienstprinzipals oder eines persönlichen Zugriffstokens (PAT) mit CAN_EDIT Zugriff auf das MLflow-Experiment.
  4. Wechseln Sie auf der Seite "CPU-Dienstendpunkt" zu "Endpunkt bearbeiten". Fügen Sie für jedes bereitgestellte Modell zur Ablaufverfolgung die folgenden Umgebungsvariablen hinzu:
  5. ENABLE_MLFLOW_TRACING=true
  6. MLFLOW_EXPERIMENT_ID=<ID of the experiment you created>
  7. Wenn Sie einen Dienstprinzipal bereitgestellt haben, legen Sie DATABRICKS_CLIENT_ID fest und DATABRICKS_CLIENT_SECRET. Wenn Sie einen PAT bereitgestellt haben, legen DATABRICKS_HOST Sie und DATABRICKS_TOKEN.

Anzeigen von Produktionsablaufverfolgungen

Anzeigen von Produktionsablaufverfolgungen in der MLflow Experiments-Benutzeroberfläche. Produktionsablaufverfolgungen zeigen:

  • Benutzerabfragen und Agentantworten
  • Feedback (Daumen nach oben/unten, Kommentare)
  • Fehlerraten und Fehlermuster
  • Latenz- und Leistungsmetriken
  • Tokenverbrauch

Benutzeroberfläche für Produktionsablaufverfolgungen

Protokollieren von Ablaufverfolgungen in Delta-Tabellen

Protokollieren Sie optional Ablaufverfolgungen zusätzlich in Delta-Tabellen zu Ihrem MLflow-Experiment.

  • Produktionsüberwachungstabellen (empfohlen): Der Auftrag zum Synchronisieren von Spuren mit einer Delta-Tabelle wird alle ca. 15 Minuten ausgeführt. Sie müssen keine Überwachungsmetriken aktivieren, damit dies funktioniert. Ablaufverfolgungen haben keine Größenbeschränkungen.
  • AI Gateway-fähige Ableitungstabellen: Aktivieren Sie die AI-Gatewayeinstellungen auf der Seite "Modellbereitstellungsendpunkt". Beachten Sie die Einschränkungen bei Ablaufverfolgungsgrößen und Verzögerungen bei der Synchronisierung von Ablaufverfolgungen mit Tabellen.

Begrenzungen

Die Protokollierung von Ablaufverfolgungen an MLflow-Experimenten und Produktionsüberwachungstabellen umfasst Grenzwerte für die Anzahl von Ablaufverfolgungen und Spitzenlasten. Wenn Sie mehr als 100K-Ablaufverfolgungen pro Experiment speichern müssen oder eine Spitzenlast von > 60 Abfragen pro Sekunde (QPS) haben, verwenden Sie dieses Formular , um eine Erhöhung anzufordern.

Nächste Schritte