import sys import openai from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QLineEdit class MainWindow(QMainWindow): def __init__(self): super().__init__() # Set window title self.setWindowTitle("Chatbot") # Set window size self.setGeometry(100, 100, 800, 600) # Create text input field for user's messages self.text_input = QLineEdit(self) self.text_input.setGeometry(20, 540, 550, 40) # Initialize API needs openai.api_key = "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" self.chat_log = [{"role": "system", "content": "Tu es un prof de Python"}] # Create chat window to display conversation self.chat_window = QTextEdit(self) self.chat_window.setGeometry(20, 20, 760, 500) self.chat_window.setReadOnly(True) # Create send button to send user's messages self.send_button = QPushButton("Send", self) self.send_button.setGeometry(580, 540, 200, 40) self.send_button.clicked.connect(self.send_message) def send_message(self): # Get user's message from text input field user_message = self.text_input.text() self.chat_log.append({"role": "user", "content": user_message}) reply = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=self.chat_log) response=reply['choices'][0]['message']['content'] self.chat_log.append({"role": "assistant", "content":response}) # Add user's message and bot's response to chat window self.chat_window.append(f"
You : {user_message}
") self.chat_window.append(f"Bot : {response}
") # Clear text input field self.text_input.clear() if __name__ == "__main__": # Create QApplication instance app = QApplication(sys.argv) # Create MainWindow instance main_window = MainWindow() # Show MainWindow main_window.show() # Execute QApplication event loop sys.exit(app.exec_())