Todos os produtos
Search
Central de documentação

Elastic GPU Service:Build a measured LLM inference environment on a heterogeneous confidential instance

Última atualização: Jul 08, 2026

Crie um ambiente de inferência de modelo de linguagem grande (LLM) com medição de segurança em uma instância de computação confidencial heterogênea (gn8v-tee) para proteger os ativos do modelo e os dados do usuário durante todo o ciclo de vida da inferência.

Contexto

As instâncias de computação confidencial heterogênea da Alibaba Cloud (gn8v-tee) expandem as capacidades das instâncias de computação confidencial baseadas em CPU com Intel® Trust Domain Extensions (TDX) ao integrar uma GPU ao ambiente de execução confiável (TEE). Isso protege as transferências de dados entre a CPU e a GPU, além das computações na própria GPU. Esta solução integra os recursos de medição e atestação remota do Intel TDX a um serviço de inferência de LLM executado em uma instância de computação confidencial heterogênea. O resultado é um fluxo de trabalho de validação de segurança e proteção de privacidade que mantém os modelos e os dados dos usuários à prova de violações durante todo o ciclo de vida do serviço.

Esta solução segue dois princípios de design fundamentais:

  • Confidencialidade: Garante que os modelos e os dados dos usuários sejam processados exclusivamente dentro do limite seguro de uma instância de computação confidencial, impedindo a exposição de texto simples ao ambiente externo.

  • Integridade: Assegura que o código, os dados e a configuração de todos os componentes no ambiente do serviço de inferência de LLM (incluindo o framework de inferência, arquivos de modelo e interface interativa) resistam a adulterações e sejam verificáveis por meio de um processo rigoroso de auditoria de terceiros.

Princípios de segurança da solução

A solução utiliza dois mecanismos de segurança: medição e atestação remota.

  • Medição

    O Intel® Trust Domain Extensions (TDX) aprimora a segurança das máquinas virtuais (VMs) isolando-as em domínios confiáveis (TDs) protegidos por hardware. Durante a inicialização, o módulo TDX registra o estado do convidado TD em dois conjuntos principais de registradores:

    • Build-Time Measurement Register (MRTD): Captura medições relacionadas à configuração inicial e à imagem de boot da VM convidada.

    • Run-Time Measurement Registers (RTMRs): Registram medições do estado inicial, imagem do kernel, opções de linha de comando e outros serviços e parâmetros de tempo de execução conforme necessário.

    Essas medições ajudam a garantir a integridade do TD e dos aplicativos em execução durante todo o seu ciclo de vida. Nesta solução, as medições do serviço de modelo e dos parâmetros do kernel, incluindo aquelas relacionadas aos modelos Ollama e DeepSeek e ao framework Open WebUI, são refletidas nos RTMRs.

  • Atestação remota

    A atestação remota no TDX fornece a uma parte remota uma prova criptográfica da integridade e autenticidade de uma VM confidencial. O processo inclui as seguintes etapas principais:

    • Obtenção de um TD Quote:

      1. O cliente solicita a atestação remota completa ao Open WebUI.

      2. O backend do Open WebUI obtém um relatório de atestação remota assinado por hardware. Este relatório, conhecido como Quote, inclui o MRTD e os RTMRs, que refletem a integridade do ambiente do serviço de modelo em execução.

    • Verificação do TD Quote: O cliente envia o Quote para um serviço de atestação confiável, que o valida em relação a políticas predefinidas para estabelecer confiança com o serviço de modelo.

    Nota

    Para obter mais informações sobre o Remote Attestation Service da Alibaba Cloud, consulte Remote Attestation Service.

Ao integrar medição e atestação, esta solução verifica a integridade e a autenticidade do serviço de modelo remoto, o que é essencial para a segurança de dados e a proteção da privacidade.

Arquitetura técnica

image

