‹ ARQUIVO NB-C002 · .case · 2026·06

Assistente IA do Portefólio — BRI

NB-C002 .case

Assistente conversacional deste site, construído em Laravel 12 com painel Filament v4. Um sistema RAG (Retrieval-Augmented Generation) que responde em português e inglês a partir do conteúdo real do portefólio — serviços, projetos e notícias — com salvaguardas para não inventar informação.

Pipeline de um pedido:

   ┌───────────────────┐
   │   Pergunta (BRI)  │
   └─────────┬─────────┘
             ▼
   Recuperação híbrida  —  SQLite FTS5 + embeddings, fundidos (RRF)
             ▼
   Montagem de contexto —  catálogo + contactos + regra de veracidade
             ▼
   LLM (ancorado)       —  resposta gerada token a token
             ▼
   ┌───────────────────┐
   │   Browser (BRI)   │  ◀  Server-Sent Events, com repetição
   └───────────────────┘

A recuperação é híbrida: pesquisa lexical SQLite FTS5 combinada com embeddings (nomic-embed-text) e fundida por Reciprocal Rank Fusion, com um ligeiro fator de recência. Blocos autoritativos (catálogo de registos, contactos reais e regra de veracidade) são injetados no prompt para eliminar alucinações.

Os modelos são separados por função:

   Chatbot (BRI)   ─────▶   ┌────────────────────────────┐
                            │  Ollama Cloud              │  sem quota
                            │  gpt-oss:120b  (no think)  │  contexto 128k
                            └────────────────────────────┘

   Editorial Desk  ─────▶   Gemini ─▶ Groq ─▶ OpenRouter
                            └───  failover em 429 / 5xx  ───┘

O chat corre num backend sem quotas (Ollama Cloud), enquanto a redação editorial automatizada usa uma cadeia cloud com failover automático. A camada de streaming deteta cortes a meio e oferece repetição; uma sonda de saúde coloca o widget em modo offline localizado e recupera-o sozinha; e a memória de conversa, com base na conversa guardada no servidor, mantém o contexto do visitante ao longo do diálogo.

Desenhado, integrado e em produção neste próprio site.

BRI assistente

Quer saber sobre um projeto, um serviço ou uma notícia recente? Pergunte. Conheço todo o conteúdo deste site.