Rastreamento de um aplicativo GenAI (Notebook)
Este início rápido o ajuda a integrar seu aplicativo GenAI com o MLflow Tracing se o senhor usar um Databricks Notebook como ambiente de desenvolvimento. Se você usa um IDE local, use o guia de início rápido do IDE.
O que você alcançará
Ao final deste tutorial, o senhor terá:
- Um Databricks Notebook com um experimento MLflow vinculado para seu aplicativo GenAI
- Um aplicativo GenAI simples instrumentado com o MLflow Tracing
- Um rastreamento desse aplicativo em seu experimento MLflow
Pré-requisitos
- Databricks Workspace : Acesso a um site Databricks workspace.
Etapa 1: Criar um Databricks Notebook
A criação de um Databricks Notebook criará um experimento MLflow que é o contêiner do seu aplicativo GenAI. Saiba mais sobre o experimento e o que ele contém na seção do modelo de dados.
- Abra o site Databricks workspace
- Vá para Novo na parte superior da barra lateral esquerda
- Clique em Notebook
Etapa 2: Instale a versão mais recente do MLflow (recomendado)
Os tempos de execução do Databricks incluem o MLflow. No entanto, para obter a melhor experiência com os recursos do GenAI, incluindo o recurso de rastreamento mais abrangente e o suporte robusto, é altamente recomendável usar a versão mais recente do MLflow.
Atualize o site MLflow em seu notebook executando o seguinte:
%pip install --upgrade "mlflow[databricks]>=3.1" openai
dbutils.library.restartPython()
mlflow[databricks]>=3.1
: Esse comando garante que o senhor tenha o MLflow 3.1 ou uma versão mais recente, juntamente com odatabricks
extra para conectividade e funcionalidade perfeitas no Databricks.dbutils.library.restartPython()
: Isso é crucial para garantir que a nova versão instalada seja usada pelo kernel do Python.
Recomendação de versão do MLflow
Embora o recurso de rastreamento esteja disponível em MLflow 2.15.0+, é altamente recomendável instalar MLflow 3 (especificamente 3.1 ou mais recente se estiver usando mlflow[databricks]
) para obter os recursos mais recentes do GenAI, incluindo recurso de rastreamento expandido e suporte robusto.
Etapa 3: instrumentar sua aplicação
A Databricks oferece acesso imediato a LLMs populares de fronteira e de código aberto. Para executar esse início rápido, o senhor pode escolher entre as seguintes opções de modelo de hospedagem:
- Acessar LLMs hospedados na Databricks.
- Use diretamente seu próprio API key de um provedor LLM como o OpenAI ou os mais de 20 outros SDKs LLM compatíveis com o MLflow.
- Crie um modelo externo para permitir o acesso governado à LLM API chave do seu provedor.
Execute o código a seguir em uma célula do Notebook. Ele usa o decorador@mlflow.trace
combinado com a instrumentação automática da OpenAI para capturar os detalhes da solicitação do LLM.
- Databricks-hosted LLMs
- OpenAI SDK
Use o MLflow para obter um cliente OpenAI que se conecta aos LLMs hospedados pela Databricks. O trecho de código abaixo usa o LLM Claude Sonnet da Anthropic, mas o senhor pode escolher entre os modelos de fundação disponíveis.
import mlflow
from databricks.sdk import WorkspaceClient
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()
# 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(
# Replace this model name with any Databricks-hosted LLM, AI Gateway, or Model Serving endpoint name.
model="databricks-claude-sonnet-4",
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)
Use o SDK nativo do OpenAI para se conectar a modelos hospedados pelo OpenAI. O trecho de código abaixo usa gpt-4o-mini
, mas o senhor pode selecionar entre os modelos disponíveis da OpenAI.
import mlflow
import os
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
# 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")
openai_client = openai.OpenAI()
# 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 = openai_client.chat.completions.create(
model="gpt-4o-mini",
temperature=0.1,
max_tokens=100,
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)
Etapa 4: visualizar o Trace em MLflow
O rastreamento aparecerá abaixo da célula do Notebook.
Opcionalmente, o senhor pode ir para a UI do MLflow Experiment para ver o Trace:
- Clique no ícone Experimentar no lado direito da tela.
- Clique no ícone de abertura ao lado de Experimentar execução.
- O rastreamento gerado aparece em Traces tab.
- Clique no rastreamento para view seus detalhes.
Entendendo o traço
O rastreamento que você acabou de criar mostra:
-
Extensão raiz : representa as entradas para a função
my_app(...)
- Child Span : representa a solicitação de conclusão do OpenAI
-
Atributos : Contém metadados como nome do modelo, contagem de tokens e informações de tempo
-
Entradas : as mensagens enviadas para o modelo
-
Saídas : A resposta recebida do modelo
Esse simples rastreamento já fornece percepções valiosas sobre o comportamento do seu aplicativo, como, por exemplo, o que o senhor está fazendo?
- O que foi perguntado
- Qual resposta foi gerada
- Quanto tempo demorou a solicitação
- Quantos tokens foram usados (afetando o custo)
Para aplicativos mais complexos, como sistemas RAG ou agentes de várias etapas, o MLflow Tracing oferece ainda mais valor ao revelar o funcionamento interno de cada componente e etapa.
Próximas etapas
Continue sua jornada com estas ações recomendadas e o tutorial.
- Avalie a qualidade do seu aplicativo - Meça e melhore a qualidade do seu aplicativo GenAI com os recursos de avaliação do MLflow
- Colete feedback humano - Saiba como coletar feedback de usuários e especialistas do domínio
- Rastreie as sessões & dos usuários - Adicione o contexto do usuário e da conversa aos seus rastreamentos
Guia de referência
Explore a documentação detalhada dos conceitos e recursos mencionados neste guia.
- Conceitos de rastreamento - Entenda os fundamentos do MLflow Tracing
- Modelo de dados de rastreamento - Saiba mais sobre rastreamentos, intervalos e como o MLflow estrutura os dados de observabilidade
- APIs de rastreamento manual - Explore técnicas avançadas de rastreamento para instrumentação personalizada