A seção a seguir descreve os componentes da arquitetura:

  • Cliente

    O cliente fornece a interface do usuário (UI) para que os usuários finais acessem o serviço de LLM. Ele inicia sessões, verifica a confiabilidade do ambiente remoto e se comunica com segurança com o serviço de backend.

  • Serviço de atestação remota

    Este componente utiliza o Remote Attestation Service da Alibaba Cloud para verificar o estado de segurança do ambiente de inferência do modelo, incluindo a base de computação confiável (TCB) da plataforma e o serviço de inferência.

  • Componentes do serviço de inferência

    • Ollama: Um framework de serviço de modelo que lida com solicitações de serviço de inferência de modelo. Esta solução usa a versão v0.5.7.

    • Modelo DeepSeek: Esta solução utiliza uma versão destilada do modelo DeepSeek-R1-70B (quantizado int4).

    • Open WebUI: Uma interface interativa baseada na web que executa dentro da VM confidencial e recebe solicitações de serviço de modelo do usuário por meio de uma API RESTful. Esta solução usa a versão v0.5.20.

    • Projeto open-source CCZoo: Esta solução utiliza o código-fonte do Confidential AI. A versão usada nesta solução é a v1.2. Para obter mais informações sobre este projeto open-source, consulte CCZoo.

Nota

O Confidential Computing Zoo (CCZoo) é uma coleção de soluções de segurança para cenários de computação em nuvem que ajuda os desenvolvedores a criar soluções de computação confidencial de ponta a ponta. As tecnologias de segurança envolvidas incluem, mas não se limitam a, TEEs (como Intel® SGX e TDX), criptografia homomórfica (HE) e sua aceleração de hardware, atestação remota, LibOS e criptografia acelerada por hardware. Os cenários de negócios abrangem, entre outros, inferência de IA nativa da nuvem, aprendizado federado, análise de big data, gerenciamento de chaves e chamadas de procedimento remoto (RPC), como gRPC.

Fluxo de trabalho

O fluxo de trabalho desta solução é o seguinte:

image

  1. Inicialização e medição do serviço

    Medição do ambiente de execução: O módulo TCB da plataforma mede a integridade do ambiente de execução que hospeda o serviço de modelo. Os resultados da medição são armazenados no Módulo TDX dentro do TCB.

  2. Inicialização da sessão de inferência

    Criação de sessão: O cliente (navegador) envia uma nova solicitação de sessão ao Open WebUI.

  3. Atestação remota

    1. Solicitação de atestação: Ao iniciar uma solicitação de sessão, o cliente também solicita evidências de atestação (um TDX Quote) para provar a confiabilidade do ambiente de execução do modelo. Essas evidências verificam todos os componentes do serviço remoto, incluindo o serviço de gerenciamento de sessões do Open WebUI e o serviço de modelo baseado em Ollama.

    2. Geração do Quote: O backend do serviço Open WebUI encaminha a solicitação de atestação do processo de criação de sessão do usuário para a VM confidencial baseada em Intel TDX. A VM confidencial gera então um relatório de atestação remota TDX (TDX Quote) que inclui a cadeia de certificados completa.

    3. Verificação do Quote: O cliente submete as evidências recebidas (Quote) ao Remote Attestation Service para verificação. O serviço de atestação valida as evidências (incluindo assinatura digital, cadeia de certificados e política de segurança) e retorna um resultado que confirma o estado de segurança e a integridade do ambiente do serviço de modelo remoto.

  4. Serviço de inferência de modelo grande confidencial

    1. Atestação remota bem-sucedida: O cliente pode confiar totalmente no serviço de modelo remoto porque seu estado de segurança foi verificado. Para o usuário final, o risco de vazamento de dados é extremamente baixo (embora qualquer sistema apresente algum nível de risco).

    2. Falha na atestação remota: O serviço de atestação retorna uma mensagem de erro. Nesse caso, o usuário ou o sistema pode optar por abortar as solicitações de serviço subsequentes ou continuar após receber um aviso sobre possíveis riscos de segurança. O serviço de modelo remoto pode enfrentar riscos de segurança de dados neste ponto.

Procedimento

Etapa 1: Criar uma instância confidencial heterogênea

Importante

Os dados do modelo baixados pelo Ollama são salvos no diretório /usr/share/ollama/.ollama/models. Como os arquivos de modelo costumam ser grandes (por exemplo, o modelo quantizado DeepSeek-R1 70B tem cerca de 40 GB), ao criar a instância, selecione um tamanho de disco em nuvem adequado ao modelo que você planeja executar. Recomendamos um disco em nuvem com tamanho duas a três vezes maior que o arquivo do modelo.

Console

