Ficha do projeto
02 / 03Cuidado compartilhado com assistente de IA e RAG
RotinaPet
A família inteira cuida do mesmo pet sem duplicar remédio nem perder vacina: cada tutor vê o que já foi feito, por quem e quando. O assistente de IA só enxerga o que aquela família tem direito de ver e nunca registra nada sem a confirmação de uma pessoa.
O RotinaPet organiza agenda, histórico clínico, documentos e cuidado compartilhado. A camada de IA consulta somente fontes autorizadas da família, cita o que encontrou e entrega rascunhos que ainda passam pelas regras determinísticas do domínio.
- Período
- 05.2025 · atual
- Minha atuação
- Arquitetura do backend, autorização do RAG, pipeline de indexação e integração do assistente com o frontend Angular.
- Tecnologia
- Kotlin · Spring Boot · Angular · PostgreSQL/pgvector · OpenAI
- Estado
- Produto publicado e desenvolvimento ativo
CÍRCULO
Responder sem atravessar famílias nem prescrever sozinho
Uma busca semanticamente parecida pode pertencer a outro pet ou outra família. Mesmo com a fonte correta, texto clínico insuficiente não sustenta uma resposta. E uma sugestão de cuidado não pode virar plano apenas porque o modelo devolveu JSON válido.
SETOR
Limites impostos à IA
Autorização define o corpus
Família, pet e fontes com estado READY delimitam o conjunto pesquisável antes do ranking. Um documento revogado sai da elegibilidade imediatamente, mesmo que a limpeza física dos chunks ocorra depois.
Busca híbrida com citação validada
FTS em português e distância vetorial são combinados por RRF. As citações retornadas precisam apontar para trechos do conjunto autorizado; sem suporte suficiente, o assistente se abstém.
Indexação recuperável
Fonte, atividade e outbox são gravadas na mesma transação. O worker cria embeddings em lote e publica chunks e estado READY atomicamente, com retry e dead letter para falhas persistentes.
Confirmação pelo domínio
Structured Outputs produz um rascunho versionado. Antes de escrever um plano, o caso de uso revalida papel, versão, expiração, idempotência e confirmação explícita da pessoa responsável.
MARCA
Critérios registrados no projeto
- Dataset de avaliação versionado, com casos respondíveis e não respondíveis, cobrindo recuperação, citação e abstenção
- Casos de prompt injection e testes de integração com Testcontainers e pgvector
- Estados de fonte, chunks e citações preservam o caminho entre resposta e documento autorizado
- Backend Kotlin/Spring Boot e frontend Angular publicados separadamente, com repositórios públicos
SÚMULA