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,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')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user