Todos os produtos
Search
Central de documentação

Platform For AI:Manage features in a recommendation system by using FeatureStore

Última atualização: Jun 27, 2026

Crie e implante um sistema de recomendação com o FeatureStore para gerenciar recursos de ponta a ponta.

Visão geral da arquitetura

O FeatureStore gerencia recursos durante todo o ciclo de vida e conecta serviços da Alibaba Cloud por meio dos SDKs em Python, Go, C++ e Java:

Camada

Função

Serviços

Dados

Armazena recursos offline e atende online

MaxCompute (offline), FeatureDB / Hologres / Tablestore (online)

Gerenciamento de recursos

Organiza recursos em projetos, entidades e visualizações

Console do FeatureStore ou SDK em Python

Treinamento

Exporta conjuntos de treinamento unindo recursos a rótulos

Framework EasyRec

Atendimento

Sincroniza recursos, hospeda modelos e orquestra recomendações

DataWorks (agendamento), EAS (serviço de modelo, SDK em C++), PAI-REC (SDK em Go)

Para um tutorial detalhado com código, execute o Python Notebook na DSW Gallery.

Para obter informações básicas, leia a Visão geral do FeatureStore.

Em caso de dúvidas, participe do grupo 34415007523 no DingTalk.

Pré-requisitos

Conclua as configurações a seguir:

Produto obrigatório

Ação

Platform for AI (PAI)

Ative o PAI e crie um workspace do PAI. Ativar o PAI e criar um workspace padrão.

MaxCompute

1. Ativar o MaxCompute. 2. Criar um projeto do MaxCompute.

FeatureDB

Ative o FeatureDB. Criar uma nova fonte de dados online: FeatureDB. Siga as instruções na tela.

DataWorks

1. Ative o DataWorks e crie um workspace. Criar um workspace. 2. Adquira um grupo de recursos exclusivo para agendamento e anexe-o ao workspace. Usar um grupo de recursos exclusivo para agendamento. 3. Configure uma fonte de dados do MaxCompute para o workspace do PAI. Configurar uma fonte de dados. 4. Anexe um mecanismo de computação do MaxCompute ao workspace do PAI. Anexar um mecanismo do MaxCompute. 5. Anexe um mecanismo de computação do Hologres ao workspace do PAI. Anexar um mecanismo de computação do Hologres.

Object Storage Service (OSS)

Ative o OSS. Início rápido no console.

Etapa 1: Preparar dados

Sincronizar tabelas de dados

Cenários típicos de recomendação exigem três tabelas de dados: recursos de usuário, recursos de item e rótulos. Este tutorial utiliza tabelas simuladas no projeto do MaxCompute pai_online_project.

Tabela

Nome

Entradas por partição

Tamanho

Usuário

rec_sln_demo_user_table_preprocess_all_feature_v1

~100.000

~70 MB

Item

rec_sln_demo_item_table_preprocess_all_feature_v1

~100.000

~70 MB

Rótulo

rec_sln_demo_label_table

~450.000

~5 MB

Execute o SQL a seguir no DataWorks para sincronizar essas tabelas de pai_online_project para seu projeto do MaxCompute.

Criar um nó ODPS SQL

  1. Faça login no console do DataWorks.

  2. No painel de navegação à esquerda, clique em Data Development and O&M > Data Development.

  3. Selecione o workspace do DataWorks criado e clique em Go to Data Studio.

  4. Passe o mouse sobre Create e escolha Create Node > MaxCompute > ODPS SQL. Configure os parâmetros do nó.

    Parâmetro

    Valor sugerido

    Node Type

    ODPS SQL

    Path

    Business Flow/Workflow/MaxCompute

    Name

    Insira um nome personalizado.

  5. Clique em OK.

Executar comandos SQL de sincronização

Na área do nó, execute o SQL a seguir para cada tabela. Em Resource Group, selecione o grupo de recursos exclusivo para agendamento criado.

Sincronizar a tabela de usuários: rec_sln_demo_user_table_preprocess_all_feature_v1 (Clique para ver detalhes)

CREATE TABLE IF NOT EXISTS rec_sln_demo_user_table_preprocess_all_feature_v1
like pai_online_project.rec_sln_demo_user_table_preprocess_all_feature_v1
STORED AS ALIORC
LIFECYCLE 90;

