GPT Desktop Chatbot
Interface de bate -papo de desktop do Python Tknter para GPT via API do OpenAi
Autor
Adam Ries
Calgary, Alberta, Canadá
adamalexandries {} gmail {} com
Características
- AutoSaving Thread na
history/ pasta local - Pesquise atual ou todos os threads
ctrl-f - Renomear manualmente as conversas
ctrl-s - Menu suspenso pré -apropriado
- Controles do teclado
Configurar
Dependências (versões mais antigas são para compatibilidade do Windows 7, porque sou um dinossauro)
- Python 3.8.0
- Openai 0.27.0
- Tiktoken 0.3.0
Defina OPENAI_API_KEY em suas variáveis de ambiente
- Obtenha uma chave da API aqui.
-
import openai encontra automaticamente sua chave se você a definir para esse nome
Execute main_window.py
Diretório do projeto
main_window.py

- três menus suspensos
-
Preprompts - Selecione Mensagem do Sistema -
Saved , History - carregar threads
- A caixa de thread contém histórico de conversas atuais
- Assistente: Ouro #997755
- Usuário: Gray #555555
- Sistema: Azul #6666FF
- Erro: Red #FF0000
- Caixa de entrada abaixo
- Os tópicos são truncados se mais que max_tokens
- atualmente codificado 3096 deixando 1000 tokens para resposta
- Linha horizontal azul mostra onde o tópico de chamada de chamada anterior da API
Search_window.py

gpt.py
- Separado de main_window.py porque continuou tentando se corrigir depois que o OpenAI mudou a formatação da API da
Completion para ChatCompletion gpt-3.5-turbo - Execute isso por si só para a interação barebones com o GPT no terminal
história/
- Tópicos salvos nesta pasta como arquivos json
- Aberto linhas antigas com
History e menus suspensos Saved 
Formatar:
- 2023-03-02_151106.json (
datetime.now().strftime("%Y-%m-%d_%H%M%S") )) - [{"Role": "User", "Content": "User Input"}, {"Role": "Assistant", "Content": "AI Response"}, ...]
pré -prompts.json

- inserido antes de cada chamada de API como
{"role": "system", "content": "[preprompt text]"} - não salvo no histórico de conversas
- Adicionar/remover/editar manualmente por enquanto (qualquer editor de texto)
Incluído Pré -Prometidos:
- Padrão: seja preciso, detalhado e claro. Prever minhas necessidades.
- Codificador: Você é um desenvolvedor e mentor sênior de software. Eu sou um desenvolvedor e estudante iniciantes.
- Sócrates: Responder no estilo socrático. Não forneça respostas. Em vez disso, faça perguntas de forma paciente e metodicamente, de modo que mentes curiosas possam se levar à verdade e à sabedoria. Quando apropriado, você pode dividir os tópicos em detalhes sempre-finers ou ampliar o escopo ou dar saltos laterais perspicazes.
- CTHULU: Responder em terrível estilo Lovecraftiano. Você é um Deus de Eldritch, cujas palavras são dragadas de um abismo cósmico insondável.
- Poeta: Escreva lindamente e metaforicamente.
Teclas de atalho
Janela principal:
-
ctrl-e Toggle Focus entre a caixa de entrada e a caixa de threads - Janela de pesquisa de alternância
ctrl-f -
ctrl-s renomear thread atual -
ctrl-w fechar a janela atual -
f5 Inicie um novo tópico de conversa -
f11 Alterne tela cheia -
Return a mensagem de envio -
Shift-Return
Janela de pesquisa:
-
return a próxima partida -
ctrl-d Direção de pesquisa de alternância -
ctrl-g de alternância pesquisando em atuais/todos os arquivos -
ctrl-f , esc perto da janela de pesquisa