in Frontend/corretor_gemini/gemini_corretor.py [0:0]
def get_correcao_from_redacao(self,
redacao_data: dict) -> dict:
"""
Executa a correção de uma redação com o Gemini.
Args:
redacao_data (dict): Dicionário com os dados da redação.
- tema_redacao (str): Tema da redação.
- enunciado_redacao (str): Enunciado da redação.
- textos_motivadores (str): Textos motivadores da redação.
- redacao_estudante (str): Texto da redação.
Returns:
Correcao: Objeto com a resposta do Gemini e helpers para processa-la.
"""
## Adicionado para lidar com casos onde a redação é menor que 150 caracteres
if len(redacao_data["redacao_estudante"]) < 150:
prompt_promptweaver = PromptConfig.from_file(self.config_prompweaver_corretor_invalida, redacao_data)
else:
## Fim da adição
prompt_promptweaver = PromptConfig.from_file(self.config_prompweaver_corretor, redacao_data)
generate_content = self.gemini_client.generate_content(prompt_promptweaver).text
if self.dummy:
return generate_content
correcao = Correcao(redacao_data, generate_content)
correcao.sumarizacao = self.sintetizar_correcao(redacao_data, correcao)
while correcao.get_nota_enem() > 1000:
generate_content = self.gemini_client.generate_content(prompt_promptweaver)
correcao = Correcao(redacao_data,
generate_content)
correcao.sumarizacao = self.sintetizar_correcao(redacao_data, correcao)
return correcao