Todos os produtos
Search
Central de documentação

Platform For AI:Ative o rastreamento para aplicações de LLM no EAS

Última atualização: Aug 21, 2026

Ative o rastreamento distribuído para monitorar o desempenho de aplicações de LLM, visualizar cadeias de chamadas e identificar gargalos.

Visão geral

O EAS integra-se ao ARMS para adicionar observabilidade às aplicações de LLM, permitindo rastrear cadeias de chamadas, identificar gargalos de desempenho e detectar erros.

O rastreamento oferece:

  • Visualização da cadeia de chamadas: mapeia todo o caminho da requisição com logs claros.

  • Monitoramento de desempenho: acompanha tempo de resposta, consumo de tokens e contagem de erros para identificar gargalos.

  • Identificação de problemas: localiza falhas por meio de Trace IDs com análise contextual da causa raiz.

  • Avaliação: valida a precisão e a confiabilidade das saídas do LLM usando dados de rastreamento.

Conceitos principais

  • Trace

    Caminho completo de execução de uma requisição em um sistema distribuído, composto por múltiplos spans. Cada trace possui um TraceID exclusivo para acompanhar fluxos de requisições e localizar gargalos ou erros.

  • Span

    Unidade básica de um trace que representa uma operação específica. Registra o nome da operação, horário de início e horário de término.

  • Python probe

    Coleta automaticamente dados da cadeia de chamadas e métricas de desempenho de aplicações Python. Instale um Python probe ao implantar um service do EAS para ativar o rastreamento.

  • Avaliação

    Analisa as respostas da aplicação de LLM em várias dimensões. Entre em contato com seu gerente de negócios para confirmar os nomes específicos das dimensões de avaliação.

Limitações

Este recurso suporta apenas aplicações de LLM baseadas em Python desenvolvidas com LangChain, LlamaIndex ou DashScope.

Pré-requisitos

Etapa 1: Prepare o código de exemplo

Este tutorial usa um service de previsão simples para demonstrar a implantação, invocação e visualização de traces.

O exemplo utiliza a API do DashScope com Flask para criar um web service que chama Generation.call para geração de texto. Ative o DashScope e obtenha uma chave de API conforme descrito em Call the Tongyi Qianwen API for the first time. Defina DASHSCOPE_API_KEY como variável de ambiente ao implantar o service. Exemplo de app.py:

import os
import json
import flask
import dashscope

app = flask.Flask(__name__)

def run_query(query):
    """Run a query."""

    response = dashscope.Generation.call(
        api_key=os.getenv('DASHSCOPE_API_KEY'),
        model="qwen-plus",
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': query}
        ],
        result_format='message'
    )
    return response

@app.route('/api/trace_demo', methods=['POST'])
def query():
    """
    Post data example:
    {
        "query": "capital of china"
    }
    """
    data = flask.request.get_data("utf-8")
    query = json.loads(data).get('query', '')
    response = run_query(query)
    return response.output.choices[0].message.content

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)  

Etapa 2: Ative o rastreamento

Ao implantar um service do EAS, ative Tracing em Service Features. Se sua imagem não possuir um componente de rastreamento integrado, configure os comandos de instalação e inicialização do probe. Manually install a Python probe.

  • Imagem com rastreamento integrado: ative Tracing. Nenhuma configuração adicional é necessária.

  • Imagem sem rastreamento integrado: ative Tracing e configure bibliotecas de terceiros e o comando de inicialização.

    Parâmetro

    Descrição

    Command to Run

    Adicione aliyun-bootstrap -a install && aliyun-instrument python app.py. Isso instala e inicia o Python probe do ARMS. O arquivo app.py é o principal arquivo do service de previsão. Adicione também aliyun-bootstrap às bibliotecas de terceiros para o instalador do probe.

    Third-party Library Settings

    Adicione aliyun-bootstrap para baixar o instalador do probe do PyPI.

Este exemplo usa uma imagem sem rastreamento integrado. Os principais parâmetros de implantação estão listados abaixo. Deploy a service in the console. Após a implantação:

Parâmetro

Descrição

Environment Information

Deployment Method

Selecione Image-based Deployment.

Image Configuration

Este tópico usa a imagem padrão: Alibaba Cloud Image.

Você também pode inserir uma imagem personalizada preparada na aba Image Address.

Directly Mount

Monte o código de exemplo na instância do service. Para este exemplo, clique em OSS e configure:

  • Uri: selecione a pasta do OSS que contém o código de exemplo. Instruções de upload: Quick Start in the console.

  • Mount Path: defina como /mnt/data/. O arquivo de código será lido deste caminho.

