Todos os produtos
Search
Central de documentação

Platform For AI:Serviço de inferência confidencial

Última atualização: Aug 25, 2026

O EAS oferece suporte a ambientes de criptografia confidencial para implantação segura de modelos criptografados e execução de inferências. Essa abordagem fornece segurança em várias camadas, mantendo dados e modelos protegidos durante todo o ciclo de vida. Utilize este recurso em cenários com altos requisitos de sensibilidade de dados, como serviços financeiros, governo e aplicações corporativas.

Como funciona

A inferência confidencial envolve três etapas:

  1. Prepare an encrypted model

    • Criptografe o modelo: utilize Gocryptfs ou Sam para criptografia e faça upload para uma fonte de dados, como Object Storage Service (OSS), para que o EAS possa montá-lo durante a implantação.

    • Armazene a chave de descriptografia: guarde a chave no Key Management Service (KMS) por meio de um serviço de atestação remota implantado no ACK Serverless. Isso permite validar a segurança do ambiente de implantação do modelo e do ambiente de inferência.

  2. Step 2: Deploy the encrypted model by using PAI-EAS

    Ao implantar um modelo criptografado com o PAI-EAS, o sistema se conecta automaticamente ao serviço de atestação remota Trustee para validar o ambiente de implantação. Após a validação bem-sucedida, o EAS utiliza a chave no KMS para descriptografar e montar o modelo, implantando-o como um serviço EAS.

  3. Step 3: Call the service to run confidential inference

    Após a implantação, envie solicitações de inferência para o serviço.

Etapa 1: Preparar um modelo criptografado

Antes da implantação, criptografe o modelo e faça upload para o armazenamento em nuvem. Um serviço de atestação remota controla o acesso à chave de descriptografia gerenciada pelo KMS. Criptografe seu modelo em um ambiente local ou confiável. Este exemplo utiliza o Qwen2.5-3B-Instruct.

1. Preparar o modelo (opcional)

Nota

Se você já possui um modelo, pule esta seção e prossiga para 2. Encrypt the model.

Utilize o ModelScope para baixar o modelo Qwen2.5-3B-Instruct. É necessário Python 3.9 ou superior.

pip3 install modelscope importlib-metadata
modelscope download --model Qwen/Qwen2.5-3B-Instruct

O modelo será baixado para o diretório ~/.cache/modelscope/hub/models/Qwen/Qwen2.5-3B-Instruct/.

2. Criptografar o modelo

O PAI-EAS suporta os dois métodos de criptografia a seguir. Este exemplo utiliza Sam.

  • Gocryptfs: criptografia AES-256-GCM compatível com o padrão de código aberto Gocryptfs.

  • Sam: formato de criptografia de modelos de IA confiáveis da Alibaba Cloud que impede o uso não autorizado e a adulteração de licenças.

Opção 1: Criptografar com Sam

  1. Baixe e extraia o pacote do módulo de criptografia Sam RAI_SAM_SDK_2.1.0-20240731.tgz.

    # Extract the Sam encryption module
    tar xvf RAI_SAM_SDK_2.1.0-20240731.tgz
  2. Criptografe o modelo.

    # Navigate to the encryption directory of the Sam encryption module
    cd RAI_SAM_SDK_2.1.0-20240731/tools
    
    # Encrypt the model
    ./do_content_packager.sh <model_directory> <plaintext_key> <key_ID>

    Parâmetros:

    • <model_directory>: diretório do modelo a ser criptografado. Caminhos relativos ou absolutos são suportados, como ~/.cache/modelscope/hub/models/Qwen/Qwen2.5-3B-Instruct/.

    • <plaintext_key>: chave de criptografia personalizada, de 4 a 128 bytes, como 0Bn4Q1wwY9fN3P. Faça upload desta chave posteriormente para o serviço de atestação remota Trustee.

    • <key_ID>: identificador de chave personalizado, de 8 a 48 bytes, por exemplo, LD_Demo_0001.

    Após a criptografia, o modelo criptografado estará no diretório <key_ID> dentro do caminho atual. Visualize os arquivos gerados no diretório correspondente ao ID da chave:

    RAI_SAM_SDK_2.1.0-20240731/tools/LD_Demo_0001# ll
    drwx------  2 root root       4096  2月 25 11:47 ./
    drwxrwxr-x  4 1004 1004       4096  2月 26 15:08 ../
    -rw-r--r--  1 root root       1365  2月 25 11:47 config.json
    -rw-r--r--  1 root root        706  2月 25 11:47 configuration.json
    -rw-r--r--  1 root root        946  2月 25 11:47 generation_config.json
    -rw-r--r--  1 root root       8092  2月 25 11:47 LICENSE
    -rw-r--r--  1 root root    1672543  2月 25 11:47 merges.txt
    -rw-r--r--  1 root root 3968659648  2月 25 11:47 model-00001-of-00002.safetensors
    -rw-r--r--  1 root root 2203268752  2月 25 11:47 model-00002-of-00002.safetensors
    -rw-r--r--  1 root root      36285  2月 25 11:47 model.safetensors.index.json
    -rw-r--r--  1 root root       5605  2月 25 11:47 README.md
    -rw-r--r--  1 root root        166  2月 25 11:47 sam.lic
    -rw-r--r--  1 root root       8009  2月 25 11:47 tokenizer_config.json
    -rw-r--r--  1 root root    7032349  2月 25 11:47 tokenizer.json
    -rw-r--r--  1 root root    2777537  2月 25 11:47 vocab.json

