Spaces:
Running
Running
File size: 2,492 Bytes
4ad23c1 55e6cbd 721590a 55e6cbd 1d5b573 55e6cbd 721590a fda4c03 55e6cbd fda4c03 55e6cbd fda4c03 55e6cbd fda4c03 55e6cbd fda4c03 55e6cbd dc63621 55e6cbd fda4c03 721590a fda4c03 4ad23c1 1d5b573 dc63621 721590a fda4c03 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
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) |