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: (Recomendado) Verifique se o senhor tem a versão mais recente do MLflow
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.
O senhor pode atualizar o site MLflow em seu Notebook executando:
%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 forneceu acesso imediato a LLMs populares de fronteira e de código aberto. Para executar esse início rápido, o senhor pode:
- Usar os LLMs hospedados na Databricks
- Use diretamente seu próprio API key de um provedor LLM
- Crie um modelo externo para permitir o acesso controlado à LLM API chave do seu provedor
Se preferir usar um dos outros mais de 20 SDKs de LLM (Anthropic, Bedrock, etc.) ou estruturas de criação de GenAI (LangGraph, etc.) compatíveis com o MLflow, siga as instruções que aparecem quando você cria um novo experimento MLflow.
Selecione a integração apropriada para seu aplicativo:
-
Crie uma célula em seu Notebook com o código abaixo
Aqui, usamos o decorador
@mlflow.trace
que facilita o rastreamento de qualquer aplicativo Python combinado com a instrumentação automática da OpenAI para capturar os detalhes da chamada para o SDK da OpenAI.O trecho de código abaixo usa o Claude Sonnet LLM da Anthropic. O senhor pode selecionar outro LLM na lista de modelos básicos compatíveis.
Pythonimport 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
mlflow_creds = mlflow.utils.databricks_utils.get_databricks_host_creds()
client = OpenAI(
api_key=mlflow_creds.token,
base_url=f"{mlflow_creds.host}/serving-endpoints"
)
# 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="databricks-claude-sonnet-4", # This example uses a Databricks hosted LLM - you can replace this with any AI Gateway or Model Serving endpoint. If you have an external model endpoint configured, you can use that model name here.
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) -
execução a célula Notebook para executar o código
Etapa 4: visualizar o Trace em MLflow
- O Trace aparecerá abaixo da célula do Notebook
- Opcionalmente, o senhor pode acessar 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
- Agora o senhor verá o rastreamento gerado em Traces tab
- Clique no rastreamento para acessar 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