Sobre o projeto
zai-proxy é um proxy reverso baseado em Go que fica na frente da API Claude da Z.AI, adicionando recursos de observabilidade e confiabilidade que o acesso direto à API não possui. Ele consiste em dois componentes principais: um serviço de proxy e um painel de monitoramento.
O proxy escuta na porta 8080, encaminha solicitações para a API LLM upstream e exporta métricas Prometheus em /metrics. Os principais recursos incluem rastreamento de tokens (contagem de tokens de entrada e saída por solicitação usando o uso relatado pela API ou estimativa tiktoken como fallback), limitação de taxa adaptativa (rastreamento de respostas 429 upstream com um estimador de teto EWMA que automaticamente se mantém logo abaixo do limite e periodicamente testa aumentos de teto) e passagem de streaming SSE sem buffer. Ele também suporta implantações blue/green e canary via um rótulo DEPLOYMENT_VARIANT para comparar versões de proxy ou configurações de modelo lado a lado.
O painel é um backend Go com frontend React que coleta o endpoint Prometheus do proxy a cada 5 segundos, mantém snapshots de dupla resolução em anéis de memória limitados (resolução de 5 segundos por 24 horas, resolução de 1 minuto por 7 dias) e transmite atualizações ao navegador via SSE. Ele exibe throughput de solicitações, percentis de latência, totais de uso de tokens, taxas de erro e painéis de comparação por variante.
O proxy expõe um conjunto abrangente de métricas Prometheus, incluindo contagens de solicitações, histogramas de latência, taxas de tokens, taxas de erro, tempos de espera de limitação de taxa, tentativas de repetição, utilização de trabalhadores e informações de build, todas rotuladas por modelo e variante de implantação. A configuração é tratada por variáveis de ambiente que cobrem chaves de API, URLs de destino, parâmetros de limitação de taxa, polling de cota e comportamento de repetição.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.