corregir_tareas / app.py
mrolando
first commit
461bdeb
raw
history blame
No virus
2.25 kB
import gradio as gr
from dotenv import load_dotenv
# Load environment variables from the .env file de forma local
load_dotenv()
import base64
with open("Iso_Logotipo_Ceibal.png", "rb") as image_file:
encoded_image = base64.b64encode(image_file.read()).decode()
import os
import openai
openai.api_key = os.environ['OPENAI_API_KEY']
def add_new_message(pregunta,respuesta):
new_chat = []
new_chat.append({"role": "system", "content": 'Sos mentor de un curso de Pensamiento Computacional en una plataforma online. Los estudiantes son docentes hombres y mujeres de educación secundaria en Uruguay. Te enviaré preguntas que se hacen en el foro del curso y una respuesta para calificar. Deberás indicarme una valoración de la respuesta y un puntaje en la escala del 1 al 5, siendo 1 el puntaje mínimo y 5 el máximo. El formato de la salida deberá ser el siguiente (los valores son solamente a modo de ejemplo): "Puntaje: 3. Valoración: La respuesta está bien y describe de forma correcta lo que se pregunta. Se podría haber discutido un poco más sobre el concepto de aprendizaje.'})
new_chat.append({"role": "user","content":'Pregunta: {} .Respuesta a calificar {}'.format(pregunta,respuesta)})
return new_chat
def respond(pregunta, respuesta):
prompt = add_new_message(pregunta, respuesta)
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages= prompt,
temperature=0.5,
max_tokens=120
).choices[0].message.content
return response
with gr.Blocks() as demo:
gr.Markdown("""
<center>
<h1>
Corrección de tareas con ChatGPT
</h1>
<img src='data:image/jpg;base64,{}' width=200px>
<h3>
Con este espacio podrás hablar en formato conversación con ChatGTP!
</h3>
</center>
""".format(encoded_image))
with gr.Row():
with gr.Row():
with gr.Column():
msg = gr.Textbox(label="Pregunta")
msg2 = gr.Textbox(label="Respuesta")
btn = gr.Button("Enviar")
with gr.Column():
output = gr.Textbox(label="Respuesta de ChatGPT")
btn.click(respond, inputs=[msg, msg2], outputs=output)
demo.launch()