Como o Chatbot Analítico e o Concierge Virtual previstos no Caderno de Encargos (T3.9) assentam sobre a plataforma Martha — uma só implementação, dois agentes segregados, sobre os dados que já existem (Metabase CIT-PBS + catálogo de ~500 indicadores). Sem reinventar camadas: Martha é o RAG + Tool Use + guardrails + observabilidade que o Caderno de Encargos exige.
O padrão central do Caderno de Encargos (§3.1). Em Martha, cada caixa é uma step de um Workflow — retries independentes, estado persistente, e citação automática das fontes.
Portal ou chat embebido. Token curto + origin allowlist.
KB curada (hybrid search) + tools sobre a API do Metabase.
LLM condicionado ao contexto recuperado e ao perfil.
Scope, anti-injection, resposta em baixa confiança.
Com fontes citadas + registo auditável (Langfuse).
O chatbot e o concierge vivem na camada de Serviços/Apresentação (§3.3). Tudo abaixo é Martha sobre os dados existentes.
Mesma infraestrutura, mas KB, tools, permissões, logging e guardrails separados (§7.1). O concierge não herda permissões internas.
Apoio à consulta e interpretação de indicadores para a equipa CIT e perfis profissionais.
Orientado ao visitante/turista registado. Exposição pública controlada, sem dados internos.
Os 8 perfis do Canvas tornam-se as chaves de scope. Cada perfil = uma allowlist de tools (Martha) × um scope de RLS (Metabase). A mesma pergunta devolve dados diferentes consoante quem pergunta.
| Perfil | Agente | Âmbito de dados (RLS) | Acesso ao Metabase |
|---|---|---|---|
| Decisores Públicos | analítico | 7 clusters · nacional/regional | Dashboards completos + queries ad-hoc |
| Gestores do Destino | analítico | 7 clusters · região Norte | Dashboards completos + queries ad-hoc |
| Porto Business School | analítico | 7 clusters · agregado | Dashboards + exportação para análise |
| Alojamento | analítico | Procura + Oferta · seu concelho | Cards filtrados ao seu território |
| Animação Turística | analítico | Procura + Experiência · seu concelho | Cards filtrados ao seu território |
| Restauração e Comércio | analítico | Procura + Economia · seu concelho | Cards filtrados ao seu território |
| Académicos | analítico | Datasets agregados · sem micro-dados | Leitura agregada + metodologia |
| Visitantes | concierge | Apenas indicadores publicados | Sem acesso · só KB pública |
Em Martha, "largar uma spec OpenAPI" transforma cada endpoint REST numa função invocável pelo agente. Credenciais guardadas centralmente, nunca no prompt.
A API REST do Metabase (já self-hosted em
pbs.ubp.pt/analytics) entra como spec OpenAPI.
/api/card/:id/query → KPIs validados, sem SQL
livre.
/api/dataset — só SELECT, parametrizado,
dentro do scope RLS.
Catálogo de indicadores, definições, metodologia, relatórios e ontologia ingeridos pela Martha.
O mesmo agente serve vários canais (browser partilha o agente; notificações por email/webhook). KISS: começar pelos dois primeiros.
Painel lateral de chat junto aos dashboards Metabase — pergunta sobre o que está no ecrã.
interno · prioritário"Explica este indicador / mostra-me a tendência" embebido no Canvas existente.
internoWidget Concierge para o visitante — embed via token curto + origin allowlist.
públicoNotificações por email/webhook em variações relevantes (futuro, Tasks Martha).
extensãoCada obrigação nuclear do Caderno de Encargos tem um mecanismo concreto na Martha. Sem caixas mágicas.
Informar o utilizador de que interage com IA; disclaimer no canal. Dever de transparência do AI Act.
Caderno de Encargos §4 · AI ActRegisto imutável de retrieval, fontes, prompts, respostas e decisões de recusa via Langfuse.
Caderno de Encargos §4 · §7.3RAG fundamentado + verificação; evals semanais (RAGAS), taxa de alucinação ≤ 5% global.
Caderno de Encargos §5 · obrigação nuclearRBAC/ABAC + RLS; concierge sem permissões internas; allowlists de tools por perfil.
Caderno de Encargos §7.2 · obrigação nuclearMitigação de prompt injection, resposta em baixa confiança, testes adversariais (T3.10).
Caderno de Encargos §5 · §6Medição P50/P95, taxa de erro; 25 sessões concorrentes, 1–3k msg/dia, autoscaling.
Caderno de Encargos §8 · T3.9