Lisboa · segunda-feira, 27 jul 2026 Edição NB · Nº 090
← Voltar aos projetos
IA / RAG · Laravel 12 NB-C002

Assistente IA do Portefólio, BRI

FIG. NB-C002 · IA / RAG · Laravel 12

Assistente conversacional deste site, construído em Laravel 12 com painel de administração 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, ou seja, serviços, projetos e notícias, com salvaguardas para não inventar informação.

O pipeline de um pedido segue várias etapas. Cada pergunta passa por uma recuperação híbrida, segue para a montagem de contexto, é respondida por um modelo de linguagem ancorado nesse contexto e regressa ao browser token a token.

Esquema técnico do pipeline RAG do assistente: pergunta do browser para a app web, depois recuperação híbrida (pesquisa lexical FTS5 e embeddings, fundidos por RRF a partir de uma base de conhecimento), montagem de contexto com catálogo, contactos e regra de veracidade, modelo de linguagem ancorado e resposta em streaming token a token de volta ao browser, com guarda de repetição. Numa lane separada, os subsistemas: memória de conversa, sonda de saúde com modo offline localizado e cadeia de redação editorial com failover entre três fornecedores. Estilo dossier escuro, ciano sobre fundo quase preto, tipografia monoespaçada.
Esquema técnico do pipeline RAG do assistente: pergunta do browser para a app web, depois recuperação híbrida (pesquisa lexical FTS5 e embeddings, fundidos por RRF a partir de uma base de conhecimento), montagem de contexto com catálogo, contactos e regra de veracidade, modelo de linguagem ancorado e resposta em streaming token a token de volta ao browser, com guarda de repetição. Numa lane separada, os subsistemas: memória de conversa, sonda de saúde com modo offline localizado e cadeia de redação editorial com failover entre três fornecedores. Estilo dossier escuro, ciano sobre fundo quase preto, tipografia monoespaçada.

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

Os modelos estão separados por função. O chatbot corre num backend sem quotas, com o modelo gpt-oss de 120b e contexto alargado, configurado sem fase de raciocínio intermédio por se tratar de uma resposta ancorada. A redação editorial automatizada usa uma cadeia na cloud com failover automático que passa de um fornecedor para o seguinte em caso de erro 429 ou 5xx, percorrendo por ordem Gemini, depois Groq e por fim OpenRouter.

A camada de streaming deteta cortes a meio da resposta e oferece repetição. Uma sonda de saúde coloca o widget em modo offline localizado e recupera-o sozinha, sem afetar o resto do site. A memória de conversa, com base no diálogo guardado no servidor, mantém o contexto do visitante ao longo da troca de mensagens. Foi desenhado, integrado e está em produção neste próprio site.

Visitar projeto ↗
BRI assistente

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