A criação de uma instância de computação confidencial heterogênea é semelhante à criação de uma instância padrão, mas exige configurações específicas. Para configurações gerais, consulte Criar uma instância usando o assistente.

  1. Acesse ECS console - Instances.

  2. No canto superior esquerdo da página, selecione uma região e um grupo de recursos.地域

  3. Clique em Create Instance e configure a instância com as seguintes definições.

    Item de Configuração

    Descrição

    Region and Zone

    China (Beijing) Zone L

    Instance Type

    ecs.gn8v-tee.4xlarge ou superior.

    Image

    Selecione a imagem Alibaba Cloud Linux 3.2104 LTS 64-bit.

    Public IP Address

    Assign Public IPv4 Address. Necessário para baixar o driver NVIDIA posteriormente.

    Importante

    Ao criar ou reiniciar uma instância confidencial com 8 GPUs, não anexe ENIs secundárias adicionais ou discos de dados. Isso pode causar falha na inicialização.

    Causa e solução

    Instâncias ECS com TDX habilitado usam uma região de memória não criptografada, o Software Input Output Translation Lookaside Buffer (SWIOTLB), para comunicação com periféricos. Por padrão, o tamanho do SWIOTLB é de 6% da memória disponível, com um máximo de 1 GiB.

    Anexar múltiplas ENIs ou discos de dados a uma instância confidencial com 8 GPUs pode esgotar a memória SWIOTLB, causando uma falha de alocação de memória que impede a inicialização.

    Se a instância falhar ao iniciar:

    • Solução 1: Pare a instância, desvincule as ENIs secundárias adicionais e desanexe todos os discos de dados.

    • Solução 2: Crie uma nova instância com apenas uma ENI primária, sem discos de dados e apenas um disco do sistema.

    Para adicionar múltiplas ENIs ou discos de dados a uma instância confidencial com 8 GPUs, conclua primeiro a Etapa 1 para aumentar o buffer SWIOTLB para 8 GB. Em seguida, anexe ENIs à instância e anexe discos de dados.

  4. Conclua a criação da instância seguindo as instruções na tela.

API/CLI

Chame a operação RunInstances ou use a CLI da Alibaba Cloud para criar uma instância ECS com TDX habilitado. Parâmetros principais:

Parâmetro

Descrição

Exemplo

RegionId

China (Beijing)

cn-beijing

ZoneId

Zone L

cn-beijing-l

InstanceType

ecs.gn8v-tee.4xlarge ou superior.

ecs.gn8v-tee.4xlarge

ImageId

ID de uma imagem compatível com computação confidencial. Apenas imagens Alibaba Cloud Linux 3.2104 LTS de 64 bits com versão de kernel 5.10.134-18.al8.x86_64 ou posterior.

aliyun_3_x64_20G_alibase_20250117.vhd

Exemplo de CLI:

<SECURITY_GROUP_ID> : ID do grupo de segurança. <VSWITCH_ID> : ID do vSwitch. <KEY_PAIR_NAME> : Nome do par de chaves SSH.
aliyun ecs RunInstances \
  --RegionId cn-beijing \
  --ZoneId cn-beijing-l \
  --SystemDisk.Category cloud_essd \
  --ImageId 'aliyun_3_x64_20G_alibase_20250117.vhd' \
  --InstanceType 'ecs.gn8v-tee.4xlarge' \
  --SecurityGroupId '<SECURITY_GROUP_ID>' \
  --VSwitchId '<VSWITCH_ID>' \
  --KeyPairName <KEY_PAIR_NAME>

Etapa 2: Configurar o ambiente de atestação remota TDX

Um TDX Report é uma estrutura de dados gerada pela CPU que representa a identidade de uma instância TDX. Ele contém informações essenciais, como ATTRIBUTES, Runtime-extendable Measurement Registers (RTMRs) e Trusted Computing Base Security Version Numbers (TCB SVNs), e utiliza métodos criptográficos para proteger sua integridade. Consulte Intel TDX Module.

  1. Adicione o repositório yum de computação confidencial da Alibaba Cloud.

    • Formato do endpoint público: https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo.

    • Formato do endpoint VPC: https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo.

      Substitua [Region-ID] pelo ID da região da instância TDX. O exemplo a seguir usa metadados da instância para obter dinamicamente o ID da região:

      token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token")
      region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id)
      
      sudo yum install -y yum-utils
      sudo yum-config-manager --add-repo https://enclave-${region_id}.oss-${region_id}-internal.aliyuncs.com/repo/alinux/enclave-expr.repo
  2. Instale as ferramentas de compilação e o código de exemplo.

    sudo yum groupinstall -y "Development Tools"
    sudo yum install -y sgxsdk libtdx-attest-devel
  3. Configure o serviço de atestação remota TDX da Alibaba Cloud.

    Defina PCCS_URL em /etc/sgx_default_qcnl.conf. O exemplo a seguir usa metadados da instância para obter dinamicamente o ID da região e configurar o serviço DCAP:

    token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token")
    region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id)
    
    sudo sed -i.$(date "+%m%d%y") 's|PCCS_URL=.*|PCCS_URL=https://sgx-dcap-server.${region_id}.aliyuncs.com/sgx/certification/v4/|' /etc/sgx_default_qcnl.conf