Ignore esta etapa se sua imagem personalizada já incluir o arquivo do service de previsão.

Command

Este tópico define o comando como aliyun-bootstrap -a install && aliyun-instrument python /mnt/data/app.py.

/mnt/data/app.py é o arquivo de código de exemplo montado.

Environment Variables

O código de exemplo chama a API do DashScope. Clique em Add e adicione esta variável de ambiente:

Third-party Library Settings

Defina as bibliotecas de terceiros como aliyun-bootstrap flask dashscope.

Service Access

VPC

Para usar o recurso de rastreamento, você deve configurar uma virtual private cloud (VPC). Selecione uma VPC, um vSwitch e um Security group na região.

Os services do EAS não acessam a Internet por padrão. O código de exemplo requer acesso à Internet para chamadas à API do DashScope. Configure o acesso seguindo Scenario 1: Allow an EAS service to access the Internet.

vSwitch

Security Group Name

Features

Tracing Analysis

Ative a opção Tracing e configure as bibliotecas de terceiros e o comando de inicialização na seção Environment Context.

Etapa 3: Visualize os traces

Uma ferramenta de avaliação baseada em traces ajuda os desenvolvedores a verificar a precisão e a confiabilidade das saídas da aplicação de LLM:

Chame o service do EAS

Este exemplo usa depuração online. Você também pode invocar o service via API calls.

  1. Na página Elastic Algorithm Service (EAS), localize o service desejado e clique em image > Online Debugging na coluna Actions.

  2. Na aba Body, envie dados de requisição para o endereço especificado com base no seu service de previsão definido.

    Este tópico usa a interface de service definida no arquivo app.py de exemplo. Uma requisição e resposta de exemplo são mostradas a seguir:

    Na aba Online Debugging, defina o método de requisição como POST, defina a URL como http://xxx.com/api/predict/xxx/api/trace_demo e insira o seguinte corpo de requisição: {"query": "capital of china"}. Clique em Send Request. A resposta retorna um código de status 200 e o seguinte conteúdo no corpo: The capital of China is Beijing.

Visualize as informações de trace

Nota

Por padrão, os dados de trace são armazenados por 30 dias a partir da geração. Para estender o período de armazenamento, entre em contato com a equipe do ARMS para configuração personalizada.

  1. Mude para a aba Trace Query dentro da aba Tracing Analysis para visualizar as informações de trace.

  2. Localize o trace desejado e clique em View Traces na coluna Actions para acessar a página Trace details.

    Nesta página, visualize a entrada, a saída e os detalhes dos logs do service.

    Nota: se você usar um usuário do RAM ou uma função do RAM, deverá conceder a permissão AliyunARMSReadOnlyAccess para utilizar este recurso.

    A página Trace details exibe as informações completas da cadeia de chamadas para a invocação do LLM, incluindo:

    • Aba Content: a área INPUT à esquerda mostra o prompt do sistema e a mensagem do usuário; a área OUTPUT à direita mostra a resposta do assistente.

    • Waterfall Chart: mostra a duração do span do LLM e estatísticas de tokens.

    • Painel Span Details: exibe informações básicas como nome da aplicação, nome da interface, endereço IP, horários de início e fim, ID do span e código de status.

    • Área Additional Information: contém as abas Attributes, Resources e Details, que mostram o nome do modelo (por exemplo, qwen-plus) e o conteúdo completo das Input Messages e Output Messages.

  3. Para compartilhar detalhes do trace, clique no ícone de compartilhamento image para gerar um endereço de uso único.

    Nota: se você usar um usuário do RAM ou uma função do RAM, deverá conceder a permissão cms:CreateTicket antes de utilizar este recurso.

Etapa 4: Avalie o desempenho da aplicação

O EAS suporta dois métodos de avaliação baseados em traces:

  • Method 1: Evaluate a single trace: selecione manualmente um trace do service do EAS para avaliação. Ideal para a fase de desenvolvimento ou testes, permitindo depurar um trace específico e verificar sua lógica e desempenho.

  • Method 2: Evaluate traces in batches online: avalie periodicamente traces amostrados do service do EAS em execução. Recomendado para testes de desempenho em larga escala ou validação de recursos, fornecendo uma visão geral do status do sistema.

Nota

Por padrão, os dados de trace são armazenados por 30 dias a partir da geração. Para estender o período de armazenamento, entre em contato com a equipe do ARMS para configuração personalizada.

