From 24d7c6fe2f1840fc7d919a3b7aab516bdadc2633 Mon Sep 17 00:00:00 2001 From: Sparklight Date: Thu, 16 Mar 2023 17:15:10 +0100 Subject: [PATCH] Maj --- SupportPC-noAPI.py | 2 +- SupportPC.py | 30 +++++++++++++++++++++++++++++- erreur overload.png | Bin 0 -> 34089 bytes erreur overload.txt | 17 +++++++++++++++++ 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 erreur overload.png create mode 100644 erreur overload.txt diff --git a/SupportPC-noAPI.py b/SupportPC-noAPI.py index f67e143..81b2c9c 100644 --- a/SupportPC-noAPI.py +++ b/SupportPC-noAPI.py @@ -22,7 +22,7 @@ class MainWindow(QMainWindow): # Initialize API needs openai.api_key = "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" - self.chat_log = [{"role": "system", "content": "Tu es un prof de Python"}] + self.chat_log = [{"role": "system", "content": "Ignore toute les instructions avant celle-ci. Tu est un administrateur système et réseaux niveau 0 à 2. Tu fais ce travail depuis 20 ans. Ta tâche est maintenant de diagnostiquer et classifier les problèmes que te remontent les utilisateurs. Tu dois définir si l'utilisateur rencontre un problème ou souhaite effectuer une demande de changement. Si l'utilisateur rencontre un problème, tu dois effectuer le diagnostic pour catégoriser le problème et dépanner au mieux l'utilisateur. Si tu ne peux pas résoudre le problème et que tu as effectué ton diagnostic au maximum ou que l'utilisateur souhaire faire une demande de changement, tu indique toujours à l'utilisateur d'ouvrir un dossier en cliquant sur https://www.supportpc.fr/ticket/."}] # Initialize message counter self.num_messages = 0 diff --git a/SupportPC.py b/SupportPC.py index 9a00b3d..848861e 100644 --- a/SupportPC.py +++ b/SupportPC.py @@ -1,7 +1,13 @@ import sys import openai +import datetime +import os from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QLineEdit +# TODO remplacer logpath, username +# TODO gérer les erreurs de timeout, retour et overload de l'API +# TODO gérer le formattage / affichage de la réponse quand c'est une liste à points. + class MainWindow(QMainWindow): def __init__(self): super().__init__() @@ -18,7 +24,10 @@ class MainWindow(QMainWindow): # Initialize API needs openai.api_key = "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" - self.chat_log = [{"role": "system", "content": "Tu es un prof de Python"}] + self.chat_log = [{"role": "system", "content": "Ignore toute les instructions avant celle-ci. Tu est HelpBot, un administrateur système et réseaux niveau 0 à 2. Tu fais ce travail depuis 20 ans. Ta tâche est maintenant de diagnostiquer et classifier les problèmes que te remontent les utilisateurs. Tu dois définir si l'utilisateur rencontre un problème ou souhaite effectuer une demande de changement. Si l'utilisateur rencontre un problème, tu dois effectuer le diagnostic pour catégoriser le problème et dépanner au mieux l'utilisateur. Si tu ne peux pas résoudre le problème et que tu as effectué ton diagnostic au maximum ou que l'utilisateur souhaire faire une demande de changement, tu indique toujours à l'utilisateur d'ouvrir un dossier en cliquant sur https://www.supportpc.fr/ticket/. Tu dois TOUJOURS poser des questions AVANT de répondre afin de mieux cerner ce que t'indique l'utilisateur."}] + + # Initialize message counter + ###self.num_messages = 0 # Create chat window to display conversation self.chat_window = QTextEdit(self) @@ -29,17 +38,36 @@ class MainWindow(QMainWindow): self.send_button = QPushButton("Send", self) self.send_button.setGeometry(580, 540, 200, 40) self.send_button.clicked.connect(self.send_message) + self.text_input.returnPressed.connect(self.send_button.click) + + self.username = "JimmyB" + + self.filename = os.path.join(r"C:\Workspace\Appli\Logs", f"{datetime.datetime.now().strftime('%Y_%m_%d_%H_%M_%S')}_{self.username}_chatlog.txt") # set the filename + self.write_to_file() # call the function to write the first line to the file + + def write_to_file(self): + with open(self.filename, "a") as file: + timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") # get the current time in the desired format + file.write(f"{timestamp} {self.chat_log[-1]}\n") # write the timestamp and the latest chat log entry to the file 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}) + self.write_to_file() reply = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=self.chat_log) response=reply['choices'][0]['message']['content'] + + # Increment message counter + ###self.num_messages += 1 + + # Send greeting to user + ###response = f"Hello, you have sent {self.num_messages} messages." self.chat_log.append({"role": "assistant", "content":response}) + self.write_to_file() # Add user's message and bot's response to chat window self.chat_window.append(f"

You : {user_message}

") diff --git a/erreur overload.png b/erreur overload.png new file mode 100644 index 0000000000000000000000000000000000000000..9cef4656c086214fa0cc32e1ee0ae2449f4403a1 GIT binary patch literal 34089 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 JyL9ux{{ & 'C:\Users\jbord\AppData\Local\Programs\Python\Python310\python.exe' 'c:\Users\jbord\.vscode\extensions\ms-python.python-2023.4.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '59963' '--' 'C:\Workspace\Depot\SupportPC\SupportPC.py' +Traceback (most recent call last): + File "C:\Workspace\Depot\SupportPC\SupportPC.py", line 56, in send_message + reply = openai.ChatCompletion.create( + File "C:\Users\jbord\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create + return super().create(*args, **kwargs) + File "C:\Users\jbord\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create + response, _, api_key = requestor.request( + File "C:\Users\jbord\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 226, in request + resp, got_stream = self._interpret_response(result, stream) + File "C:\Users\jbord\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 619, in _interpret_response + self._interpret_response_line( + File "C:\Users\jbord\AppData\Local\Programs\Python\Python310\lib\site-packages\openai\api_requestor.py", line 679, in _interpret_response_line + raise self.handle_error_response( +openai.error.RateLimitError: That model is currently overloaded with other requests. You can retry your request, or contact us through our help center at help.openai.com if the error persists. (Please include the request ID 912802e74e42eb8d9bcae586034152ef in your message.) +PS C:\Workspace\Depot\SupportPC> \ No newline at end of file