Pular para o conteúdo principal

Como executar o GLM-5.2 localmente usando RunPod e llama.cpp

Execute o GLM-5.2 de forma privada com o llama.cpp, proteja com sua própria chave de API, teste na Web UI e via cURL e conecte ao OpenCode para um fluxo de trabalho local poderoso.
Atualizado 1 de jul. de 2026  · 9 min lido

GLM-5.2 é o mais novo modelo aberto de ponta da Z.ai, projetado para tarefas de codificação de longo prazo, raciocínio e engenharia com agentes. Ele traz janela de contexto de 1 milhão de tokens, múltiplos modos de raciocínio, suporte a chamadas de ferramentas e melhorias para manter consistência em grandes bases de código e tarefas em várias etapas. 

Embora o modelo completo seja enorme, as quantizações GGUF permitem executar o GLM-5.2 localmente com o llama.cpp no hardware adequado.

Resultados oficiais de benchmark do GLM-5.2

Fonte: GLM-5.2: Built for Long-Horizon Tasks 

Neste guia, vou mostrar como instalar o pacote precompilado do llama.cpp e usá-lo para servir o GLM-5.2 em uma instância de GPU da RunPod. 

Você iniciará o servidor com uma chave de API, testará seu endpoint compatível com OpenAI via cURL e usará a Web UI nativa do llama.cpp no navegador. 

Depois, você vai expor o servidor pelo URL de proxy da RunPod para acessá-lo com segurança do seu notebook ou de outros apps. 

Por fim, você conectará esse servidor GLM-5.2 hospedado ao OpenCode rodando localmente ao lado do seu projeto, permitindo que o OpenCode leia arquivos, edite código, rode testes e use seu shell local enquanto o GLM-5.2 cuida do raciocínio remotamente.

1. Configure uma instância de GPU RunPod para o GLM-5.2

Acesse seu dashboard da RunPod e crie um novo Pod. Antes de iniciar, confirme que sua conta tem pelo menos US$ 25 de crédito, pois o GLM-5.2 exige uma configuração grande com múltiplas GPUs.

Selecione uma máquina com 4× RTX PRO 6000, que oferece:

  • 384 GB de VRAM
  • 752 GB de RAM
  • Pelo menos 550 GB de espaço em disco

Antes de fazer o deploy, edite o template do Pod. Aumente o disco do container para no mínimo 550 GB e adicione o seguinte em Expose HTTP Ports:

8910

Essa porta será usada depois pelo servidor do llama.cpp, pela Web UI e pela API compatível com OpenAI.

Para downloads mais rápidos e estáveis, adicione seu token do Hugging Face como variável de ambiente no template:

HF_TOKEN=your_hugging_face_token

Editando o template Pytorch da Runpod

Quando tudo estiver configurado, faça o deploy do Pod. Após iniciar, clique em Connect e abra o JupyterLab. Inicie um novo terminal e rode:

nvidia-smi

Você deve ver as quatro RTX PRO 6000 listadas e disponíveis. Isso confirma que o Pod está pronto para baixar e executar o GLM-5.2.

Relatório do nvidia-smi com as quatro RTX PRO 6000

2. Instale o llama.cpp para servir o modelo GLM-5.2

Em vez de compilar o llama.cpp a partir do código-fonte, instale a versão mais recente precompilada usando o instalador oficial do llama.app. Execute o comando abaixo no terminal do JupyterLab:

curl -LsSf https://llama.app/install.sh | sh

Em seguida, adicione a pasta de instalação do llama.cpp ao seu PATH para poder executar o comando llama de qualquer terminal:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Recarregue a configuração do Bash para aplicar a mudança:

source ~/.bashrc

Por fim, confirme que o llama.cpp foi instalado corretamente:

llama help

Você deverá ver os comandos disponíveis do llama.cpp.

Comandos disponíveis do llama

3. Configure o cache do Hugging Face e a segurança da API

