Agentes de rastreamento implantados fora do Databricks
MLflow Tracing fornece observabilidade abrangente para agentes GenAI de produção implantados fora do site Databricks, capturando detalhes de execução e enviando-os para o site Databricks workspace , onde o senhor pode view na interface do usuário MLflow.
Esta página aborda os agentes implantados fora do site Databricks com o rastreamento ativado. Se o seu agente estiver implantado usando o Databricks servindo modelo, consulte implantado com o Agent Framework (recomendado).
Pré-requisitos
Instale o pacote necessário. A tabela a seguir descreve suas opções:
Pacote | Caso de uso recomendado | Benefícios |
---|---|---|
| Implantações de produção | Dependências mínimas para implantações rápidas e enxutas desempenho otimizado para rastreamento de grandes volumes Focado no rastreamento do lado do cliente para monitoramento da produção |
Desenvolvimento e experimentação | Conjunto completo de recursos de experimentação MLflow (UI, LLM-as-a-judge, ferramentas de desenvolvimento e muito mais) Inclui todas as ferramentas e utilidades de desenvolvimento |
## Install mlflow-tracing for production deployment tracing
%pip install --upgrade mlflow-tracing
## Install mlflow for experimentation and development
%pip install --upgrade "mlflow[databricks]>=3.1"
Configuração básica de rastreamento
Configure a implementação do aplicativo para se conectar ao Databricks workspace para que o Databricks possa coletar traces.
Configure as seguintes variáveis de ambiente:
# Required: Set the Databricks workspace host and authentication token
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-databricks-token"
# Required: Set MLflow Tracking URI to "databricks" to log to Databricks
export MLFLOW_TRACKING_URI=databricks
# Required: Configure the experiment name for organizing traces (must be a workspace path)
export MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app"
Exemplos de implantação
Depois que as variáveis de ambiente forem definidas, passe-as para o seu aplicativo. Clique na guia para ver como passar os detalhes da conexão para diferentes estruturas.
- Docker
- Kubernetes
Para implementações em Docker, passe a variável de ambiente por meio da configuração do contêiner:
# Dockerfile
FROM python:3.11-slim
# Install dependencies
COPY requirements.txt .
RUN pip install -r requirements.txt
# Copy application code
COPY . /app
WORKDIR /app
# Set default environment variables (can be overridden at runtime)
ENV DATABRICKS_HOST=""
ENV DATABRICKS_TOKEN=""
ENV MLFLOW_TRACKING_URI=databricks
ENV MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app"
CMD ["python", "app.py"]
executar o contêiner com variável de ambiente:
docker run -d \
-e DATABRICKS_HOST="https://your-workspace.cloud.databricks.com" \
-e DATABRICKS_TOKEN="your-databricks-token" \
-e MLFLOW_TRACKING_URI=databricks \
-e MLFLOW_EXPERIMENT_NAME="/Shared/production-genai-app" \
-e APP_VERSION="1.0.0" \
your-app:latest
Para implantações do Kubernetes, passe a variável de ambiente usando ConfigMaps e Secrets:
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: databricks-config
data:
DATABRICKS_HOST: 'https://your-workspace.cloud.databricks.com'
MLFLOW_TRACKING_URI: databricks
MLFLOW_EXPERIMENT_NAME: '/Shared/production-genai-app'
---
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: databricks-secrets
type: Opaque
stringData:
DATABRICKS_TOKEN: 'your-databricks-token'
---
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: genai-app
spec:
template:
spec:
containers:
- name: app
image: your-app:latest
envFrom:
- configMapRef:
name: databricks-config
- secretRef:
name: databricks-secrets
env:
- name: APP_VERSION
value: '1.0.0'
Verificar a coleta de traços
Depois de implantar o aplicativo, verifique se os rastros foram coletados corretamente:
import mlflow
from mlflow.client import MlflowClient
import os
# Ensure MLflow is configured for Databricks
mlflow.set_tracking_uri("databricks")
# Check connection to MLflow server
client = MlflowClient()
try:
# List recent experiments to verify connectivity
experiments = client.search_experiments()
print(f"Connected to MLflow. Found {len(experiments)} experiments.")
# Check if traces are being logged
traces = mlflow.search_traces(
experiment_names=[os.getenv("MLFLOW_EXPERIMENT_NAME", "/Shared/production-genai-app")],
max_results=5
)
print(f"Found {len(traces)} recent traces.")
except Exception as e:
print(f"Error connecting to MLflow: {e}")
print(f"Check your authentication and connectivity")
Next os passos
Depois que o agente for implantado com registro de rastreamento no servidor Databricks MLflow , o senhor poderá view, aumentar e analisar os rastreamentos:
- Exibir traços na interface de usuário MLflow
- Adicione metadados aos rastros, incluindo IDs de usuário ou de sessão, tags personalizado ou feedback do usuário para melhor depuração e percepções
- Acompanhar o uso e o custo dos tokens
- Avalie e monitore seu agente usando scorers, conjunto de dados de avaliação e monitoramento de produção
referências de recursos
Para obter detalhes sobre os conceitos e recursos deste guia, consulte:
- Rastreando detalhes da implantação - Detalhes sobre como rastrear as opções de implantação
- Modelo de dados de rastreamento - Saiba mais sobre traços, extensões e atributos
- Avaliações de registro - Entenda como o feedback é armazenado e usado