Opção 2: Criptografar com Gocryptfs

  1. Instale o Gocryptfs v2.4.0 com parâmetros de criptografia padrão. Apenas a versão v2.4.0 é suportada.

    Método 1: (Recomendado) Instalar via repositório yum

    Para Alinux 3 ou AnolisOS 23, instale o Gocryptfs a partir do repositório yum.

    Alinux 3
    sudo yum install gocryptfs -y
    AnolisOS 23
    sudo yum install anolis-epao-release -y
    sudo yum install gocryptfs -y

    Método 2: Baixar o binário pré-compilado

    # Download the pre-compiled Gocryptfs package
    wget https://github.jobcher.com/gh/https://github.com/rfjakob/gocryptfs/releases/download/v2.4.0/gocryptfs_v2.4.0_linux-static_amd64.tar.gz
    
    # Extract and install
    tar xf gocryptfs_v2.4.0_linux-static_amd64.tar.gz
    sudo install -m 0755 ./gocryptfs /usr/local/bin
  2. Crie um arquivo de chave Gocryptfs para usar como chave de criptografia do modelo. Posteriormente, você fará upload dessa chave para o Trustee para hospedagem.

    Este exemplo usa 0Bn4Q1wwY9fN3P como chave de criptografia do modelo e a armazena no arquivo cachefs-password. Você pode usar sua própria chave. Em produção, utilize uma chave forte gerada aleatoriamente.

    cat << EOF > ~/cachefs-password
    0Bn4Q1wwY9fN3P
    EOF
  3. Utilize a chave criada para criptografar o modelo.

    1. Configure o caminho do modelo em texto simples.

      Nota

      Especifique o caminho do seu modelo em texto simples. Substitua caso esteja usando um modelo diferente.

      PLAINTEXT_MODEL_PATH=~/.cache/modelscope/hub/models/Qwen/Qwen2.5-3B-Instruct/
    2. Use o Gocryptfs para criptografar o diretório do modelo.

      Após a criptografia, o modelo é armazenado como texto cifrado no diretório ./cipher.

      mkdir -p ~/mount
      cd ~/mount
      mkdir -p cipher plain
      
      # Install Gocryptfs runtime dependencies
      sudo yum install -y fuse
      
      # initialize gocryptfs
      cat ~/cachefs-password | gocryptfs -init cipher
      
      # mount to plain
      cat ~/cachefs-password | gocryptfs cipher plain
      
      # move AI model to ~/mount/plain
      cp -r ${PLAINTEXT_MODEL_PATH}/. ~/mount/plain

3. Fazer upload do modelo

Modelos criptografados aceitam diversos backends de armazenamento. O EAS monta o modelo descriptografado na instância de serviço durante a implantação. Para mais informações, consulte Storage mounts.

Este exemplo utiliza o Object Storage Service (OSS). Siga as instruções em Console quick start para criar um bucket e um diretório chamado qwen-encrypted, por exemplo, oss://examplebucket/qwen-encrypted/. Para arquivos de modelo grandes, utilize ossbrowser para fazer upload do modelo criptografado para o diretório.

Nota

Se você utilizar o ossutil command-line tool, use multipart upload.

A listagem a seguir mostra o resultado para um modelo criptografado com Sam.

Com Gocryptfs, os nomes dos arquivos também são criptografados e aparecem como texto ilegível.

