Skip to content

Commit

Permalink
[docs] update README
Browse files Browse the repository at this point in the history
  • Loading branch information
happycod3r committed Aug 15, 2023
1 parent b25ddfd commit ecbb8b1
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 63 deletions.
125 changes: 62 additions & 63 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,29 +47,29 @@
## [About](#about)

This is just version 1 of many updates to come still, so the GUI will improve vastly in the very near future. I really wanted to focus on functionality and wrapping
the GUI around the openai api in a way that will give you full control. It should be a 1|1 wrapper around the api and I think WinGTP accomplishes that.
the GUI around the OpenAI API in a way that will give you full control over settings. I wanted to create a `1:1` wrapper around the API and I think WinGTP accomplishes that.

### [Cross-platform](#cross-platform)

Because WinGPT is built purely in Python, it will work on Windows, Mac and Linux operating systems.

### [Full-featured](#full-featured)

- Chat, files, audio transcription, image edits, image variations, new images, translations, embeddings, fine-tuning, moderations, sentement analysis, q&a, summarization and code generation are all available and easy to use.
- Chat, files, audio transcription, image edits, image variations, new images, translations, embeddings, fine-tuning, moderations, sentement analysis, Q&A, summarization and code generation are all available and easy to use.

### [Control all api settings](#control-all-api-settings)

- Switch between all available models using a simple drop down menu.
- Easily control all available parameters such as: temperature, max tokens, response count, best of, frequency & presence penalty, timeout, user etc. from a modern gui to easily adjust responses.
- Use user defined data files, and jsonl data files.
- View and change other settings like api_type, api_base and api_version.
- Easily control all available parameters such as: temperature, max tokens, response count, best of, frequency & presence penalty, timeout, user etc. from a modern GUI to easily adjust responses.
- Use user defined data files, and `.jsonl` data files.
- View and change other API settings like `api_type`, `api_base` and `api_version`.
- Stream, echo, or save chat at any time.
- Create chat stop lists.

### [Persistent Settings](#persistent-settings)

- Your api key is stored so you only need to enter it once during setup and it will be automatically loaded on next startup.
- If you have multiple api keys, you can easily switch between them.
- Your API key is stored so you only need to enter it once during setup and it will be automatically loaded on next startup.
- If you have multiple API keys, you can easily switch between them.
- Organization settings are also available to control which organization is used by default when making requests with your API keys.

### [Personalization Settings](#personalization-settings)
Expand All @@ -78,38 +78,37 @@ Because WinGPT is built purely in Python, it will work on Windows, Mac and Linux
- Easily change the color of the output and accent of the gui controls.
- UI scaling options are also available.

![Hello World](./res/wingtp-hello-example.gif)
![Hello World](./res/wingpt-hello-example.gif)

## [Notes](#notes)

