from pathlib import Path from modules.nlu import NLU, Slot, UserAct from modules.state_monitor import DialogStateMonitor from modules.generator import ResponseGenerator from modules.config import Config import colorama from colorama import Fore, Style colorama.init(autoreset=True) def main(): base_path = Path(__file__).resolve().parent config_path = base_path / 'config' / 'config.json' config = Config.load_config(config_path) nlu = NLU() dst = DialogStateMonitor() generator = ResponseGenerator(config) print(Fore.CYAN + "Witaj w chatbocie! Rozpocznij rozmowę.") print(Fore.YELLOW + "Wpisz 'quit' aby zakończyć program.\n") while True: user_input = input(Fore.GREEN + "Ty: " + Style.RESET_ALL) if user_input.lower() == "quit": print(Fore.RED + "Zamykanie chatbota...") break user_act = nlu.analyze(user_input) # user_act = UserAct(intent='inform', # slots=[Slot(name='item', value='laptop'), Slot(name='item', value='kot'),Slot(name='address', value='123 Main St')]) dst.update(user_act) print(dst.state) # response = generator.generate(intent) # print(Fore.CYAN + "Bot: " + response) if __name__ == "__main__": main()