Após a conclusão do upload, o diretório qwen-encrypted/ deve conter os seguintes arquivos:

  • Shards de pesos do modelo: model-00001-of-00002.safetensors (3,696 GB), model-00002-of-00002.safetensors (2,052 GB) e arquivo de índice model.safetensors.index.json

  • Arquivos de configuração: config.json, configuration.json, generation_config.json

  • Arquivos do tokenizador: tokenizer.json, tokenizer_config.json, merges.txt, vocab.json

  • Licença de criptografia: sam.lic

  • Outros: LICENSE, README.md

4. Configurar o serviço de atestação e fazer upload da chave

Hospede a chave de descriptografia do modelo no serviço de atestação remota. Esse serviço de validação, gerenciado pelo usuário, verifica os ambientes de execução tanto do modelo quanto do serviço de inferência. A chave de descriptografia do modelo é injetada, e o modelo é descriptografado e montado, somente após a confirmação de que o ambiente de implantação do modelo EAS atende ao nível de confiança esperado.

Atualmente, o EAS suporta um serviço de atestação remota Trustee autogerenciado hospedado na Alibaba Cloud. Implante o serviço de atestação remota em um cluster ACK Serverless para validar os ambientes de implantação e inferência, e utilize o KMS para hospedar a chave de descriptografia. Siga as etapas abaixo:

