spanish_tool / app.py
sja820's picture
Update app.py
b63a890 verified
import gradio as gr
import cohere
co=cohere.Client("")
def study_chat(menu, user_input):
co = cohere.Client(
api_key="vlXYTrmx36dpDUO2CJOECuFxm1tswqLUD22tRd9w", # This is your trial API key
)
chat_history=[
{"role": "User","message": "given this vocab list, generate a practice sentences in spanish wiht different tenses where i have to fill in the correct verb in the correct tense \n\ninstalar\nto connect\n\ncargar\nto load\n\nguardar\nto save\n\nescanear\nto scan\n\ninstalar\nto install\n\nhacer clic en\nto click on\n\npulsar\nto click\n\ndesplazar\nto scroll\n\npegar\nto paste\n\ncortar\nto cut\n\ncopiar\nto copy\n\noprimir\nto press\n\nintroducir\nto enter\n\ncerrar\nto close\n\nabrir\nto open\nadjuntar\n\nadjuntar\nto attach\nenviar por correo electrónico\n\nenviar por correo electrónico\nto email\nbajar\n\nbajar\nto download\ndescargar\n\ndescargar\nto download\nnavegar\n\nnavegar\nto surf\nentrar en línea\n\nentrar en línea\nto go online\nentrar a Facebook\n\nentrar a Facebook\nto sign in to Facebook\ndesconectarse\n\ndesconectarse\nto log off"},
{"role": "Chatbot", "message": "Here is the list of practice sentences in fill-in-the-blank format: \n\n1. Ayer, __________ (estudiar) para el examen y resalté información importante. \n\n2. Siempre __________ (dibujar) y resalto ideas mientras aprendo algo nuevo. \n\n3. ¿Puedes __________ (responder) a mi pregunta? \n\n4. Es importante __________ (prestar) atención en clase para entender el tema. \n\n5. Necesito __________ (escribir) una oración en cursiva para practicar mi caligrafía. \n\n6. ¿Puedes __________ (copiar) la respuesta de tu compañero? \n\n7. Me gusta __________ (subrayar) las frases importantes en mis libros. \n\n8. Mis padres me animan a __________ (ir) a la escuela todos los días. \n\n9. Después de __________ (hacer) los deberes, puedo jugar con mis amigos. \n\n10. Me gusta __________ (hacer) la tarea en parejas porque es más divertido. \n\n11. Anoche __________ (faltar) a clase porque estaba enfermo. \n\n12. Estoy nervioso por __________ (rendir) un examen la próxima semana. \n\n13. Cuando no entendemos algo, debemos __________ (levantar) la mano y __________ (hacer) una pregunta al profesor. \n\n14. Me gusta __________ (ir) a clases de arte y música. \n\n15. Es importante __________ (asistir) a clase regularmente para no perder información. \n\n16. No olvidemos __________ (anotar) la fecha del examen en nuestro calendario. \n\n17. Me pidieron que __________ (hacer) un resumen del capítulo para la próxima semana. \n\n18. Debemos __________ (repasar) la lección antes del examen. \n\n19. Me siento orgulloso de __________ (graduar) de la universidad el año que viene. \n\n20. Espero __________ (aprobar) todos mis exámenes este semestre. \n\n21. Desafortunadamente, __________ (reprobar) en el examen de matemáticas. \n\n22. Me gusta __________ (discutir) ideas con mis amigos. \n\n23. Me encanta __________ (leer) libros de misterio. \n\n24. Necesito __________ (escribir) una carta a mi abuela. \n\n25. Es importante __________ (memorizar) información para el examen. \n\n26. Debo __________ (estudiar) más para mejorar mis calificaciones. \n\n27. No __________ (entender) la lección de hoy, ¿puedes explicarla de nuevo? \n\n28. Quiero __________ (aprender) a tocar la guitarra este verano. \n\n29. Me gusta __________ (explicar) conceptos a mis amigos cuando no los entienden. \n\n30. Mi profesor siempre __________ (enseñar) con paciencia y dedicación. \n\nRemember to fill in the blanks with the correct verb forms based on the context of each sentence. ¡Buena suerte!"},
{"role": "User", "message": "give me the correct answers"},
{"role": "Chatbot", "message": "Here are the correct answers for the practice sentences: \n\n1. Ayer, estudié para el examen y resalté información importante. \n\n2. Siempre dibujo y resalto ideas mientras aprendo algo nuevo. \n\n3. ¿Puedes responder a mi pregunta? \n\n4. Es importante prestar atención en clase para entender el tema. \n\n5. Necesito escribir una oración en cursiva para practicar mi caligrafía. \n\n6. ¿Puedes copiar la respuesta de tu compañero? \n\n7. Me gusta subrayar las frases importantes en mis libros. \n\n8. Mis padres me animan a ir a la escuela todos los días. \n\n9. Después de hacer los deberes, puedo jugar con mis amigos. \n\n10. Me gusta hacer la tarea en parejas porque es más divertido. \n\n11. Anoche faltar a clase porque estaba enfermo. \n\n12. Estoy nervioso por rendir un examen la próxima semana. \n\n13. Cuando no entendemos algo, debemos levantar la mano y hacer una pregunta al profesor. \n\n14. Me gusta ir a clases de arte y música. \n\n15. Es importante asistir a clase regularmente para no perder información. \n\n16. No olvidemos anotar la fecha del examen en nuestro calendario. \n\n17. Me pidieron que haga un resumen del capítulo para la próxima semana. \n\n18. Debemos repasar la lección antes del examen. \n\n19. Me siento orgulloso de graduarme de la universidad el año que viene. \n\n20. Espero aprobar todos mis exámenes este semestre. \n\n21. Desafortunadamente, reprobar en el examen de matemáticas. \n\n22. Me gusta discutir ideas con mis amigos. \n\n23. Me encanta leer libros de misterio. \n\n24. Necesito escribir una carta a mi abuela. \n\n25. Es importante memorizar información para el examen. \n\n26. Debo estudiar más para mejorar mis calificaciones. \n\n27. No entendí la lección de hoy, ¿puedes explicarla de nuevo? \n\n28. Quiero aprender a tocar la guitarra este verano. \n\n29. Me gusta explicar conceptos a mis amigos cuando no los entienden. \n\n30. Mi profesor siempre enseña con paciencia y dedicación. \n\nGreat job! You seem to have a good grasp of the different verb tenses. Keep practicing and enhancing your Spanish skills!"},
{"role": "User", "message": "expalin #1"},
{"role": "Chatbot", "message": "In the first sentence, \"Ayer, estudié para el examen y resalté información importante,\" the verb \"estudié\" is in the past tense, indicating that the action of studying for the exam took place in the past. The sentence conveys that the speaker studied for the exam and highlighted important information on a previous day."},
{"role": "User", "message": "correct my answers please 1. Necesito escribir un correo electrónico a mi profesor para preguntar sobre la tarea. \n2. Mi trabajo es transcribir las notas del doctor para crear un informe detallado. \n3. ¿Puedes escribir tu nombre y dirección en este formulario? \n4. Me gusta transcribir las letras de mis canciones favoritas para aprenderlas mejor. \n5. El autor decidió escribir una secuela de su exitosa novela. \n6. Es importante transcribir las grabaciones de las entrevistas para analizarlas posteriormente. \n7. ¿Puedes escribir más despacio para que pueda leerlo claramente? \n8. Me ofrecí a transcribir las actas de la reunión para el equipo. \n9. Estoy aprendiendo a escribir código para crear mi propio sitio web. \n10. El periodista tiene que transcribir la conferencia de prensa para su artículo."},
{"role": "User", "message": "1. Necesito escribir un correo electrónico a mi profesor para preguntar sobre la tarea. \n2. Mi trabajo es transcribir las notas del doctor para crear un informe detallado. \n3. ¿Puedes escribir tu nombre y dirección en este formulario? \n4. Me gusta transcribir las letras de mis canciones favoritas para aprenderlas mejor. \n5. El autor decidió escribir una secuela de su exitosa novela. \n6. Es importante transcribir las grabaciones de las entrevistas para analizarlas posteriormente. \n7. ¿Puedes escribir más despacio para que pueda leerlo claramente? \n8. Me ofrecí a transcribir las actas de la reunión para el equipo. \n9. Estoy aprendiendo a escribir código para crear mi propio sitio web. \n10. El periodista tiene que transcribir la conferencia de prensa para su artículo. tell me how many i got wrong if any and which ones i missed"},
{"role": "Chatbot", "message": "You got all the answers correct! Great job!"}
]# for _ in range(max_turns):
#menu=input("Select what type of help you what from the model: 1. generate practice problems 2. correct the practice problems 3.explain practice problems")
# get user input
if menu == "1":
#vocab= input("Enter in your vocab list: ")
message= f"Given this vocab list {user_input}, generate a moderately challenging practice sentences in spanish wiht different tenses where i have to fill in the correct verb in the correct tense"
elif menu== "2":
#answers=input("Enter your answers: ")
message= f'Correct my answers by telling me how many and which ones I missed {user_input}'
elif menu== "3":
#answers=input("Provide an explanation for this word and why you conjugated it like this: ")
message=f'Provide an explanation for this word and why you conjugated it like this: {user_input}'
#message = input("Send the model a message: ")
print(message)
# generate a response with the current chat history
response = co.chat(
message=message,
temperature=0.3,
chat_history=chat_history
)
answer = response.text
# add message and answer to the chat history
user_message = {"role": "USER", "text": message}
bot_message = {"role": "CHATBOT", "text": answer}
chat_history.append(user_message)
chat_history.append(bot_message)
return response.text
# def interface(menu, user_input):
# max_turns=10
# for _ in range(max_turns):
# answer = study_chat(menu, user_input)
# return answer
gr.__version__
import logging
logging.basicConfig(level=logging.DEBUG)
def interface(menu,user_input):
answer = study_chat(menu, user_input)
return answer
# iface = gr.Interface(
# fn=interface,
# inputs=gr.Textbox(lines=2, placeholder="Enter your input here..."),
# outputs="text",
# description="Select what type of help you want from the model: 1. generate practice problems 2. correct the practice problems 3. explain practice problems"
# )
# # Define the Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# Spanish Study Tool")
menu = gr.Dropdown(choices=["1", "2", "3"], label="Select what type of help you want from the model \n 1: Generate Practice Sentences, 2: Correct my answers , 3: Explain sentence")
user_input = gr.Textbox(label="Enter your vocab list or answers", placeholder="Type here...")
output = gr.Textbox(label="Model Response")
#history_state = gr.State([]) # To store chat history
button = gr.Button("Submit")
button.click(interface, inputs=[menu, user_input], outputs=[output])
demo.launch(debug=True, share=True)