INSERT OVERWRITE TABLE rec_sln_demo_user_table_preprocess_all_feature_v1
PARTITION(ds='${bdp.system.bizdate}')
SELECT * except(ds)
FROM pai_online_project.rec_sln_demo_user_table_preprocess_all_feature_v1
WHERE ds = '${bdp.system.bizdate}';

Sincronizar a tabela de itens: rec_sln_demo_item_table_preprocess_all_feature_v1 (Clique para ver detalhes)

CREATE TABLE IF NOT EXISTS rec_sln_demo_item_table_preprocess_all_feature_v1
like pai_online_project.rec_sln_demo_item_table_preprocess_all_feature_v1
STORED AS ALIORC
LIFECYCLE 90;

INSERT OVERWRITE TABLE rec_sln_demo_item_table_preprocess_all_feature_v1
PARTITION(ds='${bdp.system.bizdate}')
SELECT * except(ds)
FROM pai_online_project.rec_sln_demo_item_table_preprocess_all_feature_v1
WHERE ds = '${bdp.system.bizdate}';

Sincronizar a tabela de rótulos: rec_sln_demo_label_table (Clique para ver detalhes)

CREATE TABLE IF NOT EXISTS rec_sln_demo_label_table
like pai_online_project.rec_sln_demo_label_table
STORED AS ALIORC
LIFECYCLE 90;

INSERT OVERWRITE TABLE rec_sln_demo_label_table
PARTITION(ds='${bdp.system.bizdate}')
SELECT * except(ds)
FROM pai_online_project.rec_sln_demo_label_table
WHERE ds = '${bdp.system.bizdate}';

Para todas as três tabelas, ${bdp.system.bizdate} deve resolver para estas datas de partição:

  • ds=20231022

  • ds=20231023

  • ds=20231024

Preencha todas as três partições usando o procedimento de backfill de dados na próxima seção.

Realizar backfill de dados

  1. No console do DataWorks, clique em Data Development & O&M > Operation Center no painel de navegação. Selecione o workspace na lista suspensa e clique em Enter Operation Center.

  2. No painel de navegação, clique em Auto Triggered Task O&M > Auto Triggered Task.

  3. Na lista de tarefas acionadas automaticamente, clique na tarefa desejada para visualizar seu grafo acíclico direcionado (DAG).

  4. Clique com o botão direito no nó alvo e escolha Data Backfill > Current Node. Selecione um modo de backfill de dados.

  5. Defina Data Timestamp para o intervalo de 2023-10-22 a 2023-10-24 e clique em Submit.

Verificar sincronização

Confirme se estas tabelas existem no seu projeto do MaxCompute com partições para ds=20231022, ds=20231023 e ds=20231024:

  • rec_sln_demo_user_table_preprocess_all_feature_v1

  • rec_sln_demo_item_table_preprocess_all_feature_v1

  • rec_sln_demo_label_table

Configurar fontes de dados

O FeatureStore requer um armazenamento offline (MaxCompute) e um armazenamento online (FeatureDB, Hologres ou Tablestore). Este tutorial usa MaxCompute e FeatureDB.

  1. Faça login no PAI console. No painel de navegação, clique em Data Preparation > FeatureStore.

  2. Selecione um workspace e clique em Enter FeatureStore.

  3. Configure a fonte de dados do MaxCompute. Na aba Data Source, clique em Create Store e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Type

    MaxCompute

    Name

    Insira um nome personalizado.

    MaxCompute Project Name

    Selecione o projeto do MaxCompute criado.

  4. Configure a fonte de dados do FeatureDB. Caso já tenha criado uma, pule esta etapa. Na aba Store, clique em Create Store, defina os parâmetros a seguir e clique em Submit.

    Parâmetro

    Valor sugerido

    Type

    FeatureDB (Se for o primeiro uso, siga as instruções na tela para ativar)

    Name

    Não personalizável. O valor padrão é feature_db.

    Username

    Defina um nome de usuário.

    Password

    Defina uma senha.

    VPC high-speed connection (Optional)

    Após configurar com êxito, use o SDK do FeatureStore em uma VPC para acessar o FeatureDB via PrivateLink. Isso reduz a latência e melhora o desempenho.

    VPC

    Selecione a VPC onde está localizado seu serviço online do FeatureStore.

    Zone and vSwitch

    Selecione uma zona e um vSwitch. Escolha o vSwitch da zona onde está localizada sua máquina de serviço online. Selecione vSwitches em pelo menos duas zonas para garantir alta disponibilidade.