Importante
  • O cluster ACK Serverless não precisa estar na mesma região do serviço EAS.

  • A instância KMS deve estar na mesma região do cluster ACK Serverless onde o serviço de atestação remota Trustee está implantado.

  • Crie uma VPC e dois vSwitches antes de criar a instância KMS e o cluster ACK. Para mais informações, consulte Create and manage a VPC.

  1. Crie uma instância KMS como backend de armazenamento de chaves.

    1. Acesse o console KMS. No painel de navegação à esquerda, escolha Resource > Instances. Na aba Software Key Management, crie e ative uma instância. Ao ativar a instância, selecione a mesma Virtual Private Cloud (VPC) do cluster ACK. Para mais informações, consulte Purchase and enable a KMS instance.

      A ativação leva cerca de 10 minutos.

    2. Após a ativação da instância, no painel de navegação à esquerda, escolha Resource > Keys. Na página Keys, crie uma chave mestra de cliente (CMK) para a instância. Para mais informações, consulte Step 1: Create a software key.

    3. No painel de navegação à esquerda, escolha Application Access > Multi-Cloud Access (formerly AAP). Na aba Application Access, crie um ponto de acesso de aplicação para a instância. Em Scope, selecione a instância KMS criada. Para mais detalhes de configuração, consulte Method 1: Quick creation.

      Após a criação do ponto de acesso da aplicação, seu navegador baixará automaticamente um arquivo ClientKey***.zip. Ao extrair o arquivo compactado, ele conterá:

      • Credential (ClientKeyContent): o nome padrão do arquivo é clientKey_****.json.

      • Credential Password (ClientKeyPassword): o nome padrão do arquivo é clientKey_****_Password.txt.

    4. Acesse a página Resource > Instances e clique em Details ao lado de Instance CA Certificate para exportar o arquivo de certificado de chave pública PrivateKmsCA_***.pem.

  2. Crie um cluster ACK Serverless e instale o componente csi-provisioner.

    1. Acesse a página Create cluster para criar um cluster ACK Serverless. Para mais informações, consulte Create an ACK Serverless cluster. Parâmetros principais:

      1. Cluster configurations: configure os seguintes parâmetros e clique em Next: Component configurations.

        Parâmetro

        Descrição

        Download

        Selecione Use Existing e marque a caixa de seleção VPC. Isso é necessário para baixar a imagem do Trustee.

        Configure SNAT for VPC

        Garanta que existam pelo menos dois vSwitches na VPC. Caso contrário, não será possível expor um ALB público.

      2. Component configurations: configure os seguintes parâmetros e clique em Next: Confirm configuration.

        Parâmetro

        Descrição

        vSwitch

        Selecione Service Discovery.

        CoreDNS

        Selecione Ingress. Para a origem da instância do gateway nativo da nuvem ALB, selecione New e escolha dois vSwitches.

      3. Confirm configuration: confirme as informações de configuração e os termos de serviço e clique em ALB Ingress.

    2. Após a criação do cluster, instale o componente csi-provisioner (Managed). Para mais informações, consulte Manage components.

  3. Implante o serviço de atestação remota Trustee no cluster ACK.

    1. Conecte-se ao cluster pela rede pública ou por uma rede interna. Para mais informações, consulte Connect to a cluster.

    2. Faça upload da credencial KMS (clientKey_****.json), da senha (clientKey_****_Password.txt) e do certificado CA (PrivateKmsCA_***.pem) para o ambiente do cluster ACK Serverless. Em seguida, execute o comando abaixo para implantar o Trustee com o KMS como backend de chaves.

      # Install the plugin
      helm plugin install https://github.com/AliyunContainerService/helm-acr
      
      helm repo add trustee acr://trustee-chart.cn-hangzhou.cr.aliyuncs.com/trustee/trustee
      helm repo update
      
      export DEPLOY_RELEASE_NAME=trustee
      export DEPLOY_NAMESPACE=default
      export TRUSTEE_CHART_VERSION=1.7.6
      
      # Set the region of the ACK cluster, for example, cn-hangzhou
      export REGION_ID=cn-hangzhou
      
      # Information about the KMS instance that you exported
      # Replace with your KMS instance ID
      export KMS_INSTANCE_ID=kst-hzz66a0*******e16pckc
      # Replace with the path to your KMS instance application identity credential
      export KMS_CLIENT_KEY_FILE=/path/to/clientKey_KAAP.***.json
      # Replace with the path to your KMS instance credential password
      export KMS_PASSWORD_FILE=/path/to/clientKey_KAAP.***_Password.txt
      # Replace with the path to your KMS instance CA certificate
      export KMS_CERT_FILE=/path/to/PrivateKmsCA_kst-***.pem
      
      helm install ${DEPLOY_RELEASE_NAME} trustee/trustee \
        --version ${TRUSTEE_CHART_VERSION} \
        --set regionId=${REGION_ID} \
        --set kbs.aliyunKms.enabled=true \
        --set kbs.aliyunKms.kmsIntanceId=${KMS_INSTANCE_ID} \
        --set-file kbs.aliyunKms.clientKey=${KMS_CLIENT_KEY_FILE} \
        --set-file kbs.aliyunKms.password=${KMS_PASSWORD_FILE} \
        --set-file kbs.aliyunKms.certPem=${KMS_CERT_FILE} \
        --namespace ${DEPLOY_NAMESPACE}
      Nota

      O primeiro comando no bloco de código anterior, helm plugin install..., pode levar muito tempo para concluir. Se a instalação falhar, execute helm plugin uninstall cm-push para desinstalar o plugin e, em seguida, execute novamente o comando de instalação do plugin.

      Exemplo de saída:

      NAME: trustee
      LAST DEPLOYED: Tue Feb 25 18:55:33 2025
      NAMESPACE: default
      STATUS: deployed
      REVISION: 1
      TEST SUITE: None
    3. Obtenha o endpoint do serviço Trustee.

      export TRUSTEE_URL=http://$(kubectl get AlbConfig alb-$DEPLOY_RELEASE_NAME -o jsonpath='{.status.loadBalancer.dnsname}')/api
      echo ${TRUSTEE_URL}

      Exemplo de saída: http://alb-ppams74szbwg2f****.cn-shanghai.alb.aliyuncsslb.com/api.

    4. Teste a conectividade do serviço Trustee.

      cat << EOF | curl -k -X POST ${TRUSTEE_URL}/kbs/v0/auth -H 'Content-Type: application/json' -d @-
      {
          "version":"0.4.0",
          "tee": "tdx",
          "extra-params": "foo"
      }
      EOF

      Uma conexão bem-sucedida retorna uma saída semelhante a:

      {"nonce":"PIDUjUxQdBMIXz***********IEysXFfUKgSwk=","extra-params":""}
  4. Configure uma lista de permissões de rede para o Trustee.

    Nota

    Esta configuração permite que o ambiente de implantação de modelos do PAI-EAS acesse ativamente o serviço de atestação remota e realize verificações de segurança do ambiente.

    1. Acesse o console ALB, crie um grupo de políticas de controle de acesso e adicione os endereços IP ou intervalos de endereços que precisam acessar o Trustee. Para mais informações, consulte Access control. Adicione os seguintes intervalos de endereços:

      • O endereço IP público da VPC onde o serviço EAS está implantado.

      • O endereço IP de saída do cliente de inferência.

    2. Execute o seguinte comando para obter o ID da instância ALB usada pela instância Trustee.

      kubectl get ing --namespace ${DEPLOY_NAMESPACE} frontend-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' | cut -d'.' -f1 | sed 's/[^a-zA-Z0-9-]//g'

      Saída esperada:

      alb-llcdzbw0qivhk0****
    3. No painel de navegação à esquerda do console ALB, escolha Create Kubernetes Cluster > ALB. Localize a instância ALB da etapa anterior na região do seu cluster e clique em seu ID para ir à página de detalhes. Na parte inferior da página, na seção Instances, desative o Instance Information.

    4. Mude para a aba Configuration Read-only Mode. Na coluna de controle de acesso do listener alvo, ative o controle de acesso e defina a lista de permissões como o grupo de políticas de controle de acesso criado.

  5. Crie um segredo para armazenar a chave de descriptografia do modelo.

    O Trustee armazena a chave de descriptografia do modelo no KMS. A chave é liberada apenas após a atestação bem-sucedida.

    Acesse o console KMS. No painel de navegação à esquerda, escolha Listener > Resource. Na aba Secrets, clique em Generic Secrets. Os parâmetros principais estão descritos abaixo:

    • Secret name: um nome personalizado usado para indexar a chave, por exemplo, model-decryption-key.

    • Secret value: insira a chave usada para criptografar o modelo. Por exemplo, 0Bn4Q1wwY9fN3P. Use sua chave real.

    • Encryption key: selecione a chave mestra de cliente (CMK) criada.

  6. Faça login na interface de gerenciamento do Trustee para visualizar o histórico de acesso às chaves.

    1. Obtenha o endereço da interface de gerenciamento frontend do Trustee.

      kubectl get AlbConfig alb-$DEPLOY_RELEASE_NAME -o jsonpath='{.status.loadBalancer.dnsname}'

      Acesse o endereço em um navegador.

    2. Obtenha a chave privada para fazer login na interface de gerenciamento frontend do Trustee.

      kubectl get secret kbs-auth-keypair -o jsonpath="{.data.private\.key}" | base64 -d

      Cole a chave na interface para fazer login.

    3. Na Trustee Gateway Management Platform, clique em Audit log no painel de navegação à esquerda. Em seguida, clique na Resource audit interface para visualizar o histórico de acesso à chave de descriptografia do modelo.

