Todos os produtos
Search
Central de documentação

Platform For AI:Configure logging

Última atualização: Jul 10, 2026

O PAI-Rec oferece dois mecanismos de log — logs de depuração e logs de recursos — para ajudar você a monitorar e analisar seu service de recomendação online.

Tipo de log

Finalidade

Destinos de saída

Log de depuração

Captura dados de itens após as etapas de recall, filtro e classificação preliminar para análise do pipeline

console, DataHub, Kafka, arquivo local

Log de recursos

Captura recursos online do lado do usuário e do item para análise de recursos

DataHub

Configuração de log de depuração

A configuração de log de depuração corresponde a DebugConfs na visão geral da configuração. DebugConfs é uma estrutura Map[string]object indexada pelo nome do cenário, o que permite configurações isoladas por cenário.

{
    "DebugConfs": {
        "${scene_name}": {
            "OutputType": "datahub",
            "Rate": 0,
            "DebugUsers": [
                "1001"
            ],
            "DatahubName": "dh_debug_log",
            "KafkaName": "pairec_debug_log",
            "FilePath": "/Users/username/pairec/debug_log/",
            "MaxFileNum": 20
        }
    }
}

Campos

Campo

Tipo

Obrigatório

Descrição

OutputType

string

Sim

Destino de saída dos logs de depuração. Valores válidos: console, datahub, kafka, file.

Rate

int

Sim

Taxa de amostragem, de 0 a 100. Defina como 0 para desativar a saída de depuração. Consulte Escolher uma taxa de amostragem.

DebugUsers

[]string

Não

Registra logs apenas para os UIDs especificados. Por exemplo, "DebugUsers": ["1001"] restringe o registro ao usuário 1001.

DatahubName

string

Não

Obrigatório quando OutputType é datahub. Nome personalizado definido em DatahubConfs na configuração da source de dados.

KafkaName

string

Não

Obrigatório quando OutputType é kafka. Nome da instância definido em KafkaConfs na configuração da source de dados.

FilePath

string

Não

Obrigatório quando OutputType é file. Caminho do diretório para saída de log. O sistema cria o caminho automaticamente caso não exista.

MaxFileNum

int

Não

Aplicável quando OutputType é file. Número máximo de arquivos de log em FilePath. O padrão é 20. Cada arquivo tem limite de 1 GB. Ao atingir esse tamanho, ocorre a rotação de arquivos. Quando a quantidade de arquivos ultrapassa MaxFileNum, o sistema exclui o arquivo mais antigo.

Escolher uma taxa de amostragem

Serviços de recomendação online geralmente lidam com alto QPS. Como os problemas tendem a se repetir entre requisições, coletar todas as entradas de log raramente é necessário e gera sobrecarga. Defina Rate com base no QPS do service: valores menores reduzem o volume para serviços de alto throughput, enquanto 100 captura todas as requisições. Definir Rate como 0 desativa completamente a saída de depuração.

Campos de log de saída

Cada registro de log de depuração contém os seguintes campos.

Campo

Tipo

Descrição

request_id

string

ID exclusivo para cada requisição de recomendação.

module

string

Estágio do pipeline que gerou o log. Valores atuais: recall, filter, general_rank.

scene_id

string

ID do cenário.

exp_id

string

ID do experimento.

request_time

integer

Timestamp UNIX da requisição em segundos.

uid

string

ID do usuário.

retrieveid

string

ID da source de recall.

items

string

Lista de itens desta source de recall. Consulte os detalhes de formato abaixo.

Formato do campo items

item1:score1:{'dbmtl_prob_click':'0.03'},item2:score2:{'dbmtl_prob_click':'0.04'}

O significado de score depende do valor de module:

  • recall ou filter: score representa a pontuação de recall.

  • general_rank, rank ou sort: score indica a pontuação do service de modelo proveniente do estágio de classificação geral ou de classificação. As chaves contêm todas as pontuações-alvo do modelo. dbmtl_prob_click é um exemplo; os nomes reais dependem do service de modelo.

Dentro de um módulo, os registros são agrupados por retrieveid. Por exemplo, cinco fontes de recall produzem cinco registros separados quando module é recall. Os módulos filter e general_rank seguem o mesmo padrão.

Configuração do DataHub

O mecanismo cria automaticamente o tópico do DataHub na inicialização do service. Assim que a saída de log aparecer no console do DataHub, configure uma assinatura entre MaxCompute e DataHub para persistir os dados em uma tabela do MaxCompute.