Método 1: Avaliar um único trace

  1. Na aba Trace Query da aba Tracing Analysis, localize o trace desejado e clique em Evaluate na coluna Actions. Em seguida, no painel de configuração Evaluate, configure os seguintes parâmetros.

    • Evaluation Metrics: configuração fixa que não pode ser alterada. A avaliação é realizada com base nas seguintes dimensões.

      Métrica de Avaliação

      Descrição

      Correctness

      Determina se a resposta aborda corretamente a pergunta com base na entrada e no texto de referência.

      Faithfulness

      Verifica se a resposta foi gerada com base na entrada e no texto de referência e se contém alucinações.

      Retrieval Relevance

      Avalia se os resultados recuperados são relevantes para a pergunta de entrada. Inclui as quatro métricas seguintes:

      • nDCG: Normalized Discounted Cumulative Gain

      • Hit Rate

      • Precision@K

      • MRR: Mean Reciprocal Rank

    • Model Settings: o LLM usado para avaliar o trace. Após a configuração inicial, esses valores são preenchidos automaticamente nas avaliações subsequentes.

      Parâmetro

      Descrição

      Model Selection

      Os dois modelos a seguir são suportados:

      Model Token

      Insira o token do modelo selecionado:

    • Extraction Configuration: nas seções Query Extraction Configuration, Answer Extraction Configuration e Context Extraction Configuration, configure os parâmetros da tabela a seguir para extrair o conteúdo correspondente:

      • Query Extraction Configuration: extrai o conteúdo da consulta do usuário (entrada).

      • Answer Extraction Configuration: extrai a resposta gerada pelo sistema (saída).

      • Context Extraction Configuration: extrai o texto ou informações de contexto fornecidas ao sistema (documentos).

      Parâmetro

      Descrição

      SpanName

      Localiza um span que corresponda ao SpanName.

      JsonPathInSpan

      Formato a.b.c. Este parâmetro não pode estar vazio. Extrai um valor de um elemento específico do span correspondente.

      JsonPathInSpanValue

      Formato a.b.c. Este parâmetro pode estar vazio. Após encontrar o elemento correspondente a JsonPathInSpan, se o conteúdo desse elemento for uma string JSON, JsonPathInSpanValue é usado para extrair o valor correspondente.

      Clique em View Traces na coluna Actions para obter o conteúdo de configuração na página Trace details. A tabela a seguir mostra exemplos de configuração:

      Configuração de Extração

      Como obter

      Valor de exemplo

      Query Extraction Configuration

      Este tópico fornece um exemplo onde JsonPathInSpanValue não tem valor. Na página de detalhes do trace, obtenha o valor de JsonPathInSpan da seguinte forma:

      1. No gráfico waterfall à esquerda, selecione o span do LLM para visualizar o conteúdo de INPUT e OUTPUT e a duração da cadeia de chamadas.

      2. No painel Span Details à direita, clique na aba Attributes para expandir a lista de atributos relacionados ao GenAI.

      3. Verifique o campo input.value. Seu valor é um array JSON contendo role e content, por exemplo: [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "capital of china"}].

      Para um exemplo onde JsonPathInSpanValue possui valor, consulte a coluna Valor de exemplo.

      • JsonPathInSpanValue sem valor

        • SpanName: LLM

        • JsonPathInSpan: attributes.input.value

        • JsonPathInSpanValue: como o conteúdo do elemento JsonPathInSpan não é uma string JSON, este parâmetro está vazio.

      • JsonPathInSpanValue com valor

        • SpanName: LLM

        • JsonPathInSpan: attributes.input.value

        • JsonPathInSpanValue: como o conteúdo do elemento JsonPathInSpan é uma string JSON, insira text[0] aqui.

      Answer Extraction Configuration

      Na página Trace details, no gráfico waterfall, clique no span LLM (a source de SpanName). Em seguida, no painel Span Details à direita, abra a aba Attributes e localize o campo output.value (o caminho correspondente a JsonPathInSpan). Este campo contém a resposta JSON completa retornada pelo modelo.

      • SpanName: LLM

      • JsonPathInSpan: attributes.output.value

      • JsonPathInSpanValue: este parâmetro está vazio.

      Context Extraction Configuration

      O service de exemplo neste tópico não inclui uma configuração de extração de contexto. Para um exemplo, consulte a coluna Valor de exemplo.

      • SpanName: retrieve

      • JsonPathInSpan: attributes.retrieval.documents[*].document.content

        Importante

        Apenas a configuração de contexto suporta o uso de asterisco (*).

      • JsonPathInSpanValue: como o conteúdo do elemento JsonPathInSpan não é uma string JSON, este parâmetro está vazio.

  2. Após configurar os parâmetros, clique em Confirm.

    Quando um resultado de pontuação (por exemplo, notas para as dimensões Correctness e Faithfulness) aparecer na coluna Evaluation Result, a avaliação estará concluída. Clique no resultado para ver seus detalhes.

