import gradio as gr import requests import os import json # Función para generar respuestas usando una API externa def generate_response(user_message): try: if not user_message.strip(): return "Por favor, escribe una pregunta para que pueda ayudarte." # Cargar el prompt del sistema with open("prompt.txt", "r", encoding="utf-8") as f: system_prompt = f.read().strip() # Configurar la solicitud a la API (ejemplo con OpenAI) api_key = os.environ.get("OPENAI_API_KEY", "") if not api_key: return "Error: No se ha configurado la clave API. Por favor, configura la variable de entorno OPENAI_API_KEY." headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } data = { "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_message} ], "temperature": 0.7, "max_tokens": 500 } # Enviar solicitud a la API response = requests.post( "https://api.openai.com/v1/chat/completions", headers=headers, json=data ) # Procesar la respuesta if response.status_code == 200: result = response.json() return result["choices"][0]["message"]["content"] else: return f"Error en la API: {response.status_code} - {response.text}" except Exception as e: return f"Lo siento, ha ocurrido un error: {str(e)}" # Crear la interfaz de Gradio demo = gr.Interface( fn=generate_response, inputs=gr.Textbox( placeholder="Escribe tu pregunta sobre emprendimiento aquí...", label="Tu pregunta" ), outputs=gr.Textbox(label="Respuesta de BITER"), title="BITER - Tu Mentor en Tiempo Real para Decisiones de Negocio", description="BITER es un asistente de IA que responde dudas de emprendedores como si fuera un CEO experimentado.", examples=[ ["¿Cómo puedo validar mi idea de negocio con poco presupuesto?"], ["¿Cuál es la mejor estrategia para conseguir mis primeros clientes?"], ["¿Debería invertir en publicidad en redes sociales o en SEO?"] ], allow_flagging="never" ) # Lanzar la aplicación if __name__ == "__main__": demo.queue(max_size=1).launch(share=False, debug=False)