Instalar o SDK do FeatureStore para Python

Instale o SDK no grupo de recursos exclusivo do DataWorks para agendamento.

  1. Faça login no console do DataWorks.

  2. No painel de navegação à esquerda, clique em Resource Group.

  3. Na aba Exclusive Resource Groups, localize o grupo de recursos onde Purpose está definido como Data Scheduling. Clique no ícone image do recurso de agendamento e escolha O&M Assistant.

  4. Clique em Create Command e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Command Name

    Insira um nome personalizado. Este tutorial usa install.

    Command Type

    Manual Input (pip Command Cannot Be Used To Install Third-party Packages)

    Command Content

    /home/tops/bin/pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple https://feature-store-py.oss-cn-beijing.aliyuncs.com/package/feature_store_py-2.0.2-py3-none-any.whl

    Timeout

    Insira um tempo personalizado.

  5. Clique em OK para criar o comando.

  6. Clique em Command e, na página exibida, clique em Running.

  7. Clique no botão image para visualizar o status de execução mais recente. Quando o status mudar para Successful, a instalação estará concluída.

Etapa 2: Criar e registrar um projeto do FeatureStore

Crie e registre um projeto do FeatureStore usando o console ou o SDK. Independentemente do método escolhido, instale o SDK em Python, pois as etapas posteriores exigem seu uso para exportação do conjunto de treinamento e sincronização de dados.

Método 1: Usar o console

Criar um projeto

  1. Faça login no PAI console. No painel de navegação à esquerda, clique em Data Preparation > FeatureStore.

  2. Selecione um workspace e clique em Enter FeatureStore.

  3. Na aba Project, clique em Create Project e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Name

    Insira um nome personalizado. Este tutorial usa fs_demo.

    Description

    Insira uma descrição personalizada.

    Offline Store

    Selecione a fonte de dados do MaxCompute criada.

    Online Store

    Selecione a fonte de dados do FeatureDB criada.

  4. Clique em Submit.

Criar entidades de recursos

  1. Na página Projects do FeatureStore, clique no nome do projeto para visualizar seus detalhes.

  2. Na aba Feature Entity, clique em Create Feature Entity e defina os parâmetros para a entidade de usuário.

    Parâmetro

    Valor sugerido

    Feature Entity Name

    Insira um nome personalizado. Este tutorial usa user.

    Join Id

    user_id

  3. Clique em Submit.

  4. Clique em Create Feature Entity e defina os parâmetros para a entidade de item.

    Parâmetro

    Valor sugerido

    Feature Entity Name

    Insira um nome personalizado. Este tutorial usa item.

    Join Id

    item_id

  5. Clique em Submit.

Criar visualizações de recursos

  1. Na página de detalhes do projeto, acesse a aba Feature View, clique em Create Feature View e defina os parâmetros para a visualização de recursos do usuário.

    Parâmetro

    Valor sugerido

    View Name

    Insira um nome personalizado. Este tutorial usa user_table_preprocess_all_feature_v1.

    Type

    Offline

    Write Mode

    Use Offline Table

    Store

    Selecione a fonte de dados do MaxCompute criada.

    Feature Table

    Selecione a tabela de usuários preparada: rec_sln_demo_user_table_preprocess_all_feature_v1.

    Feature Field

    Selecione a chave primária user_id.

    Synchronize Online Feature Table

    Yes

    Feature Entity

    user

    Feature Lifecycle

    Mantenha o valor padrão.

  2. Clique em Submit.

  3. Clique em Create Feature View e defina os parâmetros para a visualização de recursos do item.

    Parâmetro

    Valor sugerido

    View Name

    Insira um nome personalizado. Este tutorial usa item_table_preprocess_all_feature_v1.

    Type

    Offline

    Write Method

    Use Offline Table

    Store

    Selecione a fonte de dados do MaxCompute criada.

    Feature Table

    Selecione a tabela de itens preparada: rec_sln_demo_item_table_preprocess_all_feature_v1.

    Feature Field

    Selecione a chave primária item_id.

    Synchronize Online Feature Table

    Yes

    Feature Entity

    item

    Feature Lifecycle

    Mantenha o valor padrão.

  4. Clique em Submit.

