visualizar os rastros do Mlflow
Para view MLflow traces depois de executar um agente generativo AI, use uma das seguintes opções:
-
Visualização em linha : Veja os traços renderizados diretamente nas saídas de células do Databricks Notebook.
-
experimentos do espaço de trabalho : Em seu Databricks workspace, vá para Experiments , selecione um experimento e clique em Traces .
-
MLflow execução : Os rastros aparecem na página de execução da interface do usuário MLflow quando um agente executa sob uma execução ativa do MLflow.
-
UI de avaliação do agente : Em Agent Evaluation (Avaliação de agente), clique em See detailed trace view (Ver visualização de rastreamento detalhada ) no resultado da avaliação.
Procure rastros
Use a interface do usuário ou a API para pesquisar e filtrar rastreamentos em propriedades como nome do rastreamento, tags e status. Você também pode extrair campos específicos de extensões usando o argumento extract_field
.
- UI search
- API search
A interface do usuário do MLflow oferece suporte a uma linguagem de consulta semelhante a SQL para filtrar traços por propriedades.
Encontre traços para uma função específica:
name = 'get_weather'
Obtenha rastreamentos com um status específico:
status = 'ERROR'
Combine filtros:
name = 'get_weather' AND status = 'ERROR'
O MLflow fornece duas APIs para pesquisar traços programaticamente, mlflow.search_traces()
e MlflowClient.search_traces()
.
Use mlflow.search_traces()
para obter uma lista de rastreamentos no formato Pandas DataFrame . O formato DataFrame é útil para análise e avaliação.
# High-level API - returns a pandas DataFrame
traces_df = mlflow.search_traces(
filter_string="trace.name = 'agent_function' AND trace.status = 'OK'",
order_by=["timestamp DESC"],
# You can also extract specific span fields as dataframe columns
extract_fields=[
".inputs",
".outputs",
],
max_results=100
)
Use MlflowClient.search_traces()
para obter uma lista de rastreamentos em um formato de lista Python.
# Client API - returns Trace objects
from mlflow import MlflowClient
client = MlflowClient()
traces = client.search_traces(
experiment_ids=[experiment.experiment_id],
filter_string="tag.user_id = '12345'",
)
Para obter mais informações sobre a sintaxe do filtro de rastreamento, consulte a documentaçãoMLflow Tracing - filtering traces.
anotar traços com etiquetas
As tags de rastreamento do MLflow ajudam o senhor a filtrar e pesquisar rastreamentos na interface do usuário. keyAs tags são valores parciais que permitem adicionar metadados personalizados aos traces, como um ID de conversa, um ID de usuário, Git commit hash, etc.
O senhor pode definir tags em rastreamentos em andamento ou concluídos usando as APIs do MLflow ou a interface do usuário. O exemplo a seguir adiciona uma tag a um rastreamento em andamento usando a API mlflow.update_current_trace()
:
@mlflow.trace
def my_func(x):
mlflow.update_current_trace(tags={"fruit": "apple"})
return x + 1
Para saber mais sobre a marcação de traços e como usá-los para filtrar e pesquisar traços, consulte a documentação do MLflow - Definição de tags de traço.
Avalie agentes usando rastreamentos
Os dados de rastreamento servem como um recurso valioso para avaliar seus agentes. Ao capturar informações detalhadas sobre a execução de seus modelos, o site MLflow Tracing é fundamental para a avaliação off-line. O senhor pode usar os dados de rastreamento para avaliar o desempenho do seu agente em relação a um golden dataset, identificar problemas e melhorar o desempenho do agente.
%pip install -U mlflow databricks-agents
%restart_python
import mlflow
# Get the recent 50 successful traces from the experiment
traces = mlflow.search_traces(
max_results=50,
filter_string="status = 'OK'",
)
traces.drop_duplicates("request", inplace=True) # Drop duplicate requests.
traces["trace"] = traces["trace"].apply(lambda x: x.to_json()) # Convert the trace to JSON format.
# Evaluate the agent with the trace data
mlflow.evaluate(data=traces, model_type="databricks-agent")
Para saber mais sobre a avaliação de agentes, consulte executar uma avaliação e view os resultados.
Monitorar agentes implantados com tabelas de inferência
Depois que um agente é implantado no Mosaic AI Model Serving, o senhor pode usar tabelas de inferência para monitorar o agente.
As tabelas de inferência contêm detalhes logs de solicitações, respostas, rastreamentos de agentes e feedback de agentes do aplicativo de análise. Essas informações permitem que o senhor depure problemas, monitore o desempenho e crie um golden dataset para avaliação off-line.
Para habilitar tabelas de inferência para implantações de agentes, consulte Habilitar tabelas de inferência para agentes AI.
Use um Notebook para consultar a tabela de inferência e analisar os resultados.
Para visualizar os traços, execute display(<the request logs table>)
e selecione as linhas a serem inspecionadas:
# Query the inference table
df = spark.sql("SELECT * FROM <catalog.schema.my-inference-table-name>")
display(df)
Próximas etapas
Consulte Monitorar aplicativos implantados usando o Agent Framework.