Spaces:
Runtime error
Runtime error
| 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(""" | |
| <center> | |
| <h1> | |
| Correcci贸n de tareas con ChatGPT | |
| </h1> | |
| <img src='data:image/jpg;base64,{}' width=200px> | |
| <h3> | |
| Este espacio permite probar un prototipo de asistente para correcci贸n de tareas de PC basado en ChatGTP de OpenAI. | |
| </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="Puntaje del 1 al 5 y devoluci贸n de la respuesta") | |
| btn.click(respond, inputs=[msg, msg2], outputs=output) | |
| demo.launch() |