Chat de bureau GPT
Interface de chat de bureau Python Tkinter pour GPT via l'API d'Openai
Auteur
Adam Ries
Calgary, Alberta, Canada
AdamalexanDerries {} gmail {} com
Caractéristiques
- Filetage automatique dans
history/ dossier local - Recherche actuelle ou tous les threads
ctrl-f - renommer manuellement les conversations
ctrl-s - menu déroulant PrepRomppt
- Contrôles du clavier
Installation
Dépendances (les versions plus anciennes sont pour la compatibilité de Windows 7, car je suis un dinosaure)
- Python 3.8.0
- Openai 0.27.0
- Tiktoken 0.3.0
Définissez OPENAI_API_KEY dans vos variables d'environnement
- Obtenez une clé API ici.
-
import openai trouve automatiquement votre clé si vous l'avez définie sur ce nom
exécuter main_window.py
Répertoire de projet
main_window.py

- Trois menus déroulants
-
Preprompts - Sélectionnez le message système -
Saved , History - Charges Threads
- La boîte de thread contient l'historique actuel de la conversation
- Assistant: Gold # 997755
- Utilisateur: Gray # 555555
- Système: bleu # 6666ff
- Erreur: rouge # FF0000
- Boîte d'entrée ci-dessous
- Les threads sont tronqués s'ils sont plus longs que max_tokens
- Actuellement, 3096 à codé hardée laissant 1000 jetons pour la réponse
- La ligne horizontale bleue montre où l'appel API précédent
search_window.py

gpt.py
- Séparé de main_window.py car il a continué à essayer de se corriger après l'Openai a changé la mise en forme de l'API de
Completion à ChatCompletion le 2023-03-01 avec la version gpt-3.5-turbo (en raison de la coupure de données de formation 2021) - Exécutez ceci par lui-même pour l'interaction Barebones avec GPT dans Terminal
histoire/
- Threads enregistrés dans ce dossier en tant que fichiers JSON
- Ouvrez les vieux fils avec
History et les menus déroulants Saved
Format:
- 2023-03-02_151106.json (
datetime.now().strftime("%Y-%m-%d_%H%M%S") )) - [{"rôle": "utilisateur", "contenu": "entrée utilisateur"}, {"rôle": "Assistant", "Content": "AI Response"}, ...]
prepromps.json

- inséré avant chaque appel de l'API comme
{"role": "system", "content": "[preprompt text]"} - Pas sauvé dans l'histoire de la conversation
- Ajouter / supprimer / modifier manuellement pour l'instant (n'importe quel éditeur de texte)
Prépositions incluses:
- Par défaut: Soyez précis, détaillé et clair. Prédire mes besoins.
- Codel: Vous êtes un développeur de logiciels et mentor senior. Je suis un développeur novice et un étudiant.
- Socrate: Répondre dans le style socratique. Ne fournissez pas de réponses. Au lieu de cela, poser patiemment et méthodiquement des questions telles que des esprits curieux peuvent se conduire à la vérité et à la sagesse. Le cas échéant, vous pouvez décomposer des sujets en détail toujours en détail, ou élargir la portée, ou faire des sauts latéraux perspicaces.
- CTHULU: Répondre dans un style de Lovecraftien horrible. Vous êtes un dieu Eldritch, dont les paroles sont draguées à partir d'un abîme cosmique insondable.
- Poète: Écrivez magnifiquement et métaphoriquement.
Lourdeur
Fenêtre principale:
-
ctrl-e TOGGLE FOCUS ENTRE BOX ENTRE ET - fenêtre de recherche de bascule
ctrl-f -
ctrl-s Renommer le thread actuel -
ctrl-w Fermer la fenêtre de courant -
f5 Démarrez un nouveau fil de conversation -
f11 Bascule complet -
Return un message Envoyer -
Shift-Return insérer une nouvelle ligne
Fenêtre de recherche:
-
return le prochain match -
ctrl-d Direction de recherche de basculement -
ctrl-g bascule la recherche dans les fichiers actuels / tous -
ctrl-f , fenêtre de recherche de fermeture esc