| from openai import OpenAI | |
| from commons.utils import prompt_path | |
| from scripts.components import OpenAIBot, DEFAULT_WELCOME_MESSAGE, DEFAULT_EXIT_MESSAGE | |
| from scripts.io.terminal import TerminalIO | |
| class TerminalBot: | |
| exit_codes = ["done", "quit", "exit"] | |
| client = OpenAI() | |
| prompt = prompt_path(file_name="financial_bot.txt") | |
| input_output = TerminalIO("User: ", "Agent: ") | |
| openai_bot = OpenAIBot(client, "gpt-4o-mini", prompt, 10, exit_codes=exit_codes) | |
| def start(self): | |
| self.input_output.output(DEFAULT_WELCOME_MESSAGE) | |
| while True: | |
| user_input = self.input_output.input() | |
| response = self.openai_bot.respond(user_input) | |
| if not response: | |
| break | |
| self.input_output.output(response) | |
| self.input_output.output(DEFAULT_EXIT_MESSAGE) | |