> This an early ***Beta*** release of WinGTP. It's at a point where everything is completely functional yet vastly unpolished.
> Any feedback is always appreciated. I started this from scratch over the past two weeks so there is still a ton to do.
> This an early ***Beta*** release of WinGPT. It's at a point where everything is completely functional yet vastly unpolished.
> Any feedback or [contributions](#contributing) are always welcomed. I started this from scratch over the past two weeks so there is still a ton to do.
---

## [Requirements](#requirements)

A few basic things are required to successfully setup and use WinGTP.
A few basic things are required to successfully setup and use WinGPT.

1) Firstly you need an active internet connection to run WinGTP. Because WinGTP makes calls
to the OpenAI api a connection is required.
2) Python 3.11 or higher: If python isn't already installed you can find it on the official website here [https://www.python.org/](https://www.python.org/).
3) Lastly you need an api key to finish the WinGTP setup. Check out the [API Key](#openai-api-key) section.
1) Firstly you need an active internet connection to run WinGPT. Because WinGPT makes calls
to the OpenAI API a connection is required.
2) Python 3.11 or higher: If Python isn't already installed you can find it on the official website here [https://www.python.org/](https://www.python.org/).
3) Lastly you need an API key to finish the WinGPT setup. Check out the [API Key](#openai-api-key) section.

## [Install](#install)

Currently there is no installer yet as WinGTP is still being actively developed. You can use it simply by running the `init.py` file with **Python 3.11** or higher or by using the included `wingtp-v0.1.0.bat` file which will run it for you.
Currently there is no installer yet as WinGPT is still being actively developed. You can use it simply by running the `init.py` file with **Python 3.11** or higher or by using the included `wingpt-v0.1.0.bat` file which will run it for you.

Soon an executable will be available! once I feel version 1 is polished enough I'll bundle everything and release an executable for you to use, as running things from the command line isn't ideal for everyone.
Soon an executable will be available! once I feel version 1 is polished enough I'll bundle everything and release an executable for you to use, as I know running things from the command line isn't ideal for everyone.

To download and use WinGTP choose an install method and follow the corresponding steps. Once fininshed jump to the [Usage](#usage) section.
To download and use WinGPT choose an install method and follow the corresponding steps. Once fininshed jump to the [Usage](#usage) section.

> You need a free OpenAI API key to finish the setup. If you don't already have
> one you can find one at [https://openai.com/](https://openai.com/)
> You need a free OpenAI API key to finish the setup. If you don't already have see the [OpenAI API Key](#openai-api-key) section for detailed instructions on how to easily obtain one.
### [Manual Install](#manual-install)

1. Simply download and place the ***WinGTP*** folder in a location of your choosing then follow one of the methods in the [Usage](#usage) section to get started.
1. Simply download and place the ***WinGPT*** folder in a location of your choosing then follow one of the methods in the [Usage](#usage) section to get started.

### [Command Line Install](#command-line-install)

Expand All @@ -124,7 +123,7 @@ cd where/I/want/to/install
2) Next run the following command to clone the repository to the chosen location:

```bash
git clone https://github.com/happycod3r/WinGTP.git
git clone https://github.com/happycod3r/WinGPT.git
```

#### [Using Curl:](#using-curl)
Expand All @@ -138,27 +137,27 @@ cd where/I/want/to/install
2) Paste the following line into your terminal and press the `Enter` key:

```bash
curl https://github.com/happycod3r/WinGTP.git
curl https://github.com/happycod3r/WinGPT.git
```

Once you have the repository cloned or downloaded your good to go. All you need
now is Python and an api key from [https://openai.com](https://openai.com)
now is Python and and your OpenAI API key.

## [Usage](#usage)

### [OpenAI API Key](#openai-api-key)

> None of your personal information is required to use WinGTP except your [API Key](#openai-api-key)
> which is stored locally on your machine. Your api key is never shared or entered into
> None of your personal information is required to use WinGPT except your [API Key](#openai-api-key)
> which is stored locally on your machine. Your API key is never shared or entered into
> any kind of database. Everything is local. OpenAI may collect data but you'll have to
> check out the OpenAI website as I am not affiliated, sponsered, or contracted with
> OpenAI in any way, shape or form. I'm just a dude in a place.
**!!!Any API keys used in these examples were deleted immediately after!!!**

This step is really important to setup in order to use WinGTP. Since the application
is wrapped around the Python `openai` module heavily you need an OpenAI api key to use it.
You can easily obtain a free api key by following the next few steps.
This step is really important to setup in order to use WinGPT. Since the application
is wrapped around the Python `openai` module heavily you need an OpenAI API key to use it.
You can easily obtain a free API key by following the next few steps.

1) Go to [https://openai.com/](https://openai.com/) and either create a free account
manually or continue using **Google** or any other option for the quickest setup.
Expand All @@ -173,61 +172,59 @@ manually or continue using **Google** or any other option for the quickest setup

---

3) Next you will be met with a page like this where you can access or create new api keys.
3) Next you will be met with a page like this where you can access or create new API keys.
Create a new key to use if you don't already have one.

![setup3](./res/setup3.gif)

---

4) Once you have an api key you can use it to setup WinGTP. Enter your username and
then the api key below it.
4) Once you have an api key you can use it to setup WinGPT. Enter your username and
then the API key below it.

![setup4](./res/setup4.gif)

---

### [Running WinGTP](#running-wingtp)
### [Running WinGPT](#running-wingpt)

1) To start WinGTP on Windows you can double-click the `wingtp-0.1.0.bat` file.
1) To start WinGPT on Windows you can double-click the `wingpt-0.1.0.bat` file.

Notice! When running `wingtp-0.1.0.bat`, Windows security might alert you
Notice! When running `wingpt-0.1.0.bat`, Windows security might alert you
about the file being unsafe. This can be ignored as it is completely safe. This file
simply runs the `init.py` file using the `python` command which starts WinGTP.
simply runs the `init.py` file using the `python` command which starts WinGPT.

```bash
# wingtp-0.1.0.bat
# wingpt-0.1.0.bat
python "./init.py"
```

2) Next you will see a setup screen where you should enter a username that you would
like to use within WinGTP and your OpenAI api key.
like to use within WinGTP and your OpenAI API key.

> Without an api key you will not be able to access WinGTP as none of it's features
> will work without it. If you need further instructions on how to obtain one check
> out the [OpenAI API Key](#openai-api-key) section.
> Just to reiterate, without an API key you will not be able to access WinGPT as none of it's features
> will work without it. If you need further instructions on how to obtain one check the previous section: [OpenAI API Key](#openai-api-key)
#### [python](#python)

1) WinGTP was built using Python 3.11 so make sure you are using the same or newer.
2) In your terminal navigate to the WinGTP root directory.
1) WinGPT was built using Python 3.11 so make sure you are using the same or newer.
2) In your terminal navigate to the WinGPT root directory.

