Contexto: IplanRioPeríodo: 2025–2026
em produção

Busca e recomendação de serviços públicos

Busca que entende "quero parar de fumar" e encontra o Programa Antitabagismo.

Meu papel

Autor principal da camada de descoberta, com 73 dos 106 commits. Antes dela, mantive a busca anterior sobre Typesense.

519
req/s de pico no teste de carga
0%
de erro em 238 mil requisições
3
listas combinadas por RRF
SPAN 01 // CONTEXTO

Problema

O cidadão escreve do jeito dele e o catálogo usa o nome oficial do serviço, então a busca textual sozinha não achava. Serviços, cursos e vagas ainda ficavam em bases separadas.

SPAN 02 // IMPLEMENTAÇÃO

Solução

Camada de descoberta em Go sobre PostgreSQL com pgvector, pg_trgm e unaccent. A consulta é expandida com sinônimos e dispara, em paralelo, o embedding da pergunta e um HyDE, um documento hipotético gerado pelo Gemini e também vetorizado. Busca textual em português, vetor da pergunta e vetor do HyDE são combinados por Reciprocal Rank Fusion, e os 20 primeiros passam por um reranker cross-encoder.

SPAN 03 // DETALHES

Destaques

  • Degradação em etapas. Se o Vertex AI não responde em 4 s, a busca cai para duas listas e, se preciso, para texto puro.
  • Recomendação por perfil do cidadão em 6 dimensões (escolaridade, renda, território, acessibilidade, faixa etária e contexto).
  • CPF nunca é gravado em claro. Entra como hash com sal, tanto no banco quanto no cache.
  • Na versão anterior, sobre Typesense, adicionei crawling e um serviço de LLM para ingestão de documentos.
SPAN 04 // RESULTADO [200 OK]

Resultado

No teste de carga em staging foram 238 mil requisições, pico de 519 req/s e nenhum erro. A análise também apontou a causa da cauda lenta, retries contra um endpoint de embedding descontinuado.

Ações rápidasMudar idioma para Inglês (EN)
EN
Ações rápidasAlternar tema claro / escuro
THEME
Ações rápidasBaixar currículo em Português (PDF)
PDF · PT-BR
Ações rápidasBaixar currículo em Inglês (PDF)
PDF · EN
Ações rápidasCopiar endereço de e-mail (fredzolio.dev@gmail.com)
COPY
NavegaçãoServiços em produção e projetos principais
#servicos
NavegaçãoTodos os projetos
/projetos/
NavegaçãoLinha do tempo profissional
#carreira
NavegaçãoPalestras, contratação, documentação e open source
#atuacao
NavegaçãoCompetências e ferramentas
#stack
NavegaçãoFormação acadêmica, cursos e idiomas
#formacao
NavegaçãoContato e currículo
#contato
Projetos e estudos de casoRio Queue
IplanRio · em produção
Projetos e estudos de casoBusca e recomendação de serviços públicos
IplanRio · em produção
Projetos e estudos de casoAPI de cursos, vagas e empregabilidade
IplanRio · em produção
Projetos e estudos de casoTeste de carga do SuperApp
IplanRio · uso interno
Projetos e estudos de casoPipelines de dados do Nota Carioca
IplanRio · em produção
Projetos e estudos de casoInvestigação de custo no GCP e Billing Guard
IplanRio · em produção
Projetos e estudos de casoGateway do EAí e MCP server da Prefeitura
IplanRio · em produção
Projetos e estudos de casoPlataforma de agentes de código para os devs
IplanRio · uso interno
Projetos e estudos de casoAgentes para operação de infraestrutura
IplanRio · uso interno
Projetos e estudos de casoIntegrações do chatbot da Prefeitura
IplanRio · em produção
Projetos e estudos de casoWorker de e-mail em Go
IplanRio · em produção
Projetos e estudos de casoTelas da sala de reunião executiva
IplanRio · em produção
Projetos e estudos de casoAlliomed
Vizo · em produção
Projetos e estudos de casoMaestro, esteira de agentes de código
Vizo · uso interno
Projetos e estudos de casoProventus
Vizo · em uso por clientes
Projetos e estudos de casoSienge SaaS RPA
Vizo · vendido
Projetos e estudos de casoDiagnóstico de infraestrutura AWS
Vizo · cliente
Projetos e estudos de casoPLANEHAB Nosso Bairro
Freelance · no ar
Projetos e estudos de casoConecta Solar
Freelance · no ar
Projetos e estudos de casoVardis
Freelance · cliente
Projetos e estudos de casoLivinHub
Freelance · cliente
Projetos e estudos de casoNDC Nexus
New Data Company · protótipo
Projetos e estudos de casoMonitor de grupos de WhatsApp
New Data Company · protótipo
Projetos e estudos de casoERP interno
New Data Company · uso interno
Projetos e estudos de casoJungle Wallet
Pessoal · código aberto
Projetos e estudos de casoZolioLab
Pessoal · uso interno
Projetos e estudos de casoOSCE Cirurgia
Pessoal · protótipo
Projetos e estudos de casoCorreção de redação do ENEM
Pessoal · experimento
Projetos e estudos de casoGamePixzo
Pessoal · protótipo
Projetos e estudos de casoSurkai
Pessoal · código aberto