Etapa 3: Instalar o Ollama

  1. Conectar-se a uma instância Linux usando senha ou chave.

  2. Execute o comando a seguir para instalar o Ollama.

    curl -fsSL https://ollama.com/install.sh | sh
    Nota

    O script anterior é o script de instalação oficial fornecido pelo Ollama. Se a instalação falhar devido a problemas de rede, consulte o site oficial do Ollama e escolha outros métodos de instalação. Para mais informações, veja o guia de instalação do Ollama para Linux.

Etapa 4: Baixar e executar o DeepSeek-R1 com o Ollama

O arquivo do modelo é grande, portanto o download pode levar bastante tempo. Recomendamos o uso do tmux para evitar que o download seja interrompido por uma desconexão de rede.

  1. Instalar o tmux

    Execute o comando a seguir para instalar o tmux.

    sudo yum install -y tmux
  2. Baixar e executar o DeepSeek-R1 com o Ollama

    Execute os comandos a seguir para criar uma sessão tmux e, em seguida, baixar e executar o modelo DeepSeek-R1 nessa sessão.

    # Create a tmux session named run-deepseek
    tmux new -s "run-deepseek"
    # Download and run the deepseek-r1 model in the tmux session
    ollama run deepseek-r1:70b

    A saída a seguir indica que o modelo foi baixado e iniciado com sucesso. Digite /bye para sair da interação com o modelo.

    ......
    verifying sha256 digest 
    writing manifest 
    success 
    >>> 
    >>> Send a message (/? for help)
  3. (Opcional) Reconectar à sessão tmux

    Caso precise restaurar a sessão tmux após uma desconexão de rede, execute o seguinte comando:

    tmux attach -t run-deepseek

Etapa 5: Compilar o Open WebUI

Para permitir que o Open WebUI utilize o serviço de medição baseado em TDX, baixe o plugin de medição TDX e compile o Open WebUI a partir do código-fonte.

Importante

