Pular para o conteúdo principal

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

trace

Pré-requisitos

  • Databricks Workspace : Acesso a um site Databricks workspace.

Etapa 1: Criar um Databricks Notebook

nota

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.

  1. Abra o site Databricks workspace
  2. Vá para Novo na parte superior da barra lateral esquerda
  3. Clique em Notebook

Notebook Criação

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:

Python
%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 o databricks 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.
atenção

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

dica

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:

  1. Usar os LLMs hospedados na Databricks
  2. Use diretamente seu próprio API key de um provedor LLM
  3. 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:

  1. 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.

    Python
    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
    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)
  2. execução a célula Notebook para executar o código

Etapa 4: visualizar o Trace em MLflow

  1. O Trace aparecerá abaixo da célula do Notebook
  2. Opcionalmente, o senhor pode acessar a UI do MLflow Experiment para ver o Trace
    1. Clique no ícone Experimentar no lado direito da tela
    2. Clique no ícone de abertura ao lado de Experimentar execução
    3. Agora o senhor verá o rastreamento gerado em Traces tab
    4. 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)
dica

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.

Guia de referência

Explore a documentação detalhada dos conceitos e recursos mencionados neste guia.