Método 2: Avaliar traces em lotes online

  1. Na aba Online Evaluation da aba Tracing Analysis, clique em New Assessment.

  2. Na página Create Evaluation Task, configure os seguintes parâmetros e clique em Confirm.

    Parâmetro

    Descrição

    Basic Configuration

    Task Name

    Insira um nome personalizado para a tarefa.

    Evaluation Configuration

    Evaluation Metrics

    Configuração fixa que não pode ser alterada. A avaliação é realizada com base nas seguintes dimensões:

    • Correctness: determina se a resposta aborda corretamente a pergunta com base na entrada e no texto de referência.

    • Faithfulness: verifica se a resposta foi gerada com base na entrada e no texto de referência e se contém alucinações.

    • Retrieval Relevance: avalia se o conteúdo recuperado é relevante para a pergunta de entrada. Inclui as quatro métricas seguintes:

      • nDCG: Normalized Discounted Cumulative Gain

      • Hit Rate

      • Precision@K

      • MRR: Mean Reciprocal Rank

    Model Selection

    Os dois modelos a seguir são suportados:

    Model Token

    Insira o token do modelo selecionado:

    Sampling Start and End Time

    Selecione as datas de início e fim para amostragem.

    Sampling Policy

    As seguintes políticas de amostragem estão disponíveis:

    • Time window-based sampling: captura um trace em intervalos regulares (a cada x minutos).

    • Probability-based sampling: captura aleatoriamente uma porcentagem especificada de traces.

    QCA Extraction Configuration: os dados de trace são formatados como uma string JSON. A configuração de extração QCA define o caminho para o QCA dentro desta estrutura JSON. O valor neste caminho representa o conteúdo específico do QCA.

    Query Extraction Configuration

    • Query Extraction Configuration: extrai o conteúdo da consulta do usuário (entrada).

    • Answer Extraction Configuration: extrai a resposta gerada pelo sistema (saída).

    • Context Extraction Configuration: extrai o texto ou informações de contexto fornecidas ao sistema (documentos).

    Configure SpanName, JsonPathInSpan e JsonPathInSpanValue para extrair o conteúdo correspondente. Detalhes da configuração: Extraction Configuration.

    Answer Extraction Configuration

    Context Extraction Configuration

    Quando o Status da tarefa mostrar Completed, todas as avaliações estarão finalizadas e nenhum novo resultado será gerado.

  3. Após a conclusão da avaliação, visualize os resultados na coluna Evaluation Result da tarefa de avaliação. Clique no nome da tarefa para ver seus detalhes.

    • Visualizar resultados da avaliação: o sistema calcula e exibe a pontuação média de todas as avaliações bem-sucedidas. Uma pontuação mais próxima de 1 indica maior qualidade.

    • Visualizar detalhes da avaliação: clique no nome da tarefa de avaliação para ver os detalhes. A página de detalhes contém as seguintes seções:

      • Informações básicas: nome da tarefa, ID da tarefa, status e horário de criação.

      • Informações de configuração da avaliação: métricas de avaliação (Faithfulness, Correctness, Retrieval Relevance), seleção de modelo (PAI judge model), horários de início e fim da amostragem, política de amostragem (taxa de amostragem) e configuração de extração de Query/Context/Answer (incluindo o caminho SpanName).

      • Resumo dos resultados da avaliação: pontuação média para cada métrica (como Faithfulness, Correctness, nDCG, Hit Rate, MRR e Precision@K), além do número total de traces amostrados e do número de traces avaliados com sucesso.

      • Lista de TraceId: mostra a entrada, a saída e os resultados de avaliação por trace (como ausência de alucinação para Faithfulness, correto para Correctness e rótulos de Retrieval Relevance) e o horário de avaliação para cada trace, além de suportar as ações View Trace e Re-evaluate.

Após a criação, gerencie a tarefa atualizando, parando, excluindo ou clonando-a. A clonagem duplica a configuração em uma nova tarefa.