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'] SYSTEM_PROMPT = '''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. Devolució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.''' def add_new_message(pregunta,respuesta): new_chat = [] new_chat.append({"role": "system", "content": SYSTEM_PROMPT}) 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("""

Corrección de tareas con ChatGPT

Este espacio permite probar un prototipo de asistente para corrección de tareas de PC basado en ChatGTP de OpenAI.

""".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="Puntaje del 1 al 5 y devolución de la respuesta") btn.click(respond, inputs=[msg, msg2], outputs=output) demo.launch()