gwaninsight
Ecossistema Gwan Cloud · Slot 31

O que essa conversa está dizendo.

Lê uma conversa inteira e devolve resumo, sinais de risco, momentos-chave e próximos passos — em português, gerados por um modelo que roda na GPU aqui dentro.

Não tem banco e não guarda nada. Nenhum texto de conversa sai da infraestrutura, e o resultado existe só em trânsito até quem pediu.

Sem persistência Nada sai da infra Modelo local
Estado agora
carregando…
Como consumir

A fila é o caminho

Este serviço roda na máquina do mantenedor, junto do gwan-slm — a geração precisa da GPU. Isso decide o que serve para quem.

Produção

Fila RabbitMQ

Único caminho para um app em produção, e o único que atravessa a internet — por pull: este serviço puxa do RabbitMQ, nada entra pela NAT.

publica → insight.jobs.requests
opcional: priorClassification
resposta → a fila do seu replyTo
Dev

HTTP síncrono

Existe para diagnóstico e desenvolvimento; demora dezenas de segundos e só alcança quem está na mesma máquina.

POST http://gwan-insight:8000/api/insight
GET  /health   → 'ok' ou 'slm-unreachable'
GET  /contract → JSON Schema

Best-effort, e sem rede de segurança

Com a máquina desligada, a fila acumula e ninguém responde. Publique com TTL (x-message-ttl) e trate a ausência de resposta como caso normal.

Não há fallback. Diferente do gwan-classify, que cai para regra determinística, não existe heurística razoável para "resumir uma conversa". Se o gwan-slm estiver fora, o job falha com SLM_UNAVAILABLE — e o /health responde slm-unreachable em vez de mentir ok.

Como funciona

A conversa não vai inteira

Mandar tudo estoura o contexto numa GPU de consumo. O serviço escolhe uma janela de turnos — e o campo windowTurnIndexes devolve exatamente quais foram lidos, para quando o resumo parecer ter ignorado parte da conversa.

1

Com priorClassification

Recebendo os picos que o gwan-classify encontrou, a janela mira onde a conversa azedou em vez das bordas.

2

Sem ela

Heurística: primeiros e últimos turnos, mais os mais longos — começo tem o pedido, fim tem o desfecho.

3

Ainda grande

Corta os turnos mais curtos primeiro, e nunca o último — é o desfecho que decide os próximos passos.

4

Saída conferida

JSON com uma tentativa de reparo. Momento-chave citando turno fora da janela é descartado, não corrigido.