Agora, configure um local persistente para os arquivos do modelo. 

O diretório /workspace da RunPod permanece disponível mesmo quando você pausa o pod, então é um lugar melhor para armazenar o cache do Hugging Face do que o local padrão.

Execute os comandos abaixo no terminal do JupyterLab:

export HF_HOME="/workspace/huggingface"
mkdir -p "$HF_HOME"

Isso garante que os arquivos baixados do modelo sejam armazenados em /workspace/huggingface.

Agora crie uma chave de API para o seu servidor llama.cpp. Use um valor longo e aleatório e mantenha-o privado, pois você usará a mesma chave depois para testar a API e conectar o OpenCode:

export LLAMA_API_KEY="replace-this-with-a-long-random-secret"

Por fim, defina um alias simples para o modelo:

export MODEL_ALIAS="glm-5.2-iq3s"

O OpenCode usará exatamente esse alias do modelo depois, então mantenha-o inalterado ao longo do guia.

4. Rode o modelo GLM-5.2 GGUF com o llama.cpp

Você já pode iniciar o servidor do GLM-5.2. Execute o comando abaixo no mesmo terminal:

CUDA_VISIBLE_DEVICES=0,1,2,3 llama serve \
  -hf unsloth/GLM-5.2-GGUF:UD-IQ3_S \
  --alias "$MODEL_ALIAS" \
  --host 0.0.0.0 \
  --port 8910 \
  --api-key "$LLAMA_API_KEY" \
  --n-gpu-layers 999 \
  --split-mode layer \
  --tensor-split 1,1,1,1 \
  --ctx-size 100000 \
  --parallel 1 \
  --flash-attn on \
  --jinja

Na primeira execução, o llama.cpp fará o download da quantização GGUF UD-IQ3_S do GLM-5.2 a partir do Hugging Face e a armazenará no diretório de cache configurado anteriormente. 

O download pode levar um tempo, pois o modelo é muito grande.

o llama.cpp baixa os shards do modelo antes de carregá-los na memória

Após o download, o llama.cpp carregará o modelo nas quatro GPUs. As opções --split-mode layer e --tensor-split 1,1,1,1 dividem o modelo igualmente entre as GPUs disponíveis, enquanto o Flash Attention ajuda a melhorar a performance.

Quando o modelo carregar com sucesso, o servidor local estará disponível em:

http://127.0.0.1:8910

o servidor do llama.cpp está em execução, oferecendo acesso ao GLM 5.2

O servidor está protegido pela chave de API definida anteriormente. Mantenha este terminal aberto enquanto usar o modelo; fechá-lo interrompe o servidor.

5. Abra a Web UI do llama.cpp

Abra seu Pod na RunPod e vá até a aba Connect. Em portas HTTP expostas, clique no link associado à porta 8910. Isso abrirá a Web UI do llama.cpp no navegador.

abrindo o proxy da Runpod vinculado à porta 8910

A URL terá este formato:

https://YOUR_POD_ID-8910.proxy.runpod.net

Substitua YOUR_POD_ID pelo ID real do seu Pod na RunPod, caso precise digitar a URL manualmente.

definindo a chave de API para a Web UI autenticar as requisições

Na Web UI do llama.cpp, abra Settings e vá em General. Cole a mesma chave de API usada ao iniciar o servidor do llama.cpp. 

Isso permite que a Web UI autentique as requisições e se comunique com o servidor protegido.

Agora você pode testar o modelo com um prompt simples de código:

Write a Python function that validates an email address without external packages. 
Include three pytest tests.

testando o modelo GLM 5.2 na webui do llama.cpp

Nesta configuração, o GLM-5.2 gerou em média 41 tokens por segundo, uma boa velocidade para um modelo desse porte. 

A qualidade da resposta também foi sólida, com uma implementação estruturada, regras claras de validação e testes.

6. Teste a API local com cURL