Criar uma tabela de rótulos

  1. Na página de detalhes do projeto, acesse a aba Label Tables, clique em Create Label Table e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Store

    Selecione a fonte de dados do MaxCompute criada.

    Table Name

    Selecione a tabela de rótulos preparada: rec_sln_demo_label_table.

  2. Clique em Submit.

Criar um recurso de modelo

  1. Na página de detalhes do projeto, acesse a aba Model Features, clique em Create Model Feature e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Model Feature Name

    Insira um nome personalizado. Este tutorial usa fs_rank_v1.

    Select Feature

    Selecione as visualizações de recursos de usuário e de item criadas.

    Label Table Name

    Selecione a tabela de rótulos criada: rec_sln_demo_label_table.

  2. Clique em OK.

  3. Na página da lista de recursos de modelo, clique em Details na linha do modelo criado.

  4. Na aba Basic Information da página Model Feature Details, visualize Export Table Name. O nome é fs_demo_fs_rank_v1_trainning_set. Use esta tabela para geração de recursos e treinamento de modelo.

O nome da tabela fs_demo_fs_rank_v1_trainning_set contém "trainning" (com dois n). Isso corresponde ao nome da tabela gerado pelo sistema. Use exatamente essa grafia em todas as referências.

Instalar o SDK

Instale o SDK do FeatureStore para Python caso ainda não tenha feito isso.

Método 2: Usar o SDK em Python

Para consultar as etapas de uso do SDK, acesse a DSW Gallery.

Etapa 3: Exportar o conjunto de treinamento e treinar o modelo

Exportar o conjunto de treinamento

  1. Faça login no console do DataWorks.

  2. No painel de navegação à esquerda, clique em Data Development & O&M > Data Development.

  3. Selecione o workspace do DataWorks criado e clique em Go to Data Studio.

  4. Passe o mouse sobre Create e escolha Create Node > MaxCompute > PyODPS 3. Defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Engine Instance

    Selecione o mecanismo do MaxCompute criado.

    Node Type

    PyODPS 3

    Path

    Business Flow/Workflow/MaxCompute

    Name

    Insira um nome personalizado.

  5. Clique em Confirm.

  6. Copie o script a seguir para o nó.

from feature_store_py.fs_client import FeatureStoreClient
from feature_store_py.fs_project import FeatureStoreProject
from feature_store_py.fs_datasource import LabelInput, MaxComputeDataSource, TrainingSetOutput
from feature_store_py.fs_features import FeatureSelector
from feature_store_py.fs_config import LabelInputConfig, PartitionConfig, FeatureViewConfig
from feature_store_py.fs_config import TrainSetOutputConfig, EASDeployConfig
import datetime
import sys
from odps.accounts import StsAccount

cur_day = args['dt']
print('cur_day = ', cur_day)
offset = datetime.timedelta(days=-1)
pre_day = (datetime.datetime.strptime(cur_day, "%Y%m%d") + offset).strftime('%Y%m%d')
print('pre_day = ', pre_day)

access_key_id = o.account.access_id
access_key_secret = o.account.secret_access_key
sts_token = None
endpoint = 'paifeaturestore-vpc.cn-beijing.aliyuncs.com'
if isinstance(o.account, StsAccount):
    sts_token = o.account.sts_token
fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, security_token=sts_token, endpoint=endpoint)
cur_project_name = 'fs_demo'
project = fs.get_project(cur_project_name)

label_partitions = PartitionConfig(name = 'ds', value = cur_day)
label_input_config = LabelInputConfig(partition_config=label_partitions)

user_partitions = PartitionConfig(name = 'ds', value = pre_day)
feature_view_user_config = FeatureViewConfig(name = 'user_table_preprocess_all_feature_v1',
partition_config=user_partitions)

item_partitions = PartitionConfig(name = 'ds', value = pre_day)
feature_view_item_config = FeatureViewConfig(name = 'item_table_preprocess_all_feature_v1',
partition_config=item_partitions)
feature_view_config_list = [feature_view_user_config, feature_view_item_config]
train_set_partitions = PartitionConfig(name = 'ds', value = cur_day)
train_set_output_config = TrainSetOutputConfig(partition_config=train_set_partitions)