```bash
cd WinGTP
cd WinGPT
```

3) Finally, run the following command to start WinGTP:
3) Finally, run the following command to start WinGPT:

```bash
python init.py
```

---

Once the setup winow closes you will then be greeted by GTP with a greeting including your
username.
Once the setup window closes you will then be greeted by WinGPT with a greeting including the username that you provide to let you know everything was set up successfully.

The following are examples of some of the main features mentioned in the [About](#about) section.
The following are examples of some of the main features of WinGPT mentioned in the [About](#about) section.

### [Usage Examples](#examples)

Expand All @@ -247,23 +244,25 @@ of an image.
- First select the `Images` request type from the `Request Types` section
- Once selected the image settings will open in the top right section in place of the `Chat Output Temperature`
section. These setings allow you to pick an image size and open existing images and or masks.
- Lastly press the `Send` button to get the url of the image.
- Lastly press the `Send` button to get the URL of the image.

You can type anything you want to create a new image. After pressing the `Send` button
it may take a second to get the url as you can see in this example. This is due to OpenAI
and theres not much I can do about it. As for WinGTP hanging when waiting for a
response, I will be working out a solution to this.
it may take a second to get the URL as you can see in this example. This is due to OpenAI
and theres not much I can do about it. As for WinGPT hanging when waiting for a
response, I will be working out a solution to this in the near future when I find one.

![Image Example](./res/image-new-example.gif)

When you are done creating the image you can either copy the url or view the image from within WinGTP.
When you are done creating the image you can either copy the URL or view the image from within WinGPT.

![Show Image](./res/show-image-example.gif)

#### [Transcriptions](#transcriptions)

You can also create audio transcriptions in the same manner as images. Remember to pick the
correct model for each reuest type otherwise you won't get a response.
correct model for each request type otherwise you won't get a response.

> NOTE: In the near future I will implement a system that will alert you if you're not using the correct model for the specific request type or have incorrect settings/parameters enabled.
For audio transcriptions you can use `whisper-1`.

Expand All @@ -276,8 +275,8 @@ transcribe.

#### [Translations](#translations)

You can also easily make translations. Don't forget to choose the correct model type from the drop down
otherwise it may not work.
You can also easily make translations. Don't forget to choose the correct model type from the **Models** drop-down
otherwise it may not work as expected or at all.

- First you need to choose the `Translations` option in the `Request Types` section.
- You will see langauge options open in the top right section.
Expand All @@ -289,7 +288,7 @@ the `Send` button to get the translation.

#### [Embeddings](#embeddings)

Embeddings can be created from within WinGTP as well. Since embeddings tend to be really long
Embeddings can be created from within WinGPT as well. Since embeddings tend to be really long
it may take a second to recieve the response. I will be working on execution speed
and other issues in the near future. As with images and transcriptions, remember to choose
the correct model for the job.
Expand All @@ -300,13 +299,13 @@ For embeddings you can use `text-embedding-ada-002`

#### [Fine Tuning](#fine-tuning)

> Section coming soon!
> Section coming soon! Still working on this request type.
#### [Moderations](#moderations)

Use the moderations section to gague any text that you may want to analyze.
This can be helpful to use if you have messages or comments that you may want to filter
for any reason. Since the response from openai is a dictionary you can even
for any reason. Since the response from the OpenAI API is a dictionary you can even
write a program around moderations soley since you can get the values of each section easily.

For moderations the model type doesn't matter.
Expand Down Expand Up @@ -336,8 +335,8 @@ This is helpful if you want to steer the responses in a specific direction.

Code generation can be helpful if your someone who is just learning how to code or even if
your experienced. Why get stuck on a problem for hours trying to go through different forums like
Stack Overflow - Not that they wren't super helpful back in the day! - when you can just ask
and get a straight answer
Stack Overflow - Not that they weren't super helpful through the years! - and be bombarded by ads on Google and other sites when you can just ask
and get a straight answer.

![Code Gen](./res/code-gen-example.gif)

Expand All @@ -353,7 +352,7 @@ input box and press the `Send` button.
#### [Summarization](#summarization)

When `Summarization` is chosen, anything that you enter into the text box will be summarized.
You should play wth the settings such as `Response Token Limit` and `Chat Output Temperature` to
You should play with the settings such as `Response Token Limit` and `Chat Output Temperature` to
get different results.

![Summarization Example](./res/summarization-example1.gif)
Expand All @@ -363,7 +362,7 @@ get different results.
## [Contributing](#contributing)

If you have any feature requests, suggestions or general questions you can reach me via any of the
methods listed below in the [Contacts](#contacts) section.
methods listed below in the [Contacts](#contacts) section. Contributions are always welcome!

---

Expand Down
File renamed without changes

0 comments on commit ecbb8b1

Please sign in to comment.