Etapa 2: Implantar o modelo criptografado usando o PAI-EAS

  1. Faça login no PAI console. Selecione uma região no topo da página. Em seguida, selecione o workspace desejado e clique em Create Secret.

  2. Na página Elastic Algorithm Service (EAS), clique em Inference Service. Na seção Deploy Service, clique em Custom Model Deployment.

  3. Configure os seguintes parâmetros. Outras opções estão descritas em Custom Deployment.

    Parâmetro

    Descrição

    Custom Deployment

    Environment Information

    Selecione Deployment Method.

    Image-based Deployment

    Selecione uma imagem de runtime. Neste exemplo, selecione Image Configuration > chat-llm-webui:3.0-vllm.

    Alibaba Cloud Image

    Selecione OSS e configure os seguintes parâmetros:

    • Uri: selecione o diretório onde o modelo criptografado está armazenado. Exemplo: oss://examplebucket/qwen-encrypted/. Use seu caminho real.

    • Storage Mount: o diretório onde o modelo em texto simples será montado. Exemplo: /mnt/model.

    Mount Path

    Exemplo: python webui/webui_server.py --port=8000 --model-path=/mnt/model --backend=vllm. O valor de --model-path deve corresponder ao caminho de montagem.

    Command to Run

    Defina como 8000.

    Port Number

    Adicione variáveis de ambiente para a atestação do Trustee. Neste exemplo, adiciona-se uma variável de ambiente com a chave eas-test e o valor 123.

    Environment Variables

    Resource Information

    Neste exemplo, o tipo de instância é ml.gu7i.c32m188,1-gu30.

    Deployment

    Network Information

    Configure uma VPC e set an SNAT public IP address for the VPC. O acesso à rede pública é necessário para que o EAS alcance o serviço de atestação remota.

    VPC

    vSwitch

    Security Group Name

    Features

    Ative Configure Secure Encryption Environment e configure os seguintes parâmetros:

    • Configure Secure Encryption Environment: o método usado para criptografar o modelo. Tanto Sam quanto Gocryptfs são suportados. Este exemplo usa Sam.

    • Encryption Method: o endpoint do serviço Trustee implantado. Exemplo: http://alb-ppams74szbwg2f****.cn-shanghai.alb.aliyuncsslb.com/trustee.

    • System Trust Management Service Address: o URI KBS da chave de descriptografia do modelo, formatado como kbs:///default/aliyun/<secret_name>. Substitua <secret_name> pelo nome do segredo criado.

    Exemplo de configuração JSON:

    Configuração JSON

    {
        "cloud": {
            "computing": {
                "instances": [
                    {
                        "type": "ecs.gn7i-c8g1.2xlarge"
                    }
                ]
            },
            "networking": {
                "security_group_id": "sg-2vcbmhs3puagy23k****",
                "vpc_id": "vpc-2vctxcm4qncgriz0j****",
                "vswitch_id": "vsw-2vc0tdylfux849zb7****"
            }
        },
        "confidential": {
            "decryption_key": "kbs:///default/aliyun/model-decryption-key",
            "trustee_endpoint": "http://alb-ppams74szbwg2f****.cn-shanghai.alb.aliyuncsslb.com/api"
        },
        "containers": [
            {
                "env": [
                    {
                        "name": "eas-test",
                        "value": "1234"
                    }
                ],
                "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/chat-llm-webui:3.0.5-vllm",
                "port": 8000,
                "script": "python webui/webui_server.py --port=8000 --model-path=/mnt/data/model --backend=vllm"
            }
        ],
        "metadata": {
            "cpu": 8,
            "gpu": 1,
            "instance": 1,
            "memory": 30000,
            "name": "xynnn_eas_test_gpu"
        },
        "storage": [
            {
                "encryption": {
                    "method": "sam"
                },
                "mount_path": "/mnt/data/model",
                "oss": {
                    "path": "oss://examplebucket/qwen-encrypted/"
                },
                "properties": {
                    "resource_type": "model"
                }
            }
        ]
    }
  4. Após configurar os parâmetros, clique em KBS URI of Decryption Key.

    Quando o service status mostrar Running, o serviço estará implantado. Você pode então check the key access history in the Trustee management UI para confirmar se o serviço de atestação remota Trustee concluiu a validação do ambiente de implantação do modelo e para visualizar informações detalhadas do ambiente de execução.

    No console de gerenciamento do Trustee, selecione Deploy no painel de navegação à esquerda e vá para a aba Audit Logs para visualizar os registros de auditoria. Clique na coluna de operação de um registro para abrir a caixa de diálogo Attestation Audit, que exibe o status geral de verificação do EAR Token (por exemplo, Token Details), tempo de expiração, identificadores de desenvolvedor e build, além do status de verificação de cada dispositivo (por exemplo, cpu0 como valid). Mude para a aba affirming para visualizar evidências de atestação no formato JSON, incluindo runtime_data_claims (nonce, tee-pubkey), AA_INSTANCE_INFO (ID da instância, nome da instância, entre outros) e outros detalhes do ambiente de execução.

