GPT -Desktop -Chatbot
Python Tkinter Desktop -Chat -Schnittstelle für GPT über OpenAIs API
Autor
Adam Ries
Calgary, Alberta, Kanada
adamalexanderries {} gmail {} com
Merkmale
- Thread Autosaving im lokalen
history/ Ordner - Suchen Sie aktuell oder alle Threads
ctrl-f - Gespräche manuell
ctrl-s - Preprompt Dropdown -Menü
- Tastatursteuerungen
Aufstellen
Abhängigkeiten (ältere Versionen sind für die Kompatibilität von Windows 7, weil ich ein Dinosaurier bin)
- Python 3.8.0
- OpenAI 0.27.0
- Tiktoken 0.3.0
Setzen Sie OPENAI_API_KEY in Ihren Umgebungsvariablen
- Holen Sie sich hier einen API -Schlüssel.
-
import openai findet Ihren Schlüssel automatisch, wenn Sie ihn auf diesen Namen gesetzt haben
Führen Sie main_window.py aus
Projektverzeichnis
main_window.py

- drei Dropdown -Menüs
-
Preprompts - Systemmeldung auswählen -
Saved , History - Laden Sie Threads
- Thread Box enthält den aktuellen Gesprächsgeschichte
- Assistent: Gold #997755
- Benutzer: Grau #555555
- System: Blau #6666ff
- Fehler: Rot #ff0000
- Eingabefeld unten
- Die Themen werden abgeschnitten, wenn sie länger als max_tokens
- Derzeit Hardcoded 3096 hinterlassen 1000 Token für die Reaktion
- Blaue horizontale Linie zeigt, wo der vorherige API -Aufruf in Scheiben geschnitten wurde
Search_window.py

gpt.py
- getrennt von main_window.py, weil es immer wieder versuchte, sich selbst zu korrigieren, nachdem OpenAI die API-Formatierung von
Completion bis zur ChatCompletion unter 2023-03-01 mit gpt-3.5-turbo Version (aufgrund von 2021 Trainingsdatenausschüttungen) geändert hat. - Führen Sie dies alleine für die Interaktion von Barebones mit GPT im Terminal aus
Geschichte/
- Themen, die in diesem Ordner als JSON -Dateien gespeichert sind
- Öffnen Sie alte Fäden mit
History und Saved Dropdown -Menüs 
Format:
- 2023-03-02_151106.json (
datetime.now().strftime("%Y-%m-%d_%H%M%S") ) - [{"Rolle": "Benutzer", "Inhalt": "Benutzereingabe"}, {"Rolle": "Assistant", "Inhalt": "AI -Antwort"}, ...]
preprompts.json

- Vor jedem API -Aufruf als
{"role": "system", "content": "[preprompt text]"} eingefügt - Nicht in der Gesprächsgeschichte gerettet
- Fügen Sie vorerst manuell hinzu/entfernen/bearbeiten (jeder Texteditor)
Eingeschlossene Präfrompts:
- Standard: Seien Sie genau, detailliert und klar. Vorhersage meine Bedürfnisse.
- Codierer: Sie sind ein hochrangiger Softwareentwickler und Mentor. Ich bin ein Anfänger und Student.
- Sokrates: Antworte im sokratischen Stil. Keine Antworten geben. Stellen Sie stattdessen geduldig und methodisch Fragen so, dass sich neugieriger Verstand zu Wahrheit und Weisheit führen können. Wenn angebracht, können Sie Themen in ever-Fininer-Details zerlegen oder den Umfang erweitern oder aufschlussreiche seitliche Sprünge durchführen.
- Cthulu: Antwort im schrecklichen Lovecraftian -Stil. Sie sind ein Eldritch -Gott, dessen Worte aus einem unergründlichen kosmischen Abgrund ausgebaggert werden.
- Dichter: Schreiben Sie wunderschön und metaphorisch.
Hotkeys
Hauptfenster:
-
ctrl-e Umschalten Sie den Fokus zwischen Eingabefeld und Thread-Box -
ctrl-f Suchfenster -
ctrl-s benennen den aktuellen Thread um -
ctrl-w das aktuelle Fenster schließen -
f5 Starten Sie einen neuen Gesprächsthread -
f11 Umschalten Sie Vollbild -
Return senden -
Shift-Return Newline einfügen
Suchfenster:
- Nächstes Match
return -
ctrl-d -Umschalter-Suchrichtung -
ctrl-g -Umschaltung in aktuellen/allen Dateien -
ctrl-f , esc Suchfenster schließen