Passa contexto da Minha Turma (inclusive Educação Especial) para IA nas observações

This commit is contained in:
2026-06-06 15:29:59 +00:00
parent a516989016
commit 057532191b
2 changed files with 16 additions and 4 deletions
+2 -1
View File
@@ -2657,10 +2657,11 @@ const initApp = () => {
showRecordState('processing');
try {
const turmaData = localStorage.getItem('camila_turma') || '[]';
const res = await fetch('/api/observacao/analisar', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ transcribedText: text })
body: JSON.stringify({ transcribedText: text, turmaContext: JSON.parse(turmaData) })
});
if (!res.ok) {
+14 -3
View File
@@ -2068,7 +2068,7 @@ app.post('/api/observacao/transcrever', requireAuth, multerUpload.single('audio'
// Rota: POST /api/observacao/analisar — recebe texto transcrito e gera relatório pedagógico
app.post('/api/observacao/analisar', requireAuth, async (req, res) => {
const { transcribedText } = req.body;
const { transcribedText, turmaContext } = req.body;
if (!transcribedText || transcribedText.trim().length < 5) {
return res.status(400).json({ error: 'Texto muito curto ou inexistente para análise.' });
}
@@ -2077,9 +2077,20 @@ app.post('/api/observacao/analisar', requireAuth, async (req, res) => {
const agentConfig = readAgentConfig();
const agentName = agentConfig.agentName || "Kemily";
const reportPrompt = `Você é a ${agentName}, assistente pedagógica da professora Camila Martella Gasparini Reifonas.
let contextStr = '';
if (turmaContext && Array.isArray(turmaContext) && turmaContext.length > 0) {
contextStr = `\nCONTEXTO DA TURMA DA PROFESSORA (IMPORTANTE):\nEsta é a lista atualizada das crianças cadastradas na "Minha Turma".\nATENÇÃO: Se algum nome no áudio corresponder a uma criança listada abaixo, você DEVE incorporar as necessidades ou condições relatadas nela para enriquecer o relatório, especialmente se a criança tiver "especial": true (Educação Especial). Se a criança for especial, a análise da observação deve ser orientada por essa condição e pelo diagnóstico associado.\nLista de Crianças:\n`;
contextStr += JSON.stringify(turmaContext.map(c => ({
nome: c.nome,
apelido: c.apelido,
especial: c.especial,
diagnostico_observacoes: c.especialDetalhes
})), null, 2);
contextStr += `\n\n`;
}
Ela acabou de registrar uma observação sobre seus alunos da educação infantil. Sua tarefa é ANALISAR o texto e retornar UM OBJETO JSON (sem markdown, sem código, apenas o JSON puro) com:
const reportPrompt = `Você é a ${agentName}, assistente pedagógica da professora Camila Martella Gasparini Reifonas.
${contextStr}Ela acabou de registrar uma observação sobre seus alunos da educação infantil. Sua tarefa é ANALISAR o texto e retornar UM OBJETO JSON (sem markdown, sem código, apenas o JSON puro) com:
{
"criancas": ["lista de nomes de crianças mencionadas ou 'null' se não identificar nenhuma"],