refactor: simplifica validação do JSON Schema da análise de redações - Remove limites min/max dos campos numéricos - Remove restrição minItems dos arrays - Simplifica validação para maior flexibilidade

This commit is contained in:
Lucas Santana 2025-02-07 10:04:54 -03:00
parent 756335f78f
commit 28ac3ef8cc
2 changed files with 78 additions and 78 deletions

View File

@ -264,3 +264,9 @@ e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
- Adicionadas políticas para tabelas relacionadas (feedback, pontos fortes, melhorias e notas) - Adicionadas políticas para tabelas relacionadas (feedback, pontos fortes, melhorias e notas)
- Melhorada a segurança com políticas específicas para cada operação - Melhorada a segurança com políticas específicas para cada operação
- Corrigido erro de permissão na inserção de análises pela Edge Function - Corrigido erro de permissão na inserção de análises pela Edge Function
### Técnico
- Removidas restrições de validação do JSON Schema da análise de redações:
- Removidos limites `minimum` e `maximum` dos campos numéricos
- Removida restrição `minItems` dos arrays de pontos fortes e melhorias
- Simplificada a validação para maior flexibilidade na Edge Function

View File

@ -213,13 +213,16 @@ Responda em formato JSON seguindo exatamente esta estrutura:
response_format: { response_format: {
type: "json_schema", type: "json_schema",
json_schema: { json_schema: {
name: "essay_analysis",
strict: true,
description: "Análise detalhada da redação",
schema: {
type: "object", type: "object",
additionalProperties: false,
required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores"], required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores"],
properties: { properties: {
overall_score: { overall_score: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Pontuação geral da redação (0-100)" description: "Pontuação geral da redação (0-100)"
}, },
suggestions: { suggestions: {
@ -228,6 +231,7 @@ Responda em formato JSON seguindo exatamente esta estrutura:
}, },
feedback: { feedback: {
type: "object", type: "object",
additionalProperties: false,
required: ["structure", "content", "language"], required: ["structure", "content", "language"],
properties: { properties: {
structure: { structure: {
@ -250,7 +254,6 @@ Responda em formato JSON seguindo exatamente esta estrutura:
type: "string", type: "string",
description: "Ponto forte da redação" description: "Ponto forte da redação"
}, },
minItems: 1,
description: "Lista de pontos fortes da redação" description: "Lista de pontos fortes da redação"
}, },
improvements: { improvements: {
@ -259,41 +262,31 @@ Responda em formato JSON seguindo exatamente esta estrutura:
type: "string", type: "string",
description: "Ponto a melhorar na redação" description: "Ponto a melhorar na redação"
}, },
minItems: 1,
description: "Lista de pontos a melhorar na redação" description: "Lista de pontos a melhorar na redação"
}, },
criteria_scores: { criteria_scores: {
type: "object", type: "object",
additionalProperties: false,
required: ["adequacy", "coherence", "cohesion", "vocabulary", "grammar"], required: ["adequacy", "coherence", "cohesion", "vocabulary", "grammar"],
properties: { properties: {
adequacy: { adequacy: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Adequação ao tema/gênero (0-100)" description: "Adequação ao tema/gênero (0-100)"
}, },
coherence: { coherence: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Coerência textual (0-100)" description: "Coerência textual (0-100)"
}, },
cohesion: { cohesion: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Coesão textual (0-100)" description: "Coesão textual (0-100)"
}, },
vocabulary: { vocabulary: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Vocabulário (0-100)" description: "Vocabulário (0-100)"
}, },
grammar: { grammar: {
type: "number", type: "number",
minimum: 0,
maximum: 100,
description: "Gramática e ortografia (0-100)" description: "Gramática e ortografia (0-100)"
} }
} }
@ -301,6 +294,7 @@ Responda em formato JSON seguindo exatamente esta estrutura:
} }
} }
} }
}
}); });
console.log('Resposta recebida da OpenAI') console.log('Resposta recebida da OpenAI')