Spaces:
Build error
Build error
| from chatterbot import ChatBot | |
| from chatterbot.trainers import ChatterBotCorpusTrainer | |
| from kivy.app import App | |
| from kivy.uix.boxlayout import BoxLayout | |
| from kivy.uix.label import Label | |
| from kivy.uix.textinput import TextInput | |
| class ChatBotApp(App): | |
| def __init__(self, **kwargs): | |
| super().__init__(**kwargs) | |
| self.chatbot = ChatBot('ChatBot') | |
| self.trainer = ChatterBotCorpusTrainer(self.chatbot) | |
| self.trainer.train("chatterbot.corpus.english.greetings", | |
| "chatterbot.corpus.english.conversations") | |
| def build(self): | |
| box_layout = BoxLayout(orientation='vertical') | |
| self.input_field = TextInput(multiline=False, hint_text="Tu mensaje...") | |
| self.output_area = Label(halign='left', markup=True) | |
| box_layout.add_widget(self.input_field) | |
| box_layout.add_widget(self.output_area) | |
| self.input_field.bind(on_text_validate=self.send_message) | |
| return box_layout | |
| def send_message(self, instance): | |
| input_text = instance.text | |
| output_text = self.get_response(input_text) | |
| self.update_display(input_text, output_text) | |
| self.input_field.text = "" | |
| def get_response(self, input_text): | |
| try: | |
| response = self.chatbot.get_response(input_text) | |
| except Exception as e: | |
| response = f"Lo siento, hubo un error: {str(e)}" | |
| finally: | |
| return str(response) | |
| def update_display(self, input_text, output_text): | |
| self.output_area.text += f"\n<b>{input_text}</b>\n{output_text}" | |
| if __name__ == "__main__": | |
| ChatBotApp().run() |