Abra um segundo terminal no JupyterLab. O primeiro deve permanecer aberto, pois está executando o servidor do llama.cpp.

No novo terminal, defina a URL da API local, reutilize a mesma chave de API e defina o alias do modelo:

export BASE_URL="http://127.0.0.1:8910/v1"
export LLAMA_API_KEY="replace-this-with-the-same-server-key"
export MODEL_ALIAS="glm-5.2-iq3s"

Primeiro, verifique se o servidor está rodando e se o GLM-5.2 está disponível:

curl --fail-with-body -sS \
  "$BASE_URL/models" \
  -H "Authorization: Bearer $LLAMA_API_KEY"

Você deverá ver o alias do modelo na resposta:

glm-5.2-iq3s

Em seguida, envie uma requisição de teste para o endpoint de chat completions compatível com OpenAI:

glm-5.2-iq3s

Next, send a test request to the OpenAI-compatible chat completions endpoint:
curl --fail-with-body -sS \
  --connect-timeout 15 \
  --max-time 600 \
  -X POST "$BASE_URL/chat/completions" \
  -H "Authorization: Bearer $LLAMA_API_KEY" \
  -H "Content-Type: application/json" \
  --data @- <<JSON
{
  "model": "$MODEL_ALIAS",
  "messages": [
    {
      "role": "system",
      "content": "You are a precise senior software engineer."
    },
    {
      "role": "user",
      "content": "Write a Python function that validates an email address without external packages. Include three pytest tests."
    }
  ],
  "temperature": 0.2,
  "max_tokens": 1500,
  "stream": false
}
JSON

O servidor retornará um JSON com a resposta do modelo. 

Neste teste, o GLM-5.2 gerou uma implementação Python estruturada, com lógica de validação e casos de teste em pytest, numa velocidade média de cerca de 41 tokens por segundo.

Essa URL local só funciona dentro do Pod da RunPod. Para chamar o mesmo servidor do seu notebook, do OpenCode ou de outro app externo, use o URL de proxy da RunPod:

export BASE_URL="https://YOUR_POD_ID-8910.proxy.runpod.net/v1"

Substitua YOUR_POD_ID pelo ID real do seu Pod e continue usando a mesma chave de API no cabeçalho Authorization.

7. Instale e conecte o OpenCode ao GLM-5.2

Instale o OpenCode no computador onde está seu projeto. Abra um terminal e rode:

curl -fsSL https://opencode.ai/install | bash

Depois, entre na pasta do seu projeto:

cd /path/to/your/project

Exporte a mesma chave de API usada ao iniciar o servidor do llama.cpp na RunPod:

export LLAMA_API_KEY="replace-with-the-same-server-key"

O OpenCode roda localmente ao lado do seu projeto, enquanto o GLM-5.2 continua rodando remotamente no seu Pod da RunPod. Esse arranjo permite que o OpenCode leia arquivos, edite código, execute testes e use seu terminal local, enquanto o GLM-5.2 faz o raciocínio via API segura da RunPod.

Crie um arquivo chamado opencode.json na raiz do projeto e adicione a configuração abaixo:

{
  "$schema": "https://opencode.ai/config.json",

  "enabled_providers": ["llama-runpod"],

  "provider": {
    "llama-runpod": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "GLM-5.2 on RunPod",

      "options": {
        "baseURL": "https://YOUR_POD_ID-8910.proxy.runpod.net/v1",
        "apiKey": "{env:LLAMA_API_KEY}",
        "timeout": 600000,
        "chunkTimeout": 120000
      },

      "models": {
        "glm-5.2-iq3s": {
          "name": "GLM-5.2 UD-IQ3_S",
          "limit": {
            "context": 100000,
            "output": 32000
          }
        }
      }
    }
  },

  "model": "llama-runpod/glm-5.2-iq3s",
  "small_model": "llama-runpod/glm-5.2-iq3s"
}

