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.
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 ↗