{
    "DatahubConfs": {
        "dh_debug_log": {
            "Endpoint": "http://dh-cn-beijing-int-vpc.aliyuncs.com",
            "ProjectName": "project_test",
            "TopicName": "pairec_debug_log",
            "Schemas": [
                {"Field": "request_id", "Type": "string"},
                {"Field": "module", "Type": "string"},
                {"Field": "scene_id", "Type": "string"},
                {"Field": "request_time", "Type": "integer"},
                {"Field": "exp_id", "Type": "string"},
                {"Field": "items", "Type": "string"},
                {"Field": "retrieveid", "Type": "string"},
                {"Field": "uid", "Type": "string"}
            ]
        }
    }
}

Campo

Tipo

Obrigatório

Descrição

Endpoint

string

Sim

Endpoint do DataHub obtido na Lista de nomes de domínio do DataHub. Use um endpoint de VPC se o DataHub e o PAI-Rec estiverem na mesma região; caso contrário, use um endpoint público.

ProjectName

string

Sim

Nome do projeto do DataHub.

TopicName

string

Sim

Nome do tópico do DataHub.

Schemas

[]map

Sim

Definição de schema do tópico do DataHub.

Configuração do Kafka

Configure o nome da instância (correspondente a KafkaName em DebugConfs), o endpoint de ingestão BootstrapServers e o nome de um tópico Kafka existente.

{
    "KafkaConfs": {
        "pairec_debug_log": {
            "BootstrapServers": "alikafka-post-cn-xxxxx-1.alikafka.aliyuncs.com:9093,alikafka-post-cn-xxxxx-2.alikafka.aliyuncs.com:9093,alikafka-post-cn-xxxxx-3.alikafka.aliyuncs.com:9093",
            "Topic": "debug_log"
        }
    }
}
Importante

Ao configurar pelo console do PAI-Rec e implantar no Elastic Algorithm Service (EAS), a Virtual Private Cloud (VPC) e o vSwitch na configuração de rede devem corresponder aos da instância Kafka.

Configuração de log de recursos

A configuração de log de recursos é definida em FeatureLogConfs na visão geral da configuração. Assim como DebugConfs, utiliza uma estrutura Map[string]object indexada pelo nome do cenário para isolamento por cenário.

{
    "FeatureLogConfs": {
        "${scene_name}": {
            "OutputType": "datahub",
            "Rate": 10,
            "DatahubName": "",
            "UserFeatures": "",
            "ItemFeatures": ""
        }
    }
}

Campos

Campo

Tipo

Obrigatório

Descrição

OutputType

string

Sim

Destino de saída. Atualmente, apenas datahub é suportado.

DatahubName

string

Sim

Nome personalizado definido em DatahubConfs na configuração da source de dados.

Rate

int

Não

Taxa de amostragem, de 0 a 100. Para compatibilidade com versões anteriores, omitir este campo ou defini-lo como 0 amostra todos os dados (equivalente a 100).

UserFeatures

string

Não

Lista separada por vírgulas de recursos do lado do usuário a serem registrados. Use * para registrar todos os recursos do usuário. Se estiver em branco ou omitido, nenhum recurso do usuário será registrado.

ItemFeatures

string

Não

Lista separada por vírgulas de recursos do lado do item a serem registrados. Use * para registrar todos os recursos do item. Se estiver em branco, o ID de recall e os recursos de pontuação do modelo serão registrados.

SplitUserItemLogs

bool

Não

Quando ativado, os recursos do usuário e do item são gravados como registros de log separados. Por padrão, cada registro contém o conjunto completo de recursos do usuário mais os recursos de um item, o que gera dados redundantes do usuário em alto QPS. Ative este campo para eliminar essa redundância.

Configuração do DataHub

O mecanismo cria automaticamente o tópico do DataHub na inicialização do service.

{
    "DatahubConfs": {
        "dh_feature_log": {
            "Endpoint": "http://dh-cn-beijing-int-vpc.aliyuncs.com",
            "ProjectName": "",
            "TopicName": "pairec_feature_log",
            "Schemas": [
                {"Field": "request_id", "Type": "string"},
                {"Field": "scene_id", "Type": "string"},
                {"Field": "exp_id", "Type": "string"},
                {"Field": "request_time", "Type": "integer"},
                {"Field": "user_id", "Type": "string"},
                {"Field": "user_features", "Type": "string"},
                {"Field": "item_id", "Type": "string"},
                {"Field": "position", "Type": "string"},
                {"Field": "item_features", "Type": "string"}
            ]
        }
    }
}

Campo

Tipo

Obrigatório

Descrição

Endpoint

string

Sim

Endpoint do DataHub obtido na Lista de nomes de domínio do DataHub. Use um endpoint de VPC se o DataHub e o PAI-Rec estiverem na mesma região; caso contrário, use um endpoint público.

ProjectName

string

Sim

Nome do projeto do DataHub.

TopicName

string

Sim

Nome do tópico do DataHub.

Schemas

[]map

Sim

Definição de schema do tópico do DataHub.