Substitua YOUR_POD_ID pelo ID real do seu Pod. A URL deve coincidir com o URL de proxy da RunPod usado para abrir a Web UI do llama.cpp.

Quando o arquivo opencode.json estiver salvo, abra um terminal na mesma pasta do projeto e inicie o OpenCode:

Iniciando o terminal local no Windows 11

opencode

Depois, rode:

/models

Selecione:

GLM-5.2 UD-IQ3_S

Selecionando o modelo em execução no OpenCode

O OpenCode agora está conectado ao seu servidor GLM-5.2. Ele usará o modelo remoto para raciocínio, mantendo arquivos do projeto, comandos de terminal, edições de código e execução de testes no seu notebook.

8. Teste o OpenCode como um agente de código 

Comece com um teste simples para confirmar que o OpenCode consegue alcançar seu servidor GLM-5.2 e retornar uma resposta.

No OpenCode, digite:

hey

testando o modelo GLM 5.2 no OpenCode

Depois, peça para o OpenCode inspecionar e explicar seu projeto atual:

Explain the project in 3-5 short bullet points, including its purpose, main technologies, 
entry point, and how the main parts work together.

testando o modelo GLM 5.2 no OpenCode

O OpenCode lê os arquivos do projeto e entrega um panorama objetivo, em vez de adivinhar. Neste exemplo, ele identificou corretamente que o projeto é um assistente bilíngue em inglês/urdu para verificação de golpes em comunicados, contas, SMS e alertas bancários no Paquistão. 

Ele também explicou a stack principal, o ponto de entrada app.py, o fluxo de avaliação e os arquivos de teste e telemetria de suporte.

Prompt: 

Suggest one useful new feature that fits the project's current scope.

testando o modelo GLM 5.2 no OpenCode

Ele sugeriu um recurso útil: um diretório local de IDs de remetentes oficiais verificados, centrais de bancos, cabeçalhos de transportadoras e códigos curtos públicos. 

Para testar o OpenCode em uma tarefa maior, crie uma nova pasta no seu notebook:

mkdir ml-app
cd ml-app
opencode

Depois, dê ao OpenCode o seguinte prompt:

Build and test a complete Python-based web UI for this machine learning application.

construindo o novo projeto do zero com o GLM 5.2 no OpenCode

O OpenCode primeiro cria uma lista de tarefas e divide o projeto em etapas gerenciáveis. 

Em seguida, ele cria os arquivos necessários da aplicação, a lógica de machine learning, a interface em Streamlit, as dependências e a suíte de testes. 

Quando a implementação termina, ele executa os testes, corrige eventuais problemas e fornece um resumo claro do projeto finalizado, junto do comando para iniciá-lo. 

construindo o novo projeto do zero com o GLM 5.2 no OpenCode

Neste teste, o OpenCode concluiu 10 testes aprovados e verificou que a aplicação Streamlit abriu com sucesso. Inicie a aplicação de machine learning com: 

streamlit run app.py

O resultado ficou limpo e funcionando como esperado. 

Aplicativo de machine learning criado pelo GLM 5.2 no OpenCode

Mesmo com a versão quantizada a 3 bits do GLM-5.2, a qualidade do raciocínio foi forte nesses testes. 

Ele entendeu o projeto existente, propôs um recurso relevante, criou uma aplicação web completa, usou ferramentas para inspecionar e modificar arquivos e rodou testes para validar o trabalho. 

Considerações finais

Essa configuração oferece algo que provedores de API padrão não entregam: seu próprio servidor GLM-5.2, privado e hospedado por você.

Em vez de enviar todas as requisições para uma plataforma compartilhada, com limites fixos, configs de modelo e preço por token, você aluga a máquina com GPU, faz o deploy do modelo por conta própria e controla toda a pilha de serving. 

Você escolhe a quantização do modelo, a configuração de GPU, a janela de contexto, as definições do servidor, a chave de API e quem pode acessar o endpoint.

