Skip to content

Commit b1a3f8c

Browse files
authored
Merge pull request #133 from yjg30737/yjg30737-patch-1
Update README.md
2 parents 85e8a5c + 8d5a47b commit b1a3f8c

File tree

1 file changed

+30
-99
lines changed

1 file changed

+30
-99
lines changed

README.md

Lines changed: 30 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,29 @@
66

77
</div>
88

9-
PyQt/PySide(Python cross-platform GUI toolkit) OpenAI Chatbot which supports more than 8 languages (you can see the list below)
9+
![image](https://github.com/user-attachments/assets/f5281b7e-1414-4335-adb4-a92928cd609e)
1010

11-
<b>This supports Windows, MacOS, Linux.</b>
11+
## Multi-purpose Text & Image Generation Desktop Commercial Chatbot (supporting various models including GPT)
1212

13-
You can use OpenAI models(GPT4o, GPT4o-mini, DALL-E, etc.), Replicate image generation models with PyQt.
13+
This application is developed using PyQt.
1414

15-
The major advantage of this package is that you don't need to know other language aside from Python.
15+
It supports Windows, macOS, and Linux.
1616

17-
If you want to study openai with Python-only good old desktop software, this is for you.
17+
It uses SQLite as a database.
1818

19-
This is using <b>sqlite</b> as a database.
19+
You can use OpenAI models (GPT-4, GPT-4 Mini, DALL-E, etc.) and Replicate image generation models with PyQt.
2020

21-
You can select the model and change each parameters of openai from the right side bar.
21+
The major advantage of this package is that you don't need to know any language aside from Python.
2222

23-
Also you can combine openai with llama-index feature to make GPT model answer your question based on information you had provided!
23+
If you want to study OpenAI with Python-only in a good old desktop software environment, this is for you.
2424

25-
If you have any questions or you want to make AI related software with PyQt or PySide, feel free to join Discord server of pyqt-openai.
25+
You can select the model and adjust each parameter of OpenAI from the right sidebar.
2626

27-
And if you would like to support this project, you can click the button below to make a donation. Your contribution will greatly assist various projects, including this one!
27+
Additionally, you can combine OpenAI with the Llama-Index feature to make the GPT model answer your questions based on the information you have provided!
28+
29+
If you have any questions or if you want to develop AI-related software with PyQt or PySide, feel free to join the Discord server!
30+
31+
If you would like to support this project, please click the button below to make a donation. Your contribution will greatly assist various projects, including this one!
2832

2933
<a href="https://www.buymeacoffee.com/yjg30737" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
3034
<a href="https://paypal.me/yjg30737">
@@ -39,51 +43,39 @@ And if you would like to support this project, you can click the button below to
3943
* [Overview](#overview)
4044
* [Conversation](#conversation)
4145
* [Prompt Generator](#prompt-generator)
42-
* [Use GPT Vision](#use-gpt-vision)
43-
* [Image Generation](#image-generation)
4446
* [How to Install](#how-to-install)
4547
* [Troubleshooting](#troubleshooting)
4648
* [Contact](#contact)
4749
* [Note](#note)
48-
* [LICENSE](#license)
4950
* [Disclaimer](#disclaimer)
5051

5152
## Feature
5253
* Basically this is <b>desktop application version of ChatGPT</b> with image generation tool.
53-
* Text streaming (enable by default, you can disable it)
54-
* AI remembers past conversation
55-
* Support copy button
56-
* Able to stop response in the middle of text generation
5754
* <b>Conversation(=Thread) management</b>
5855
* Add & delete conversations
59-
* Export conversations - JSON file, text files compressed file, html files compressed file (both are zip)
60-
* Import conversations from pyqt-openai, GPT
61-
* Rename conversation
56+
* Export & Import conversations (including import from ChatGPT)
6257
* "Favorite" feature
6358
* Support JSON mode
64-
* everything above is saved in an SQLite database file named conv.db. (File's name can be changed by yourself)
65-
* Support controlling parameters(temperature, top_p, etc) just like openai playground
66-
* Able to see the reason why stream is finished
59+
* Everything above is saved in an SQLite database file named conv.db. (File's name can be changed by yourself)
60+
* Support text(*.txt), image(*.png, *.jpg) file uploading
61+
* Support controlling parameters(temperature, top_p, etc)
62+
* You can see the reason why stream is finished.
6763
* Support token count (only for non-streaming response)
6864
* Support <b>prompt generator</b> (manageable, autosaved in database)
6965
* Support import & export prompt group as JSON
66+
* Full screen feature
7067
* Support <b>slash commands</b>
7168
* Support beginning and ending part of the prompt
72-
* You can <b>run this in background</b> application
73-
* notification will pop up when response is generated
69+
* You can <b>run this in background</b>
70+
* Notification will pop up when response is generated
7471
* You can make window stack on top or control its transparency
7572
* Image generation (DALL-E3 from openai, a bunch of image models in Replicate)
7673
* Support saving generated image to local
7774
* Support continue generation
7875
* Notification when task completes
79-
* You can copy and download the image directly as well. just hover the mouse cursor over the image.
80-
* You can <b>fine-tune</b> openai with llama-index and use it (support streaming response)
81-
* Support text(*.txt), image(*.png, *.jpg) file uploading
82-
* Support searching title and content in the conversation
83-
* Support "find text" feature (match word, case-sensitive, regex, etc.)
76+
* Support llamaindex
8477
* Support customizing feature (homepage, user and AI profile image, font settings)
8578
* Support light/dark theme based on your system settings (Above Qt6 only)
86-
* Full screen feature
8779

8880
## Supported Languages
8981
* English
@@ -193,37 +185,20 @@ In this preview, i pressed the keyboard shortcut of each actions(show beginning,
193185

194186
I made the command suggestion GUI resemble the Discord command autocomplete popup, with which a lot of people have become accustomed.
195187

196-
### Use GPT Vision
197-
#### How to Use it
198-
1. Select "gpt-4-vision-preview"
199-
200-
![image](https://github.com/yjg30737/pyqt-openai/assets/55078043/1d1ce632-3078-4cb7-863e-fc447b146f8a)
201-
202-
2. Select image files from local with clicking "Upload Files"
203-
204-
![image](https://github.com/yjg30737/pyqt-openai/assets/55078043/aef216d5-9b7c-4f22-9bc3-88c90f4d9e73)
205-
206-
3. Ask something about images
207-
208-
![image](https://github.com/yjg30737/pyqt-openai/assets/55078043/3ef4f091-9f5f-46b3-a160-be35215977c7)
209-
210-
211-
### Image Generation
212-
213-
![image](https://github.com/yjg30737/pyqt-openai/assets/55078043/7f240ab3-f4d7-4d8b-b1c8-cb269f25e05b)
214-
215188
## How to Install
216189
1. git clone ~
217190
2. cd pyqt-openai
218191
3. pip install -r requirements.txt --upgrade
219192
4. cd pyqt_openai
220193
5. You should put your api key in the line edit. You can get it in <a href="https://platform.openai.com/account/api-keys">official site</a> of openai. Sign up and log in before you get it.
221-
222-
Be sure, this is a very important API key that belongs to you only, so you should remember it and keep it secure.
223-
224194
6. python main.py
225195

226-
If installation doesn't work, you can contact me with bring up new issue in issue tab or check the troubleshooting below even it is only about very specific error.
196+
## Install with pyproject.toml
197+
1. git clone ~
198+
2. Run shell as Administrator
199+
3. cd pyqt-openai
200+
4. pip install .
201+
5. pyqt-openai
227202

228203
### Note
229204
If you use Linux and see this error:
@@ -243,24 +218,8 @@ sudo apt-get install libxcb-xinerama0
243218

244219
Please check that the path does not contain any other invalid languages.
245220

246-
### subprocess-exited-with-error
247-
If you see this error while installing the openai package
248-
```
249-
subprocess-exited-with-error
250-
```
251-
download the package itself from <a href="https://pypi.org/project/openai/#files">pypi</a>.
252-
253-
Unzip it, access the package directory, type
254-
```
255-
python setup.py install
256-
```
257-
258-
That will install the openai.
259-
260-
Note: I don't know this can happen in newer version of openai as well, so tell me if you know about something
261-
262221
### qtpy.QtBindingsNotFoundError: No Qt bindings could be found
263-
first, do this:
222+
First, do this:
264223
```
265224
pip uninstall -r requirements.txt
266225
```
@@ -273,34 +232,6 @@ then it will work :)
273232
## Contact
274233
You can join pyqt-openai's <a href="https://discord.gg/cHekprskVE">Discord Server</a> to have a conversation about it or AI-related stuff 🙂
275234

276-
## Note
277-
I recommend to install sqlite management software. It's not necessary to run this app (obviously), but it's good practice to manage database about conversation history with AI and to know how this works.
278-
279-
## LICENSE
280-
```
281-
MIT License
282-
283-
Copyright (c) 2023-2024 Jung Gyu Yoon
284-
285-
Permission is hereby granted, free of charge, to any person obtaining a copy
286-
of this software and associated documentation files (the "Software"), to deal
287-
in the Software without restriction, including without limitation the rights
288-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
289-
copies of the Software, and to permit persons to whom the Software is
290-
furnished to do so, subject to the following conditions:
291-
292-
The above copyright notice and this permission notice shall be included in all
293-
copies or substantial portions of the Software.
294-
295-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
296-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
297-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
298-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
299-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
300-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
301-
SOFTWARE.
302-
```
303-
304235
## Disclaimer
305236

306237
Please do not distribute this commercially without my permission, by claiming it as your own creation.

0 commit comments

Comments
 (0)