mirror of
https://github.com/lucasrcsantana/story-generator.git
synced 2025-12-18 14:27:51 +00:00
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:
parent
756335f78f
commit
28ac3ef8cc
@ -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
|
||||||
|
|||||||
@ -213,88 +213,82 @@ Responda em formato JSON seguindo exatamente esta estrutura:
|
|||||||
response_format: {
|
response_format: {
|
||||||
type: "json_schema",
|
type: "json_schema",
|
||||||
json_schema: {
|
json_schema: {
|
||||||
type: "object",
|
name: "essay_analysis",
|
||||||
required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores"],
|
strict: true,
|
||||||
properties: {
|
description: "Análise detalhada da redação",
|
||||||
overall_score: {
|
schema: {
|
||||||
type: "number",
|
type: "object",
|
||||||
minimum: 0,
|
additionalProperties: false,
|
||||||
maximum: 100,
|
required: ["overall_score", "suggestions", "feedback", "strengths", "improvements", "criteria_scores"],
|
||||||
description: "Pontuação geral da redação (0-100)"
|
properties: {
|
||||||
},
|
overall_score: {
|
||||||
suggestions: {
|
type: "number",
|
||||||
type: "string",
|
description: "Pontuação geral da redação (0-100)"
|
||||||
description: "Sugestões específicas para aprimoramento"
|
},
|
||||||
},
|
suggestions: {
|
||||||
feedback: {
|
type: "string",
|
||||||
type: "object",
|
description: "Sugestões específicas para aprimoramento"
|
||||||
required: ["structure", "content", "language"],
|
},
|
||||||
properties: {
|
feedback: {
|
||||||
structure: {
|
type: "object",
|
||||||
type: "string",
|
additionalProperties: false,
|
||||||
description: "Feedback sobre estrutura e organização"
|
required: ["structure", "content", "language"],
|
||||||
},
|
properties: {
|
||||||
content: {
|
structure: {
|
||||||
type: "string",
|
type: "string",
|
||||||
description: "Feedback sobre conteúdo e ideias"
|
description: "Feedback sobre estrutura e organização"
|
||||||
},
|
},
|
||||||
language: {
|
content: {
|
||||||
type: "string",
|
type: "string",
|
||||||
description: "Feedback sobre linguagem e gramática"
|
description: "Feedback sobre conteúdo e ideias"
|
||||||
|
},
|
||||||
|
language: {
|
||||||
|
type: "string",
|
||||||
|
description: "Feedback sobre linguagem e gramática"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
strengths: {
|
|
||||||
type: "array",
|
|
||||||
items: {
|
|
||||||
type: "string",
|
|
||||||
description: "Ponto forte da redação"
|
|
||||||
},
|
},
|
||||||
minItems: 1,
|
strengths: {
|
||||||
description: "Lista de pontos fortes da redação"
|
type: "array",
|
||||||
},
|
items: {
|
||||||
improvements: {
|
type: "string",
|
||||||
type: "array",
|
description: "Ponto forte da redação"
|
||||||
items: {
|
},
|
||||||
type: "string",
|
description: "Lista de pontos fortes da redação"
|
||||||
description: "Ponto a melhorar na redação"
|
|
||||||
},
|
},
|
||||||
minItems: 1,
|
improvements: {
|
||||||
description: "Lista de pontos a melhorar na redação"
|
type: "array",
|
||||||
},
|
items: {
|
||||||
criteria_scores: {
|
type: "string",
|
||||||
type: "object",
|
description: "Ponto a melhorar na redação"
|
||||||
required: ["adequacy", "coherence", "cohesion", "vocabulary", "grammar"],
|
|
||||||
properties: {
|
|
||||||
adequacy: {
|
|
||||||
type: "number",
|
|
||||||
minimum: 0,
|
|
||||||
maximum: 100,
|
|
||||||
description: "Adequação ao tema/gênero (0-100)"
|
|
||||||
},
|
},
|
||||||
coherence: {
|
description: "Lista de pontos a melhorar na redação"
|
||||||
type: "number",
|
},
|
||||||
minimum: 0,
|
criteria_scores: {
|
||||||
maximum: 100,
|
type: "object",
|
||||||
description: "Coerência textual (0-100)"
|
additionalProperties: false,
|
||||||
},
|
required: ["adequacy", "coherence", "cohesion", "vocabulary", "grammar"],
|
||||||
cohesion: {
|
properties: {
|
||||||
type: "number",
|
adequacy: {
|
||||||
minimum: 0,
|
type: "number",
|
||||||
maximum: 100,
|
description: "Adequação ao tema/gênero (0-100)"
|
||||||
description: "Coesão textual (0-100)"
|
},
|
||||||
},
|
coherence: {
|
||||||
vocabulary: {
|
type: "number",
|
||||||
type: "number",
|
description: "Coerência textual (0-100)"
|
||||||
minimum: 0,
|
},
|
||||||
maximum: 100,
|
cohesion: {
|
||||||
description: "Vocabulário (0-100)"
|
type: "number",
|
||||||
},
|
description: "Coesão textual (0-100)"
|
||||||
grammar: {
|
},
|
||||||
type: "number",
|
vocabulary: {
|
||||||
minimum: 0,
|
type: "number",
|
||||||
maximum: 100,
|
description: "Vocabulário (0-100)"
|
||||||
description: "Gramática e ortografia (0-100)"
|
},
|
||||||
|
grammar: {
|
||||||
|
type: "number",
|
||||||
|
description: "Gramática e ortografia (0-100)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user