model_name = 'fs_rank_v1'
cur_model = project.get_model(model_name)
task = cur_model.export_train_set(label_input_config, feature_view_config_list, train_set_output_config)
task.wait()
print("task_summary = ", task.task_summary)
  1. No painel à direita, clique em Scheduling Configuration e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Scheduling Parameters

    Parameter Name

    dt

    Parameter Value

    $[yyyymmdd-1]

    Resource Properties

    Scheduling Resource Group

    Selecione o grupo de recursos exclusivo para agendamento criado.

    Scheduling Dependencies

    Selecione a tabela de usuários e a tabela de itens criadas.

  2. Após configurar e testar o nó, salve e envie a configuração.

  3. Realize o backfill de dados.

Visualizar tarefa de exportação (opcional)

  1. Na página Projects do FeatureStore, clique no nome de um projeto para abrir sua página de detalhes.

  2. Na aba Feature Entity, clique em Jobs.

  3. Clique em Details na linha da tarefa desejada para visualizar informações básicas, configuração de execução e logs.

Treinar o modelo

O EasyRec é um framework de recomendação open-source que se integra ao FeatureStore para treinar, exportar e publicar modelos. Utilize a tabela fs_demo_fs_rank_v1_trainning_set como entrada para treinar um modelo com o EasyRec.

Recurso

Link

Código-fonte do EasyRec

EasyRec no GitHub

Documentação do EasyRec

Introdução ao EasyRec

Guia de treinamento do EasyRec

Treinamento com EasyRec

Para dúvidas sobre o EasyRec, participe do grupo de consultoria do PAI no DingTalk (ID do Grupo: 32260796).

Etapa 4: Implantar o modelo

Implante o modelo treinado. O FeatureStore fornece SDKs em Python, Go, C++ e Java para sistemas de recomendação personalizados. Entre em contato com o grupo 32260796 no DingTalk para obter suporte à integração.

Esta seção demonstra a implantação com serviços da Alibaba Cloud.

Agendar sincronização de dados

Agende a sincronização regular das tabelas de recursos de usuários e itens do armazenamento offline para o online.

  1. Faça login no console do DataWorks.

  2. No painel de navegação à esquerda, clique em Data Development & O&M > Data Development.

  3. Selecione o workspace do DataWorks criado e clique em Go to Data Studio.

  4. Agendar sincronização para user_table_preprocess_all_feature_v1 (Clique para ver detalhes)

    1. Passe o mouse sobre New e escolha New Node > MaxCompute > PyODPS 3.

    2. Copie o script a seguir para agendar a sincronização de user_table_preprocess_all_feature_v1. ``python from feature_store_py.fs_client import FeatureStoreClient import datetime from feature_store_py.fs_datasource import MaxComputeDataSource import sys cur_day = args['dt'] print('cur_day = ', cur_day) access_key_id = o.account.access_id access_key_secret = o.account.secret_access_key fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, region='cn-beijing') cur_project_name = 'fs_demo' project = fs.get_project(cur_project_name) feature_view_name = 'user_table_preprocess_all_feature_v1' batch_feature_view = project.get_feature_view(feature_view_name) task = batch_feature_view.publish_table(partitions={'ds':cur_day}, mode='Overwrite') task.wait() task.print_summary() ``

    3. No painel à direita, clique em Scheduling Configuration e defina os seguintes parâmetros. | Parâmetro | Valor sugerido | |---|---| | Scheduling Parameters | | | Parameter Name | dt | | Parameter Value | $[yyyymmdd-1] | | Resource Properties | | | Scheduling Resource Group | Selecione o grupo de recursos exclusivo para agendamento criado. | | Scheduling Dependencies | Selecione a tabela de usuários criada. |

    4. Após configurar e testar o nó, salve e envie a configuração.

    5. Realize o backfill de dados.

  5. Agendar sincronização para item_table_preprocess_all_feature_v1 (Clique para ver detalhes)

    1. Passe o mouse sobre Create e escolha Create Node > MaxCompute > PyODPS 3. Configure os parâmetros do nó.

    2. Clique em Confirm.

    3. Copie o script a seguir. ``python from feature_store_py.fs_client import FeatureStoreClient import datetime from feature_store_py.fs_datasource import MaxComputeDataSource import sys cur_day = args['dt'] print('cur_day = ', cur_day) access_key_id = o.account.access_id access_key_secret = o.account.secret_access_key fs = FeatureStoreClient(access_key_id=access_key_id, access_key_secret=access_key_secret, region='cn-beijing') cur_project_name = 'fs_demo' project = fs.get_project(cur_project_name) feature_view_name = 'item_table_preprocess_all_feature_v1' batch_feature_view = project.get_feature_view(feature_view_name) task = batch_feature_view.publish_table(partitions={'ds':cur_day}, mode='Overwrite') task.wait() task.print_summary() ``

    4. No painel à direita, clique em Scheduling Configuration e defina os seguintes parâmetros. | Parâmetro | Valor sugerido | |---|---| | Scheduling Parameters | | | Parameter Name | dt | | Parameter Value | $[yyyymmdd-1] | | Resource Properties | | | Scheduling Resource Group | Selecione o grupo de recursos exclusivo para agendamento criado. | | Scheduling Dependencies | Selecione a tabela de itens criada. |

    5. Após configurar e testar o nó, salve e envie a configuração.

    6. Realize o backfill de dados.