Etapa 3: Chamar o serviço para executar inferência confidencial

1. Visualizar o endpoint do serviço

Na aba Evidence Details, clique no nome do serviço alvo para abrir a página Inference Service. Na área Overview, clique em Overview.

2. Chamar o serviço EAS

Envie uma solicitação de inferência usando cURL.

curl <Service_URL> \
  -H "Content-type: application/json" \
  --data-binary @openai_chat_body.json \
  -v \
  -H "Connection: close" \
  -H "Authorization: <Token>"

Parâmetros:

  • <Service_URL>: o endpoint do serviço EAS.

  • <Token>: o token do serviço EAS.

  • openai_chat_body.json: o corpo da solicitação de inferência. Exemplo:

    {
        "max_new_tokens": 4096,
        "use_stream_chat": false,
        "prompt": "What is the capital of Canada?",
        "system_prompt": "Act like you are a knowledgeable assistant who can provide information on geography and related topics.",
        "history": [
            [
                "Can you tell me what's the capital of France?",
                "The capital of France is Paris."
            ]
        ],
        "temperature": 0.8,
        "top_k": 10,
        "top_p": 0.8,
        "do_sample": true,
        "use_cache": true
    }

Exemplo de resposta:

{
    "response": "The capital of Canada is Ottawa.",
    "history": [
        [
            "Can you tell me what's the capital of France?",
            "The capital of France is Paris."
        ],
        [
            "What is the capital of Canada?",
            "The capital of Canada is Ottawa."
        ]
    ]
}