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. -
Inicialize um cliente OpenAI para se conectar a LLMs hospedados pela Databricks ou LLMs hospedados pela OpenAI.
- Databricks-hosted LLMs
- OpenAI-hosted LLMs
Use o MLflow para obter um cliente OpenAI que se conecta aos LLMs hospedados pela Databricks. Selecione um modelo dentre os modelos de base disponíveis.
import mlflow
from databricks.sdk import WorkspaceClient
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/docs-demo")
# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()
# Select an LLM
model_name = "databricks-claude-sonnet-4"
Use o SDK nativo do OpenAI para se conectar a modelos hospedados pelo OpenAI. Selecione um modelo dentre os modelos OpenAI disponíveis.
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/docs-demo")
# Create an OpenAI client connected to OpenAI SDKs
client = openai.OpenAI()
# Select an LLM
model_name = "gpt-4o-mini"
-
Defina e execute sua aplicação:
Utilize o decorador `
@mlflow.trace
`, que facilita o rastreamento de qualquer aplicação Python combinada com a instrumentação automática da OpenAI para capturar os detalhes da chamada ao SDK da OpenAI.Python# 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, # 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