Verificar

Após a sincronização, verifique no Hologres se os recursos foram gravados no armazenamento online.

Criar e implantar o serviço de modelo EAS

O EasyRec Processor inclui o SDK do FeatureStore em C++ para recuperação de recursos com baixa latência e alto desempenho. Ele recebe solicitações de pontuação do mecanismo de recomendação, busca os recursos, executa a inferência e retorna as pontuações.

  1. Faça login no console do DataWorks.

  2. No painel de navegação à esquerda, clique em Data Development & O&M > Data Development.

  3. Selecione o workspace do DataWorks criado e clique em Go to Data Studio.

  4. Passe o mouse sobre New e escolha New Node > MaxCompute > PyODPS 3.

  5. Copie o script a seguir.

import os
import json
config = {
  "name": "fs_demo_v1",
  "metadata": {
    "cpu": 4,
    "rpc.max_queue_size": 256,
    "rpc.enable_jemalloc": 1,
    "gateway": "default",
    "memory": 16000
  },
  "model_path": f"oss://beijing0009/EasyRec/deploy/rec_sln_demo_dbmtl_v1/{args['ymd']}/export/final_with_fg",  # Path of the trained model. customize the path.
  "model_config": {
    "access_key_id": f'{o.account.access_id}',
    "access_key_secret": f'{o.account.secret_access_key}',
    "region": "cn-beijing",  # Replace this with the region where PAI is deployed. This tutorial uses cn-beijing as an example.
    "fs_project": "fs_demo",  # Replace this with the name of your FeatureStore project. This tutorial uses fs_demo as an example.
    "fs_model": "fs_rank_v1",  # Replace this with the name of your FeatureStore model feature. This tutorial uses fs_rank_v1 as an example.
    "fs_entity": "item",
    "load_feature_from_offlinestore": True,
    "steady_mode": True,
    "period": 2880,
    "outputs": "probs_is_click,y_ln_playtime,probs_is_praise",
    "fg_mode": "tf"
  },
  "processor": "easyrec-1.9",
  "processor_type": "cpp"
}

with open("echo.json", "w") as output_file:
    json.dump(config, output_file)

# Run the following line for the first deployment
os.system(f"/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-beijing.aliyuncs.com create echo.json")

# Run the following line for scheduled updates
# os.system(f"/home/admin/usertools/tools/eascmd -i {o.account.access_id} -k {o.account.secret_access_key} -e pai-eas.cn-beijing.aliyuncs.com modify fs_demo_v1 -s echo.json")
  1. No painel à direita, clique em Scheduling Configuration e defina os seguintes parâmetros.

    Parâmetro

    Valor sugerido

    Scheduling Parameters

    Parameter Name

    dt

    Parameter Value

    $[yyyymmdd-1]

    Resource Properties

    Scheduling Resource Group

    Selecione o grupo de recursos exclusivo para agendamento criado.

    Scheduling Dependencies

    Selecione a tarefa de treinamento correspondente e item_table_preprocess_all_feature_v1.

  2. Após configurar e testar o nó, execute-o e verifique o status da implantação.

  3. Quando a implantação for concluída, comente a linha 34, descomente a linha 37 e envie a tarefa para execução agendada. > Dica: A linha 34 usa create para a primeira implantação. A linha 37 usa modify para atualizações agendadas subsequentes. Após o sucesso da implantação inicial, mude para o comando modify.

  4. (Opcional) Visualize o serviço implantado na aba Inference Service da página Elastic Algorithm Service (EAS). Implantação personalizada.

  5. (Opcional) Se sua fonte de dados exigir acesso via VPC (como o Hologres), conecte as VPCs do EAS e da fonte de dados. Para o Hologres:

    1. Localize o VPC ID e o vSwitch ID na página Network Information da instância do Hologres.

    2. Na página do serviço EAS, clique em Configure High-Speed Connection no canto superior direito.

    3. Insira o VPC ID e o vSwitch ID correspondentes.

    4. Insira um Security Group Name. Selecione um grupo de segurança existente ou crie um novo. O Hologres geralmente usa a porta 80. O grupo de segurança deve permitir tráfego nesta porta.

    5. Clique em OK. O serviço ficará disponível após a conclusão da atualização.

