🩺 Monitoramento dos modelos
Smoke real em cada upstream (chat/embed/visão). Vermelho = FORA. Última checagem: —.
| Modelo | Canal | Provider | Endpoint | Status | Latência | Detalhe |
|---|---|---|---|---|---|---|
| — | ||||||
⬡ Registro de modelos (gateway estável)
| Nome lógico | Provider | Modelo | Tier | Soberania |
|---|
◇ Agentes versionados
| Key | Versão | Canal | Schema |
|---|
Catálogo central servido aos produtos — o produto chama run_agent(key, ctx), não embute prompt.
📊 Uso por produto · tenant · canal
| Produto | Tenant | Canal | Chamadas | Tokens (in/out) | Latência média | Fallbacks | Custo (US$) |
|---|
🛰 Requisições recentes
| Quando | Produto | Tenant | Canal | Provider/Modelo | Latência | Tokens | Cache | Válido | Fallback | Prompt |
|---|
⚗ Eval & A/B — candidato × atual (gate de promoção)
Compara um modelo candidato (ex.: mais barato/rápido/novo) com o atual de produção rodando os MESMOS casos de avaliação e medindo se a saída valida no schema e a latência. Serve como gate de promoção: só troque o modelo de produção se o candidato empatar/superar o atual — evita degradar a qualidade ao adotar um modelo novo. Não altera produção; só recomenda.
| Caso | Candidato (válido / latência) | Atual (válido / latência) |
|---|
▶ Executar agente
—
▶ Chat (baixo nível)
—
Diagnóstico de servidores e modelos
Smoke real por canal (não confia no /models — alguns proxies RunPod dão 403). Rode após trocar pods/URLs para validar alcance, auth, modelo servido e dimensão do embed.
| Modelo | Canal | Upstream | Modelo upstream | BR | Status | ms |
|---|---|---|---|---|---|---|
| clique em "Rodar diagnóstico" | ||||||
GPU / Autoscaler
| Canal | Estado | Modo | Atual/Alvo | Pods | Próx. mudança | Tráfego (clientes) | Custo/h | Ações |
|---|---|---|---|---|---|---|---|---|
| carregando… | ||||||||
Como os clientes usam as GPUs
Os produtos (Acervo, Tramita) não falam com o RunPod — eles chamam o
Sinapse por canal (ex.: visão) em NEXUS_URL. O autoscaler sobe/desce os pods e
publica os pods saudáveis no pool de roteamento do canal; o Sinapse balanceia (round-robin)
e faz failover entre eles. Resultado: nada muda no cliente — ele só vê o canal lógico
(vision-ocr), e por baixo o tráfego vai para 1..N pods conforme a janela.
⚠️ Fora da janela (0 pods) o pool fica vazio e o canal cai no base_url fixo do
registry (que pode estar fora). Se o canal precisa atender 24×7, deixe min ≥ 1 ou
mantenha um upstream fixo de fallback. A janela é ideal para cargas que só ocorrem em horário comercial.
Configurar canal
NEXUS_VLLM — deixe vazio. Para sobrepor, use env:NOME (lê de outra
variável, sem gravar no disco) ou cole um sk-… literal (cifrado em repouso).
Avançado: template do pod + janelas em JSON
image_name = Container image · docker_args = Container start command (modelo + flags) ·
ports = Expose HTTP ports (use /http; o Sinapse fala OpenAI-compat na 8000) ·
a --api-key do comando deve ser a mesma do campo "API key do vLLM" acima.
image_name (sem volume).
Eventos de escala
| quando | canal | ação | motivo |
|---|---|---|---|
| — | |||
◇ Editar agente
Catálogo central servido aos produtos. Salvar cria uma nova versão (overlay persistido no volume) e registra na auditoria. A maior versão por chave vence.
◇ Auditoria de edições
Log append-only — quem, quando e qual versão. Snapshot completo guardado no servidor (rollback).
| Quando | Autor | Agente | Versão | Ação |
|---|---|---|---|---|
| — | ||||
⤳ Reapontar modelo lógico (gateway estável)
A URL do pod muda a cada start — reaponte o nome lógico sem o produto saber.
—
🏢 Tenants (dimensão p/ relatórios)
| tenant_id | slug | Nome | Produto |
|---|
Resolve UID → nome no console/usage/relatórios. NÃO entra no Prometheus (cardinalidade).
ℹ Sobre
Control plane compartilhado. Providers: stub (offline) · ollama · openai_compat (RunPod). Roteamento por canal com fallback em cadeia, escalonamento por confiança e soberania (GPU no Brasil p/ sigilo criminal).
—
◇ Modelos / LLMs
Cadastre e edite os endpoints (RunPod, Z.ai, Ollama). Salvar grava um overlay sobre os defaults de env (volume), com a chave cifrada em repouso, e aplica sem reiniciar o serviço. Toda mudança é auditada.
| Nome lógico | Provider | Modelo | Chave | BR |
|---|
◇ Editar modelo
—
🧭 Assistente de upstream (com sugestão)
Configura os canais de uma vez a partir de um cenário. A sugestão marca o que é decisão de produto (espaço vetorial, soberania) vs. o que é trocável (chat/visão).
—
🔌 Conexões (recursos externos)
Cadastre credenciais tipadas — Azure OpenAI (endpoint + deployments),
Azure AI Search (RAG dos produtos), endpoints OpenAI-compat, Ollama. Segredo
cifrado em repouso, mudanças auditadas. Envs AZURE_OPENAI_* /
AZURE_SEARCH_* aparecem como conexões somente-leitura (env).
“Aplicar” configura os canais de chat/visão; o canal embed nunca é tocado
por aqui (contrato bge-m3/1024).
| Nome | Tipo | Endpoint | Chave | Origem |
|---|
◇ Nova / editar conexão
—
👥 Usuários do console
Perfis: admin (edita config e usuários) e leitura (vê traces/observabilidade). Senhas com PBKDF2; sessão por token assinado.
| Usuário | Nome | Perfil | Ativo |
|---|