Seu código, prompts, contexto do projeto e respostas da API permanecem na infraestrutura sob seu controle: seu próprio notebook e seu deploy na RunPod. 

Eles não são enviados a um provedor adicional de inferência hospedada. Isso é especialmente útil quando você trabalha com repositórios privados, ferramentas internas, código sensível ou dados da empresa.

Você também evita o custo e o esforço de comprar, operar e manter um servidor multi-GPU de alto nível por conta própria. 

Em vez disso, você pode alugar GPUs poderosas só quando precisar, servir o GLM-5.2 com o llama.cpp, proteger o endpoint com sua própria chave de API e conectar do seu notebook via OpenCode.

Neste guia, você configurou uma máquina multi-GPU na RunPod, instalou o pacote precompilado do llama.cpp, baixou e serviu o modelo GLM-5.2 GGUF e protegeu o servidor com uma chave de API. 

Depois, testou o modelo tanto pela Web UI do llama.cpp quanto pela API via cURL compatível com OpenAI, antes de expor a URL segura da RunPod para acesso externo.

Por fim, você conectou esse endpoint privado ao OpenCode rodando no seu notebook. Isso cria um fluxo de trabalho híbrido na prática: o GLM-5.2 roda em GPUs poderosas alugadas, enquanto o OpenCode permanece dentro do seu projeto local e pode inspecionar arquivos, editar código, rodar testes e usar seu shell. 

Você tem a performance de um modelo de primeira linha, a flexibilidade do autohospedado e muito mais controle do que teria com uma API hospedada padrão.

FAQs

Qual é o tamanho do modelo GLM-5.2 e qual é sua arquitetura?

O GLM-5.2 é um enorme modelo Mixture-of-Experts (MoE) com cerca de 744 a 753 bilhões de parâmetros totais. No entanto, a arquitetura MoE garante que apenas ~40 bilhões de parâmetros fiquem "ativos" por token durante a inferência. Esse design oferece a capacidade de conhecimento de um modelo 700B+ mantendo o custo computacional mais próximo ao de um modelo denso de 40B.

Sob qual licença o GLM-5.2 foi lançado?

Diferente de muitos modelos de "pesos abertos" que vêm com cláusulas restritivas para a comunidade ou uso não comercial, o GLM-5.2 foi lançado sob a licença MIT, altamente permissiva. Isso significa que você é livre para autohospedar, modificar profundamente e usar o modelo em aplicações comerciais completas sem se preocupar com lock-in corporativo ou políticas de uso restritivas.

Como o GLM-5.2 se sai frente a modelos fechados de ponta?

Atualmente, o GLM-5.2 é visto como o modelo open-weight mais forte para engenharia com agentes e tarefas de codificação de longo prazo. Em benchmarks reais de código, como SWE-bench Pro e Terminal-Bench 2.1, ele supera com folga o GPT-5.5 e fica a poucos pontos percentuais do Claude Opus 4.8.

Como o modelo processa com eficiência um contexto massivo de 1 milhão de tokens?

Processar um milhão de tokens geralmente cria um grande gargalo computacional. Para resolver isso, o GLM-5.2 introduz uma inovação arquitetural chamada IndexShare. Em vez de calcular um índice de atenção separado para cada camada, o modelo reutiliza o mesmo indexador leve a cada quatro camadas de atenção esparsa. Isso reduz os FLOPs por token em quase 2,9× em comprimentos de contexto extremos, tornando viável economicamente o raciocínio em todo o projeto.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.

Tópicos

Principais cursos da DataCamp

Programa

Engenheiro associado de IA para cientistas de dados

40 h
Treine e faça o ajuste fino dos modelos de IA mais recentes para produção, incluindo LLMs como o Llama 3. Comece sua jornada para se tornar um engenheiro de IA hoje mesmo!
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow