Rastreando um aplicativo GenAI (IDE)
Este início rápido ajuda a integrar seu aplicativo GenAI ao MLflow Tracing se o senhor usar um IDE local como ambiente de desenvolvimento. Se o senhor usar um Databricks Notebook, use o início rápido do Databricks Notebook.
O que você alcançará
Ao final deste tutorial, o senhor terá:
- Um experimento de MLflow para seu aplicativo GenAI
- Seu ambiente de desenvolvimento local conectado ao MLflow
- 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: Instalar o MLflow
Ao trabalhar em seu IDE local, o senhor precisa instalar o MLflow com a conectividade Databricks.
pip install --upgrade "mlflow[databricks]>=3.1" openai
Etapa 2: Criar um novo experimento MLflow
Um experimento MLflow é 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 Experimentos na barra lateral esquerda em Aprendizado de Máquina
- Na parte superior da página de experimentos, clique em Novo experimento GenAI
Etapa 3: Conecte seu ambiente ao MLflow
Este início rápido descreve o uso de tokens de acesso pessoal Databricks. O MLflow também funciona com os outros métodos de autenticação compatíveis com o Databricks.
- Use environment variables
- Use a .env file
-
Clique em Generate API key (Gerar chave )
-
Copie e execute o código gerado em seu terminal.
Bashexport DATABRICKS_TOKEN=<databricks-personal-access-token>
export DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
export MLFLOW_TRACKING_URI=databricks
export MLFLOW_EXPERIMENT_ID=<experiment-id>
-
Clique em Generate API key (Gerar chave )
-
Copie o código gerado para um arquivo
.env
na raiz do seu projetoBashDATABRICKS_TOKEN=<databricks-personal-access-token>
DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
MLFLOW_TRACKING_URI=databricks
MLFLOW_EXPERIMENT_ID=<experiment-id> -
Instale o pacote
python-dotenv
Bashpip install python-dotenv
-
Carregar variável de ambiente em seu código
Python# At the beginning of your Python script
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
Etapa 4: criar e instrumentar seu aplicativo
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
O exemplo de início rápido abaixo usa o SDK da OpenAI para se conectar a um LLM hospedado na Databricks. Se o senhor quiser usar seu próprio OpenAI key, atualize a linha client = OpenAI(...)
.
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 na interface do usuário do MLflow Experiment na etapa anterior.
-
Crie um arquivo Python chamado
app.py
no diretório do seu projeto.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 openai import OpenAI
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Connect to a Databricks LLM via OpenAI using the same credentials as MLflow
# Alternatively, you can use your own OpenAI credentials here
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 provide your own OpenAI credentials, replace with a valid OpenAI model e.g., gpt-4o, etc.
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 do aplicativo
Bashpython app.py
Etapa 5: visualizar o Trace em MLflow
- Navegue de volta para a UI do experimento MLflow
- 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