import os os.environ['http_proxy'] = 'http://proxy-url:port' # set http_proxy=http://proxy-url:port # pip install openai import openai import os # Mettre votre clé d'API ici openai.api_key = "apikeyhere" # - Ajout d'une fonction pour sélectionner le modèle à utiliser def select_model(): print("Available models:") print("1. curie") print("2. babbage") print("3. davinci") print("4. text-davinci-002") print("5. text-davinci-003") model = input("Select a model (1-5): ") if model == "1": model = "curie" elif model == "2": model = "babbage" elif model == "3": model = "davinci" elif model == "4": model = "text-davinci-002" elif model == "5": model = "text-davinci-003" else: print("Invalid selection. Defaulting to model 'davinci'") model = "davinci" return model # - Ajout d'une fonction pour personnaliser le niveau de température de la réponse def select_temperature(): print("Available temperature settings:") print("1. Low (0.0)") print("2. Medium (0.5)") print("3. High (1.0)") temperature = input("Select a temperature setting (1-3): ") if temperature == "1": temperature = 0.0 elif temperature == "2": temperature = 0.5 elif temperature == "3": temperature = 1.0 else: print("Invalid selection. Defaulting to temperature '0.7'") temperature = 0.7 return temperature # - Ajout d'une fonction pour sauvegarder la conversation dans un fichier def save_conversation(prompt, message): # Demander à l'utilisateur le nom du fichier filename = input("Enter filename: ") # Vérifier si le fichier existe déjà if os.path.exists(filename): # Si oui, demander confirmation print("File already exists. Do you want to overwrite it? (y/n)") response = input() # Si non, quitter la fonction if response.lower() == "n": return # Sinon, on peut continuer else: # Créer le fichier s'il n'existe pas open(filename, "w").close() # Ecrire la demande et la réponse dans le fichier with open(filename, "a") as f: f.write(f"User: {prompt}\nChatbot: {message}\n\n") # Confirmer que le fichier a été sauvegardé print(f"Conversation saved to {filename}") # - Ajout d'une fonction pour charger une conversation à partir d'un fichier def load_conversation(filename): # Vérifier si le fichier existe if not os.path.exists(filename): # Si non, afficher un message d'erreur print("Error: File does not exist") return # Sinon, on peut continuer else: # Lire le fichier et extraire le texte with open(filename, "r") as f: text = f.read() # Afficher le texte à l'utilisateur print(text) # - Ajout d'une fonction pour afficher les informations d'utilisation def print_usage(): print("Usage:") print("1. Type a message to start a new conversation") print("2. Type 'load ' to load a conversation from a file") print("3. Type 'save' to save the current conversation to a file") print("4. Type 'model' to change the model") print("5. Type 'temp' to change the temperature") print("6. Type 'exit' to quit the conversation") # Demander à l'utilisateur d'entrer le premier message prompt = input("What would you like to say to the chatbot? ") # Définir le modèle à utiliser (défaut: Davinci) model_engine = select_model() # Définir le niveau de température (défaut: 0.7) temperature = select_temperature() # Continuer la conversation jusqu'à ce que l'utilisateur décide d'arrêter while True: # Vérifier s'il s'agit d'une commande if prompt.startswith("load "): # Si oui, charger la conversation load_conversation(prompt[5:]) elif prompt == "save": # Sinon, sauvegarder la conversation save_conversation(prompt, message) elif prompt == "model": # Sinon, changer le modèle model_engine = select_model() elif prompt == "temp": # Sinon, changer le niveau de température temperature = select_temperature() elif prompt == "exit": # Si l'utilisateur veut quitter la conversation, sortir de la boucle break elif prompt == "help": # Afficher les informations d'utilisation print_usage() else: # Sinon, envoyer la demande à l'API response = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=temperature, ) # Récupérer la réponse générée par l'API message = response.choices[0].text.strip() # Afficher la réponse à l'utilisateur print("Chatbot:", message) # Demander à l'utilisateur s'il veut continuer la conversation prompt = input("What would you like to say next? (Type 'help' for usage info) ") # Afficher un message de sortie à l'utilisateur print("Thank you for chatting!") #https://platform.openai.com/playground #https://chat.openai.com/