A ChatBot with a simple UI, developed using Python.
Attention: The source code for this project is derived from the official OpenAI API documentation and referenced open-source projects, with assistance from AI.
This project uses Python and the OpenAI API to develop a simple AI question-answering system. The first version provides a graphical user interface, while the second version adds the capability for streaming output. Through the sample code, you can learn how to build a basic framework for interacting with AI. You can view the debugging API response information by clicking the "debug" button.
Version 1.0.1 - UI interface, one-time full output, no Markdown rendering
Version 1.0.2 - UI interface, streaming output, no Markdown rendering
Version 1.0.3 - UI interface, streaming/non-streaming output (selectable), independent context dialogue, clearable conversation history, no Markdown rendering
Version 1.0.4 - UI interface, streaming/non-streaming output (selectable), continuous context dialogue, clearable conversation history, no Markdown rendering
Version 1.0.5 - UI interface, streaming/non-streaming output (selectable), independent/continuous context dialogue (selectable), clearable conversation history, no Markdown rendering
Version 1.0.6 - UI interface, streaming/non-streaming output (selectable), independent/continuous context dialogue (selectable), clearable conversation history, improved window display, no Markdown rendering
Version 1.0.7 - UI interface, streaming/non-streaming output (selectable), independent/continuous context dialogue (selectable), clearable conversation history, improved window display, no Markdown rendering, support for user and assistant avatar loading
Version 1.0.8 - Further optimized UI layout and functionality, fixed several bugs, and implemented performance improvements
Version 1.0.9 - Inherited all features from v1.0.8, added message editing functionality allowing users to edit sent messages, introduced a resend feature enabling users to resend edited messages, further optimized the scrolling area adjustment to enhance user experience