Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Configurazione dell'ambiente
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.
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.
Facoltativamente, è possibile passare all'interfaccia utente dell'esperimento MLflow per visualizzare la traccia:
- Fare clic
) sulla barra laterale destra.
- Fare clic
Accanto a Esecuzioni dell'esperimento.
- La traccia generata viene visualizzata nella scheda Tracce .
- 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
- Guida al tracciamento di MLflow - Inizia qui per un apprendimento più approfondito su MLflow Tracing
- Integrazioni di MLflow Tracing - Oltre 20 librerie con integrazioni di traccia automatica
- Concetti di traccia - Comprendere i concetti fondamentali di MLflow Tracing