Os exemplos a seguir usam /home/ecs-user como diretório de trabalho. Substitua-o conforme o seu ambiente.

  1. Instalar dependências e configurar o ambiente

    1. Instale o Node.js.

      Execute o comando a seguir para instalar o Node.js.

      sudo yum install -y nodejs
      Nota

      Se encontrar problemas ao instalar o Node.js com o gerenciador de pacotes, tente usar o Node Version Manager (nvm) para instalar uma versão específica do Node.js.

      # Download and install nvm
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
      # Load nvm environment variables
      source ~/.bashrc
      # Install Node.js version 20.18.1
      nvm install 20.18.1
      # Use this version
      nvm use 20.18.1
      # Verify the version
      node --version
    2. Instale o Miniforge3 e configure suas variáveis de ambiente.

      Execute os comandos a seguir para instalar o Miniforge3 e configurar suas variáveis de ambiente para gerenciar o ambiente virtual open-webui.

      # Get the Miniforge3 installation package
      wget https://github.com/conda-forge/miniforge/releases/download/24.11.3-2/Miniforge3-24.11.3-2-Linux-x86_64.sh
      # Install miniforge3 non-interactively to the /home/ecs-user/miniforge3 directory
      bash Miniforge3-24.11.3-2-Linux-x86_64.sh -bu -p /home/ecs-user/miniforge3
      # Set the environment variable for Miniforge3
      export PATH="/home/ecs-user/miniforge3/bin:$PATH"
    3. Inicialize o Conda e verifique sua versão.

      Execute os comandos a seguir para inicializar o Conda e verificar sua versão.

      # Initialize Conda
      conda init
      source ~/.bashrc
      # Verify the version information
      conda --version
  2. Compilar o Open WebUI manualmente

    1. Baixe o plugin de medição TDX.

      Execute os comandos a seguir para baixar o plugin de medição TDX e alternar para a branch v1.2.

      cd /home/ecs-user
      git clone https://github.com/intel/confidential-computing-zoo.git
      git config --global --add safe.directory /home/ecs-user/confidential-computing-zoo
      cd confidential-computing-zoo
      git checkout v1.2
    2. Clone o código-fonte do Open WebUI.

      Execute os comandos a seguir para clonar o código-fonte do Open WebUI e alternar para a tag v0.5.20.

      cd /home/ecs-user
      git clone https://github.com/open-webui/open-webui.git
      # Switch to tag v0.5.20
      git config --global --add safe.directory /home/ecs-user/open-webui
      cd /home/ecs-user/open-webui
      git checkout v0.5.20
      # Apply the patch from CCZoo. This patch adds TDX remote attestation features to open-webui.
      cd /home/ecs-user
      cp /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/open-webui-patch/v0.5.20-feature-cc-tdx-v1.0.patch .
      git apply --ignore-whitespace --directory=open-webui/ v0.5.20-feature-cc-tdx-v1.0.patch
    3. Crie e ative o ambiente open-webui.

      Execute os comandos a seguir para criar e ativar o ambiente open-webui, usado para executar o Open WebUI compilado.

      conda create --name open-webui python=3.11
      conda activate open-webui
    4. Instale o plugin de medição TDX.

      cd /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/tdx_measurement_plugin/
      pip install Cython
      python setup.py install

      Após a conclusão do comando, execute o seguinte comando para verificar a instalação. Se nenhum erro for retornado, a instalação foi bem-sucedida.

      python3 -c "import quote_generator"
    5. Compile o Open WebUI.

      # Install dependencies
      cd /home/ecs-user/open-webui/
      # Configure the npm registry
      npm config set registry http://registry.npmmirror.com
      sudo npm install
      # Build
      sudo npm run build

      Após a conclusão da compilação, execute o comando a seguir para copiar o diretório de build gerado para o diretório backend e renomeá-lo para frontend:

      rm -rf ./backend/open_webui/frontend
      cp -r build ./backend/open_webui/frontend
      Nota

      Neste ponto, o Remote Attestation Service da Alibaba Cloud está configurado no Open WebUI compilado. Você pode encontrar as informações de configuração no arquivo /home/ecs-user/open-webui/external/acs-attest-client/index.js.

    6. Configure o arquivo de inicialização para o serviço de backend do Open WebUI.

      Execute o comando a seguir para configurar o arquivo de inicialização do serviço de backend do Open WebUI e conceder permissões de execução:

      tee /home/ecs-user/open-webui/backend/dev.sh << 'EOF'
      #Set the service address and port. The default port is 8080.
      PORT="${PORT:-8080}"
      uvicorn open_webui.main:app --port $PORT --host 0.0.0.0 --forwarded-allow-ips '*' --reload
      EOF
      # Add executable permission to the startup file
      chmod +x /home/ecs-user/open-webui/backend/dev.sh
    7. Instale as dependências necessárias para executar o Open WebUI.

      cd /home/ecs-user/open-webui/backend/
      pip install -r requirements.txt -U
      conda deactivate

