Passa contexto da Minha Turma (inclusive Educação Especial) para IA nas observações
This commit is contained in:
+2
-1
@@ -2657,10 +2657,11 @@ const initApp = () => {
|
|||||||
showRecordState('processing');
|
showRecordState('processing');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const turmaData = localStorage.getItem('camila_turma') || '[]';
|
||||||
const res = await fetch('/api/observacao/analisar', {
|
const res = await fetch('/api/observacao/analisar', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ transcribedText: text })
|
body: JSON.stringify({ transcribedText: text, turmaContext: JSON.parse(turmaData) })
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
|
|||||||
@@ -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
|
// Rota: POST /api/observacao/analisar — recebe texto transcrito e gera relatório pedagógico
|
||||||
app.post('/api/observacao/analisar', requireAuth, async (req, res) => {
|
app.post('/api/observacao/analisar', requireAuth, async (req, res) => {
|
||||||
const { transcribedText } = req.body;
|
const { transcribedText, turmaContext } = req.body;
|
||||||
if (!transcribedText || transcribedText.trim().length < 5) {
|
if (!transcribedText || transcribedText.trim().length < 5) {
|
||||||
return res.status(400).json({ error: 'Texto muito curto ou inexistente para análise.' });
|
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 agentConfig = readAgentConfig();
|
||||||
const agentName = agentConfig.agentName || "Kemily";
|
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"],
|
"criancas": ["lista de nomes de crianças mencionadas ou 'null' se não identificar nenhuma"],
|
||||||
|
|||||||
Reference in New Issue
Block a user