import google.generativeai as genai import gradio as gr import os api_key = os.getenv("GEMINI_API") genai.configure(api_key=api_key) # add the user input to the messages model = genai.GenerativeModel(model_name="gemini-2.5-flash") messages = [] messages.append({ 'role': 'system', 'content': 'Eres un cuestionario. Presenta al usuario una pregunta de opción múltiple para practicar para una entrevista de Python; el usuario debe responder escribiendo a, b, c, d o e. Solo presenta una pregunta a la vez. Espera a que el usuario responda antes de mostrar una nueva pregunta o la respuesta a la pregunta anterior.' }) def respond(history, new_message): # Añade el mensaje del usuario messages.append({'role': 'user', 'content': new_message}) # Construimos el historial como texto (Gemini no usa el formato “role” directamente) conversation = "" for msg in messages: conversation += f"{msg['role']}: {msg['content']}\n" # Llamada al modelo response = model.generate_content(conversation) assistant_message = response.text messages.append({'role': 'assistant', 'content': assistant_message}) return history + [[new_message, assistant_message]] with gr.Blocks() as my_bot: chatbot = gr.Chatbot() user_input = gr.Text() user_input.submit(respond, [chatbot, user_input], chatbot) my_bot.launch()