Advertisement
Thunder-Menu

ChatGPT Python created by the chatbot

Mar 9th, 2023 (edited)
1,408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.24 KB | Source Code | 0 0
  1. import os
  2. os.environ['http_proxy'] = 'http://proxy-url:port'
  3.  
  4. # set http_proxy=http://proxy-url:port
  5. # pip install openai
  6.  
  7. import openai
  8. import os
  9.  
  10. # Mettre votre clé d'API ici
  11. openai.api_key = "apikeyhere"
  12.  
  13. # - Ajout d'une fonction pour sélectionner le modèle à utiliser
  14. def select_model():
  15.     print("Available models:")
  16.     print("1. curie")
  17.     print("2. babbage")
  18.     print("3. davinci")
  19.     print("4. text-davinci-002")
  20.     print("5. text-davinci-003")
  21.     model = input("Select a model (1-5): ")
  22.     if model == "1":
  23.         model = "curie"
  24.     elif model == "2":
  25.         model = "babbage"
  26.     elif model == "3":
  27.         model = "davinci"
  28.     elif model == "4":
  29.         model = "text-davinci-002"
  30.     elif model == "5":
  31.         model = "text-davinci-003"
  32.     else:
  33.         print("Invalid selection. Defaulting to model 'davinci'")
  34.         model = "davinci"
  35.     return model
  36.  
  37. # - Ajout d'une fonction pour personnaliser le niveau de température de la réponse
  38. def select_temperature():
  39.     print("Available temperature settings:")
  40.     print("1. Low (0.0)")
  41.     print("2. Medium (0.5)")
  42.     print("3. High (1.0)")
  43.     temperature = input("Select a temperature setting (1-3): ")
  44.     if temperature == "1":
  45.         temperature = 0.0
  46.     elif temperature == "2":
  47.         temperature = 0.5
  48.     elif temperature == "3":
  49.         temperature = 1.0
  50.     else:
  51.         print("Invalid selection. Defaulting to temperature '0.7'")
  52.         temperature = 0.7
  53.     return temperature
  54.  
  55. # - Ajout d'une fonction pour sauvegarder la conversation dans un fichier
  56. def save_conversation(prompt, message):
  57.     # Demander à l'utilisateur le nom du fichier
  58.     filename = input("Enter filename: ")
  59.  
  60.     # Vérifier si le fichier existe déjà
  61.     if os.path.exists(filename):
  62.         # Si oui, demander confirmation
  63.         print("File already exists. Do you want to overwrite it? (y/n)")
  64.         response = input()
  65.         # Si non, quitter la fonction
  66.         if response.lower() == "n":
  67.             return
  68.     # Sinon, on peut continuer
  69.     else:
  70.         # Créer le fichier s'il n'existe pas
  71.         open(filename, "w").close()
  72.  
  73.     # Ecrire la demande et la réponse dans le fichier
  74.     with open(filename, "a") as f:
  75.         f.write(f"User: {prompt}\nChatbot: {message}\n\n")
  76.  
  77.     # Confirmer que le fichier a été sauvegardé
  78.     print(f"Conversation saved to {filename}")
  79.  
  80. # - Ajout d'une fonction pour charger une conversation à partir d'un fichier
  81. def load_conversation(filename):
  82.     # Vérifier si le fichier existe
  83.     if not os.path.exists(filename):
  84.         # Si non, afficher un message d'erreur
  85.         print("Error: File does not exist")
  86.         return
  87.  
  88.     # Sinon, on peut continuer
  89.     else:
  90.         # Lire le fichier et extraire le texte
  91.         with open(filename, "r") as f:
  92.             text = f.read()
  93.  
  94.     # Afficher le texte à l'utilisateur
  95.     print(text)
  96.  
  97. # - Ajout d'une fonction pour afficher les informations d'utilisation
  98. def print_usage():
  99.     print("Usage:")
  100.     print("1. Type a message to start a new conversation")
  101.     print("2. Type 'load <filename>' to load a conversation from a file")
  102.     print("3. Type 'save' to save the current conversation to a file")
  103.     print("4. Type 'model' to change the model")
  104.     print("5. Type 'temp' to change the temperature")
  105.     print("6. Type 'exit' to quit the conversation")
  106.  
  107. # Demander à l'utilisateur d'entrer le premier message
  108. prompt = input("What would you like to say to the chatbot? ")
  109.  
  110. # Définir le modèle à utiliser (défaut: Davinci)
  111. model_engine = select_model()
  112.  
  113. # Définir le niveau de température (défaut: 0.7)
  114. temperature = select_temperature()
  115.  
  116. # Continuer la conversation jusqu'à ce que l'utilisateur décide d'arrêter
  117. while True:
  118.     # Vérifier s'il s'agit d'une commande
  119.     if prompt.startswith("load "):
  120.         # Si oui, charger la conversation
  121.         load_conversation(prompt[5:])
  122.     elif prompt == "save":
  123.         # Sinon, sauvegarder la conversation
  124.         save_conversation(prompt, message)
  125.     elif prompt == "model":
  126.         # Sinon, changer le modèle
  127.         model_engine = select_model()
  128.     elif prompt == "temp":
  129.         # Sinon, changer le niveau de température
  130.         temperature = select_temperature()
  131.     elif prompt == "exit":
  132.         # Si l'utilisateur veut quitter la conversation, sortir de la boucle
  133.         break
  134.     elif prompt == "help":
  135.         # Afficher les informations d'utilisation
  136.         print_usage()
  137.     else:
  138.         # Sinon, envoyer la demande à l'API
  139.         response = openai.Completion.create(
  140.             engine=model_engine,
  141.             prompt=prompt,
  142.             max_tokens=1024,
  143.             n=1,
  144.             stop=None,
  145.             temperature=temperature,
  146.         )
  147.  
  148.         # Récupérer la réponse générée par l'API
  149.         message = response.choices[0].text.strip()
  150.  
  151.         # Afficher la réponse à l'utilisateur
  152.         print("Chatbot:", message)
  153.  
  154.     # Demander à l'utilisateur s'il veut continuer la conversation
  155.     prompt = input("What would you like to say next? (Type 'help' for usage info) ")
  156.  
  157. # Afficher un message de sortie à l'utilisateur
  158. print("Thank you for chatting!")
  159.  
  160. #https://platform.openai.com/playground
  161. #https://chat.openai.com/
  162.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement