Spaces:
Build error
Build error
| from sklearn.feature_extraction.text import CountVectorizer | |
| from sklearn.naive_bayes import MultinomialNB | |
| # Cargar dataset | |
| with open("intents.json") as f: | |
| data = json.load(f) | |
| X = [d["text"] for d in data] | |
| y = [d["intent"] for d in data] | |
| # Vectorizar texto | |
| vectorizer = CountVectorizer() | |
| X_vect = vectorizer.fit_transform(X) | |
| # Entrenar modelo | |
| clf = MultinomialNB() | |
| clf.fit(X_vect, y) | |
| responses = { | |
| "greet": "¡Hola! ¿En qué puedo ayudarte?", | |
| "goodbye": "¡Hasta luego! Que tengas un buen día.", | |
| "ask_hours": "Estamos abiertos de lunes a viernes de 9 a 18h.", | |
| "ask_registration": "Para registrarte, visita nuestra web y completa el formulario." | |
| } | |
| def chatbot_response(text): | |
| X_new = vectorizer.transform([text]) | |
| intent = clf.predict(X_new)[0] | |
| return responses.get(intent, "Lo siento, no entendí tu pregunta.") | |
| while True: | |
| msg = input("Tú: ") | |
| if msg.lower() in ["salir", "adiós"]: | |
| print("Bot:", responses["goodbye"]) | |
| break | |
| print("Bot:", chatbot_response(msg)) | |
| import gradio as gr | |
| def chat_gradio(message): | |
| return chatbot_response(message) | |
| iface = gr.Interface( | |
| fn=chat_gradio, | |
| inputs="text", | |
| outputs="text", | |
| title="Chatbot Demo", | |
| description="Demo de chatbot entrenado con anotaciones simples" | |
| ) | |
| iface.launch() | |