Configurar o PAI-REC

O PAI-REC é um serviço de mecanismo de recomendação que integra o SDK do FeatureStore em Go. Ele se conecta ao FeatureStore e ao EAS.

Configurar FeatureStoreConfs

Defina RegionId para a região onde seu produto está localizado. Este tutorial usa cn-beijing. Defina ProjectName para o projeto do FeatureStore criado (fs_demo).

"FeatureStoreConfs": {
        "pairec-fs": {
            "RegionId": "cn-beijing",
            "AccessId": "${AccessKey}",
            "AccessKey": "${AccessSecret}",
            "ProjectName": "fs_demo"
        }
    },

Configurar FeatureConfs

Estes parâmetros controlam como o PAI-REC busca os recursos:

Parâmetro

Valor

Descrição

FeatureStoreName

pairec-fs

Deve corresponder à chave em FeatureStoreConfs.

FeatureStoreModelName

fs_rank_v1

Nome do recurso de modelo criado.

FeatureStoreEntityName

user

Instrui o SDK em Go a buscar recursos da entidade de usuário.

"FeatureConfs": {
        "recreation_rec": {
            "AsynLoadFeature": true,
            "FeatureLoadConfs": [
                {
                    "FeatureDaoConf": {
                        "AdapterType": "featurestore",
                        "FeatureStoreName": "pairec-fs",
                        "FeatureKey": "user:uid",
                        "FeatureStoreModelName": "fs_rank_v1",
                        "FeatureStoreEntityName": "user",
                        "FeatureStore": "user"
                    }
                }
            ]
        }
    },

Configurar AlgoConfs

Esta configuração especifica a qual serviço de pontuação de modelo do EAS o PAI-REC se conecta.

Parâmetro

Descrição

Name

Deve corresponder ao nome do serviço EAS implantado.

Url e Auth

Obtenha a URL e o token clicando no nome do serviço na página de serviço de modelo do EAS. Em seguida, na aba Overview, na seção Basic Information, clique em View Endpoint Information. Consulte as Perguntas frequentes sobre o EAS.

"AlgoConfs": [
        {
            "Name": "fs_demo_v1",
            "Type": "EAS",
            "EasConf": {
                "Processor": "EasyRec",
                "Timeout": 300,
                "ResponseFuncName": "easyrecMutValResponseFunc",
                "Url": "eas_url_xxx",
                "EndpointType": "DIRECT",
                "Auth": "eas_token"
            }
        }
    ],

Solução de problemas

Sintoma

Possível causa

Solução

Falha na tarefa de backfill de dados

Datas de partição incorretas ou dados de origem ausentes

Verifique se ${bdp.system.bizdate} resolve para 20231022, 20231023 ou 20231024. Confirme se as tabelas de origem em pai_online_project estão acessíveis.

Falha na instalação do SDK do FeatureStore

Problemas de conectividade de rede no grupo de recursos exclusivo

Verifique a conectividade de rede. Confirme se a URL de instalação do pip está acessível a partir do grupo de recursos.

Falha na sincronização de recursos para o armazenamento online

Configuração incorreta da fonte de dados ou permissões ausentes

Verifique as configurações das fontes de dados do MaxCompute e do FeatureDB. Confirme se o AccessKey possui permissões de leitura e gravação em ambos os armazenamentos.

Falha na implantação do EAS

Caminho do modelo incorreto ou recursos insuficientes no EAS

Verifique o caminho do modelo no OSS. Confirme se o endpoint do EAS (pai-eas.cn-beijing.aliyuncs.com) está correto para sua região.

O serviço EAS não consegue acessar o Hologres

Rede VPC não conectada ou grupo de segurança bloqueando a porta 80

Configure uma conexão de alta velocidade entre as VPCs do EAS e do Hologres. Garanta que o grupo de segurança permita tráfego na porta 80.