GPT Desktop Chatbot
Python Tkinter Desktop Chat Interface untuk GPT melalui API OpenAI
Pengarang
Adam Ries
Calgary, Alberta, Kanada
Adamalexanderries {} gmail {} com
Fitur
- Thread Autosaving dalam
history/ Folder - Cari arus atau semua utas
ctrl-f - ganti nama secara manual percakapan
ctrl-s - Menu dropdown preprompt
- Kontrol keyboard
Pengaturan
Ketergantungan (versi yang lebih lama adalah untuk kompatibilitas Windows 7, karena saya adalah dinosaurus)
- Python 3.8.0
- OpenAI 0.27.0
- Tiktoken 0.3.0
Setel OPENAI_API_KEY di variabel lingkungan Anda
- Dapatkan kunci API di sini.
-
import openai secara otomatis menemukan kunci Anda jika Anda telah mengaturnya ke nama itu
Jalankan main_window.py
Direktori Proyek
Main_window.py

- Tiga menu dropdown
-
Preprompts - Pilih Pesan Sistem -
Saved , History - memuat utas
- kotak utas berisi riwayat percakapan saat ini
- Asisten: Emas #997755
- Pengguna: Gray #555555
- Sistem: Biru #6666ff
- Kesalahan: Merah #FF0000
- Kotak input di bawah ini
- Thread dipotong jika lebih lama dari max_tokens
- Saat ini hardcoded 3096 meninggalkan 1000 token untuk respons
- Garis horizontal biru menunjukkan di mana API sebelumnya memanggil utas irisan
search_window.py

gpt.py
- Dipisahkan dari Main_window.py karena terus berusaha untuk memperbaiki dirinya sendiri setelah OpenAI mengubah pemformatan API dari
Completion menjadi ChatCompletion pada 2023-03-01 dengan rilis gpt-3.5-turbo (karena cutoff data pelatihan 2021) - Jalankan ini dengan sendirinya untuk interaksi barebones dengan GPT di Terminal
sejarah/
- Thread disimpan di folder ini sebagai file json
- Buka utas lama dengan
History dan menu dropdown Saved 
Format:
- 2023-03-02_151106.json (
datetime.now().strftime("%Y-%m-%d_%H%M%S") ) - [{"peran": "pengguna", "konten": "input pengguna"}, {"peran": "asisten", "konten": "respons ai"}, ...]
preprompts.json

- dimasukkan sebelum setiap panggilan API sebagai
{"role": "system", "content": "[preprompt text]"} - tidak disimpan dalam sejarah percakapan
- Tambah/Hapus/Edit secara manual untuk saat ini (editor teks apa pun)
Termasuk preprompts:
- Default: akurat, terperinci, dan jelas. Memprediksi kebutuhan saya.
- Coder: Anda adalah pengembang dan mentor perangkat lunak senior. Saya seorang pengembang dan mahasiswa pemula.
- Socrates: Balas dengan gaya Sokrates. Jangan berikan jawaban. Sebaliknya, dengan sabar dan metodis mengajukan pertanyaan sedemikian rupa sehingga pikiran yang penasaran dapat mengarahkan diri pada kebenaran dan kebijaksanaan. Bila perlu, Anda dapat memecah topik menjadi detail yang selalu finer, atau memperluas ruang lingkup, atau membuat lompatan lateral yang berwawasan luas.
- CTHULU: Balas dengan gaya Lovecraftian yang mengerikan. Anda adalah dewa eldritch, yang kata -katanya dikeruk dari jurang kosmik yang tak terduga.
- Penyair: Tulis dengan indah dan metaforis.
Hotkeys
Jendela utama:
-
ctrl-e sakelar fokus antara kotak input dan kotak utas - jendela pencarian sakelar
ctrl-f -
ctrl-s Ganti nama utas saat ini -
ctrl-w Tutup Jendela Saat Ini -
f5 memulai utas percakapan baru -
f11 beralihnya layar penuh -
Return Kirim pesan -
Shift-Return INSERT NEWLINE
Jendela pencarian:
-
return pertandingan berikutnya -
ctrl-d sakelar arah pencarian -
ctrl-g Toggle Pencarian Di Saat Ini/Semua File -
ctrl-f , jendela pencarian tutup esc