Etapa 6: Executar o Open WebUI e verificar a atestação TDX

  1. Executar o modelo de linguagem grande e iniciar o serviço Open WebUI

    1. (Opcional) Se o serviço Ollama não estiver em execução, inicie-o executando o comando a seguir.

      ollama serve
    2. Execute o comando a seguir para executar o modelo DeepSeek-R1 com o Ollama.

      ollama run deepseek-r1:70b
    3. Execute o comando a seguir para ativar o ambiente virtual open-webui.

      conda activate open-webui
    4. Execute o comando a seguir para iniciar o serviço de backend do Open WebUI.

      cd /home/ecs-user/open-webui/backend && ./dev.sh

      A saída a seguir indica que o serviço de backend do Open WebUI foi iniciado com sucesso.

      ......
      INFO  [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
      /root/miniforge3/envs/open-webui/lib/python3.12/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
        warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
      WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
       ██████╗ ██████╗ ███████╗███╗   ██╗    ██╗    ██╗███████╗██████╗ ██╗   ██╗██╗
      ██╔═══██╗██╔══██╗██╔════╝████╗  ██║    ██║    ██║██╔════╝██╔══██╗██║   ██║██║
      ██║   ██║██████╔╝█████╗  ██╔██╗ ██║    ██║ █╗ ██║█████╗  ██████╔╝██║   ██║██║
      ██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║    ██║███╗██║██╔══╝  ██╔══██╗██║   ██║██║
      ╚██████╔╝██║     ███████╗██║ ╚████║    ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
       ═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝     ╚══╝╚══╝ ╚══════╝╚═════╝  ╚═════╝ ╚═╝
      v0.5.20 - building the best open-source AI user interface.
      https://github.com/open-webui/open-webui
  2. Acessar o serviço Open WebUI pelo navegador

    1. Adicione uma regra de grupo de segurança.

      No grupo de segurança da sua instância de computação confidencial heterogênea, adicione uma regra para permitir o acesso do cliente à porta 8080. Para mais informações, consulte Adicionar uma regra de grupo de segurança.

    2. Acesse o serviço Open WebUI pelo navegador.

      Abra seu navegador local e acesse o seguinte endereço: http://{ip_address}:{port}. Substitua os parâmetros conforme necessário:

      • {ip_address}: O endereço IP público da instância onde o Open WebUI está localizado.

      • {port}: O número da porta padrão é 8080.

      Se a atestação remota for bem-sucedida, uma marca de verificação verde aparecerá no primeiro ícone da caixa de diálogo. Caso contrário, o ícone ficará vermelho.

      Após o acesso bem-sucedido, a interface de chat do Open WebUI para o modelo deepseek-r1:70b será exibida. O ícone indicador de status da atestação remota fica ao lado do nome do modelo, no canto superior esquerdo.

      Nota

      Sempre que você clica no botão New Chat, o serviço de backend busca automaticamente os dados do Quote do ambiente de computação confidencial TDX, envia-os ao Remote Attestation Service e processa o resultado da atestação retornado. Por padrão, este ícone é vermelho, indicando que a atestação remota não foi concluída ou falhou. O ícone fica verde após a atestação remota ser bem-sucedida.

  3. Verificar as informações de atestação TDX

    Passe o mouse sobre o ícone de status da atestação para ver as informações detalhadas da atestação extraídas do TDX Quote.

    O painel de informações de atestação inclui campos como jti, tee (com o valor tdx), timestamps exp/iat, mr_td, rtmr_0 a rtmr_3, mr_seam, seam_attributes, td_attributes e xfam, juntamente com seus valores hash hexadecimais correspondentes.

    Visualize as informações detalhadas nas ferramentas de desenvolvedor do seu navegador. Um exemplo da saída é mostrado abaixo.

    Attestation Display info:
    {jti: 'c1e24a09-daf5-4064-a8a9-642c8c18c7fe', tee: 'tdx', exp: '2025-04-22 00:16:21 Asia/Shanghai', iat: '2025-04-21 18:16:21 Asia/Shanghai', mr_td: 'b0e52c59577523b17ad553c6fffb0f5f3496dbf3ccca69fbb2ea87cf4f938157550005c92a98130d8d30507ca5c652df', …}
    exp: "2025-04-22 00:16:21 Asia/Shanghai"
    iat: "2025-04-21 18:16:21 Asia/Shanghai"
    jti: "c1e24a09-daf5-4064-a8a9-642c8c18c7fe"
    mr_seam: "1cc6a17ab799e9a693fac7536be61c12ee1e0fabada82d0c999e08ccee2aa86de77b0870f558c570e7ffe55d6d47fa04"
    mr_td: "b0e52c59577523b17ad553c6fffb0f5f3496dbf3ccca69fbb2ea87cf4f938157550005c92a98130d8d30507ca5c652df"
    rtmr_0: "78be53d723b6be3f82997e3e8291f133b5d0a9905c17e5f95308c7db488e22da3405fc2e3b60f6291c38304096a17d21"
    rtmr_1: "216e85c7541a45bfbb9fe0521c72886bf8f47493d6027f2e33afe50a6d2f946904350780b0f205ee447bf08d29f60e4e"
    rtmr_2: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    rtmr_3: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    seam_attributes: "0000000000000000"
    td_attributes: "0000001000000000"
    tee: "tdx"
    xfam: "e742060000000000"
    [[Prototype]]: Object
    ALL Attestation info
    {jti: 'c1e24a09-daf5-4064-a8a9-642c8c18c7fe', tee: 'tdx', exp: '2025-04-22 00:16:21 Asia/Shanghai', iat: '2025-04-21 18:16:21 Asia/Shanghai', mr_td: 'b0e52c59577523b17ad553c6fffb0f5f3496dbf3ccca69fbb2ea87cf4f938157550005c92a98130d8d30507ca5c652df', …}
    att_key_type: "0200"
    exp: "2025-04-22 00:16:21 Asia/Shanghai"
    iat: "2025-04-21 18:16:21 Asia/Shanghai"
    jti: "c1e24a09-daf5-4064-a8a9-642c8c18c7fe"
    mr_condif_id: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    mr_owner: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    mr_seam: "1cc6a17ab799e9a693fac7536be61c12ee1e0fabada82d0c999e08ccee2aa86de77b0870f558c570e7ffe55d6d47fa04"
    mr_td: "b0e52c59577523b17ad553c6fffb0f5f3496dbf3ccca69fbb2ea87cf4f938157550005c92a98130d8d30507ca5c652df"
    rtmr_0: "78be53d723b6be3f82997e3e8291f133b5d0a9905c17e5f95308c7db488e22da3405fc2e3b60f6291c38304096a17d21"
    rtmr_1: "216e85c7541a45bfbb9fe0521c72886bf8f47493d6027f2e33afe50a6d2f946904350780b0f205ee447bf08d29f60e4e"
    rtmr_2: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    rtmr_3: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    seam_attributes: "0000000000000000"
    td_attributes: "0000001000000000"
    tee: "tdx"
    xfam: "e742060000000000"
    [[Prototype]]: Object
    mr_owner_config: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    mr_seam: "1cc6a17ab799e9a693fac7536be61c12ee1e0fabada82d0c999e08ccee2aa86de77b0870f558c570e7ffe55d6d47fa04"
    mr_servicetd: "383c87d3bbb047b2d171eaca95312ede99f258088dc788f6ae2ccf8b6dd848fe8d47629e08b3f6cbd4a0ddd47a5..."
    mr_td: "b0e52c59577523b17ad553c6fffb0f5f3496dbf3ccca69fbb2ea87cf4f938157550005c92a98130d8d30507ca5c652df"
    mrsigner_seam: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    rtmr_0: "78be53d723b6be3f82997e3e8291f133b5d0a9905c17e5f95308c7db488e22da3405fc2e3b60f6291c38304096a17d21"
    rtmr_1: "216e85c7541a45bfbb9fe0521c72886bf8f47493d6027f2e33afe50a6d2f946904350780b0f205ee447bf08d29f60e4e"
    rtmr_2: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    rtmr_3: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    seam_attributes: "0000000000000000"
    tcb_svn: "05010600000000000000000000000000"
    td_attributes: "0000001000000000"
    td_attributes.debug: false

Perguntas frequentes

Downloads lentos de pacotes pip

  • Sintoma: Os downloads de pacotes ficam lentos ou falham ao instalar pacotes com pip.

  • Causa: Acesso de rede instável à fonte oficial de software pip.

  • Solução: Utilize um espelho da Alibaba Cloud para acelerar o processo.

    Global configuration

    Adicione o seguinte conteúdo ao seu arquivo ~/.pip/pip.conf.

    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/

    Single command

    Ao executar o comando pip install, adicione o parâmetro -i para especificar o endereço da fonte de software e acelerar a instalação. O exemplo a seguir demonstra a instalação do pacote torch. Substitua-o conforme necessário.

    pip install torch -i https://mirrors.aliyun.com/pypi/simple/

Erro "Cannot find package"

  • Sintoma: Ocorre um erro Cannot find package ao compilar o Open WebUI.

  • Causa: O pacote necessário está ausente no ambiente de compilação.

  • Solução: Instale o pacote ausente com npm e compile novamente. O exemplo a seguir demonstra a instalação do pacote pyodide. Substitua-o com base na mensagem de erro real.

    npm install pyodide

Referências

Por padrão, o Open WebUI suporta apenas HTTP. Para proteger os dados em trânsito, implante HTTPS usando o Server Load Balancer (SLB) da Alibaba Cloud. Para mais informações, consulte Configurar autenticação unidirecional para solicitações HTTPS.