Condividi tramite


Inizia: Tracciamento MLflow per GenAI (notebook di Databricks)

Questa guida introduttiva consente di integrare l'app GenAI con MLflow Tracing se si usa un notebook di Databricks come ambiente di sviluppo. Se si usa un IDE locale, usare invece la guida introduttiva all'IDE .

Al termine di questa esercitazione, si avrà:

  • Un notebook di Databricks con un esperimento MLflow collegato per l'app GenAI
  • Un'applicazione GenAI semplice instrumentata con MLflow Tracing
  • Traccia da tale app nell'esperimento MLflow

Interfaccia utente di tracciamento per tutorial di avvio rapido

Configurazione dell'ambiente

  1. Creare un nuovo notebook nell'area di lavoro di Databricks. Il notebook avrà un esperimento MLflow predefinito che è il contenitore per l'applicazione GenAI. Altre informazioni sugli esperimenti MLflow sono disponibili nella sezione Concetti relativi a MLflow.

  2. Installare i pacchetti necessari:

    • mlflow[databricks]: usare la versione più recente di MLflow per ottenere altre funzionalità e miglioramenti.
    • openai: questa esercitazione userà il client dell'API OpenAI per chiamare i modelli ospitati da Databricks.
%pip install -qq --upgrade "mlflow[databricks]>=3.1.0" openai
dbutils.library.restartPython()

Passaggio 1: Instrumentare l'applicazione con la traccia

I frammenti di codice seguenti definiscono una semplice app GenAI che completa i modelli di frase usando un LLM.

Creare prima di tutto un client OpenAI per connettersi ai modelli di base ospitati da Databricks:

from databricks.sdk import WorkspaceClient

# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()

model_name = "databricks-claude-sonnet-4"

In alternativa, è possibile usare OpenAI SDK per connettersi ai modelli ospitati da OpenAI:

import openai

# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured

client = openai.OpenAI()

model_name = "gpt-4o-mini"

In secondo luogo, definire ed eseguire l'applicazione. Strumentare l'app con il tracciamento si utilizza semplicemente:

  • mlflow.openai.autolog(): strumentazione automatica per acquisire i dettagli della chiamata all'SDK OpenAI
  • @mlflow.trace: Decorator che semplifica il tracciamento di qualsiasi funzione Python
import mlflow
import os

# Enable auto-tracing for OpenAI
mlflow.openai.autolog()

# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-tracing-demo")

# Use the trace decorator to capture the application's entry point
@mlflow.trace
def my_app(input: str):
  # This call is automatically instrumented by `mlflow.openai.autolog()`
  response = client.chat.completions.create(
    model=model_name,
    temperature=0.1,
    max_tokens=200,
    messages=[
      {
        "role": "system",
        "content": "You are a helpful assistant.",
      },
      {
        "role": "user",
        "content": input,
      },
    ]
  )
  return response.choices[0].message.content

result = my_app(input="What is MLflow?")
print(result)

Per informazioni dettagliate sull'aggiunta del tracciamento alle app, vedere la guida alla strumentazione di tracciamento e le integrazioni di oltre 20 librerie.

Passaggio 2: Visualizzare la traccia in MLflow

La traccia verrà visualizzata sotto la cella del notebook.

Interfaccia utente di tracciamento del notebook

Facoltativamente, è possibile passare all'interfaccia utente dell'esperimento MLflow per visualizzare la traccia:

  1. Fare clic sull'icona Experiments (Esperimenti ) sulla barra laterale destra.
  2. Fare clic sull'icona Apri icona Nuova finestra. Accanto a Esecuzioni dell'esperimento.
  3. La traccia generata viene visualizzata nella scheda Tracce .
  4. Fare clic sulla traccia per visualizzarne i dettagli.

Comprendere la traccia

La traccia appena creata mostra:

  • Intervallo radice: rappresenta gli input per la my_app(...) funzione
    • Intervallo secondario: indica la richiesta di completamento di OpenAI
  • Attributi: contiene metadati come il nome del modello, i conteggi dei token e le informazioni di intervallo
  • Input: messaggi inviati al modello
  • Output: risposta ricevuta dal modello

Questa traccia semplice fornisce già informazioni dettagliate preziose sul comportamento dell'applicazione, ad esempio:

  • Cosa è stato chiesto
  • Quale risposta è stata generata
  • Quanto tempo ha impiegato la richiesta
  • Quanti token sono stati usati (che influiscono sui costi)

Per applicazioni più complesse, ad esempio sistemi RAG o agenti in più passaggi, MLflow Tracing offre ancora più valore rivelando i lavori interni di ogni componente e passaggio.

Passaggi successivi

Notebook di esempio

Inizia: Tracciamento MLflow per GenAI (notebook di Databricks)

Ottieni il notebook