GPT Desktop Chatbot
Interfaz de chat de escritorio Tkinter de Python para GPT a través de la API de OpenAi
Autor
Adam ries
Calgary, Alberta, Canadá
adamalexanderries {} gmail {} com
Características
- Hilo de ahorro de autosina en
history/ carpeta local - buscar corriente o todos los hilos
ctrl-f - Cambiar manualmente las conversaciones
ctrl-s - Menú desplegable Preprompt
- controles de teclado
Configuración
Dependencias (las versiones anteriores son para la compatibilidad de Windows 7, porque soy un dinosaurio)
- Python 3.8.0
- OPERAI 0.27.0
- Tiktoken 0.3.0
Establezca OPENAI_API_KEY en sus variables de entorno
- Obtenga una llave API aquí.
-
import openai encuentra automáticamente su clave si la ha configurado en ese nombre
Ejecutar main_window.py
Directorio de proyectos
main_window.py

- Tres menús desplegables
-
Preprompts - Seleccione Mensaje del sistema -
Saved , History - hilos de carga
- Thread Box contiene historial de conversación actual
- Asistente: Oro #997755
- Usuario: Gray #555555
- Sistema: Azul #6666ff
- Error: rojo #FF0000
- cuadro de entrada a continuación
- Los hilos se truncan si son más largos que max_tokens
- Actualmente codificado 3096 dejando 1000 tokens para respuesta
- La línea horizontal azul muestra donde la API anterior llama a hilo en rodajas
Search_window.py

gpt.py
- separado de main_window.py porque siguió tratando de corregirse después de que Operai cambió el formato de API desde
Completion hasta ChatCompletion en 2023-03-01 con la versión gpt-3.5-turbo (debido al límite de datos de entrenamiento de 2021) - Ejecutar esto por sí solo para la interacción Barebones con GPT en Terminal
historia/
- Temas guardados en esta carpeta como archivos JSON
- Abra hilos viejos con
History y menús de desplegable Saved 
Formato:
- 2023-03-02_151106.json (
datetime.now().strftime("%Y-%m-%d_%H%M%S") )) - [{"rol": "usuario", "contenido": "entrada del usuario"}, {"rol": "asistente", "contenido": "respuesta ai"}, ...]
preprpts.json

- Insertado antes de cada API Llama como
{"role": "system", "content": "[preprompt text]"} - no guardado en la historia de la conversación
- Agregar/eliminar/editar manualmente por ahora (cualquier editor de texto)
Incluyó preprompts:
- Valor predeterminado: sea preciso, detallado y claro. Predecir mis necesidades.
- Coder: usted es un desarrollador y mentor de software senior. Soy un desarrollador y estudiante novato.
- Sócrates: Responder en el estilo socrático. No proporcione respuestas. En cambio, haga preguntas paciente y metódicamente de tal manera que las mentes curiosas puedan conducir a la verdad y la sabiduría. Cuando sea apropiado, puede dividir los temas en detalles cada vez más finos, o ampliar el alcance, o hacer saltos laterales perspicaces.
- Cthulu: Respuesta al horrible estilo Lovecraftian. Eres un dios Eldritch, cuyas palabras son dragas de un abismo cósmico insondable.
- Poeta: Escribe bellamente y metafóricamente.
Teclas de acceso
Ventana principal:
-
ctrl-e TOGLA FOCUS entre el cuadro de entrada y el cuadro de subprocesos - Ventana de búsqueda de alternar
ctrl-f -
ctrl-s Cambiar el nombre de la corriente -
ctrl-w Cerrar ventana de corriente -
f5 comienza un nuevo hilo de conversación -
f11 Toggle Fullscreen -
Return el mensaje de envío -
Shift-Return Insert Newline
Ventana de búsqueda:
-
return el próximo partido - Dirección de búsqueda
ctrl-d de alternativa -
ctrl-g Toggle Búsqueda en los archivos actuales/todos -
ctrl-f , Escanario de búsqueda de Cerrar de esc