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() |