2023-04-08 23:28:39 -04:00
# gpt4all-chat
2023-04-08 23:46:23 -04:00
Cross platform Qt based GUI for GPT4All versions with GPT-J as the base
2023-04-09 01:37:12 -04:00
model. NOTE: The model seen in the screenshot is actually a preview of a
new training run for GPT4All based on GPT-J. The GPT4All project is busy
2023-04-12 08:59:50 -04:00
at work getting ready to release this model including installers for all
three major OS's. In the meantime, you can try this UI out with the original
GPT-J model by following build instructions below.
2023-04-08 23:46:23 -04:00
2023-04-12 08:56:30 -04:00
![image ](https://user-images.githubusercontent.com/50458173/231464085-da9edff6-a593-410e-8f38-7513f75c8aab.png )
2023-04-08 23:46:23 -04:00
## Features
2023-04-12 08:59:50 -04:00
* Cross-platform (Linux, Windows, MacOSX)
2023-04-08 23:46:23 -04:00
* Fast CPU based inference using ggml for GPT-J based models
* The UI is made to look and feel like you've come to expect from a chatty gpt
2023-04-13 07:14:23 -04:00
* Check for updates so you can alway stay fresh with latest models
2023-04-13 07:12:48 -04:00
* Easy to install with precompiled binaries available for all three major desktop platforms
2023-04-20 19:43:16 -04:00
* Multi-modal - Ability to load more than one model and switch between them
* Supports both llama.cpp and gptj.cpp style models
* Model downloader in GUI featuring many popular open source models
* Settings dialog to change temp, top_p, top_k, threads, etc
* Copy your conversation to clipboard
* Check for updates to get the very latest GUI
2023-04-13 07:12:48 -04:00
## Feature wishlist
* Multi-chat - a list of current and past chats and the ability to save/delete/export and switch between
* Text to speech - have the AI response with voice
* Speech to text - give the prompt with your voice
* Python bindings
* Typescript bindings
* Plugin support for langchain other developer tools
* Save your prompt/responses to disk
* Upload prompt/respones manually/automatically to nomic.ai to aid future training runs
2023-04-13 17:37:18 -04:00
* Syntax highlighting support for programming languages, etc.
2023-04-13 18:57:33 -04:00
* REST API with a built-in webserver in the chat gui itself with a headless operation mode as well
2023-04-16 11:53:02 -04:00
* Advanced settings for changing temperature, topk, etc. (DONE)
2023-04-13 07:12:48 -04:00
* YOUR IDEA HERE
2023-04-08 23:46:23 -04:00
2023-04-09 00:01:42 -04:00
## Building and running
2023-04-08 23:53:24 -04:00
* Install Qt 6.x for your platform https://doc.qt.io/qt-6/get-and-install-qt.html
* Install cmake for your platform https://cmake.org/install/
2023-04-09 00:01:42 -04:00
* Download https://huggingface.co/EleutherAI/gpt-j-6b
2023-04-08 23:54:25 -04:00
* Clone this repo and build
```
2023-04-20 18:56:38 -04:00
git clone https://github.com/ggerganov/ggml.git
cd ggml
2023-04-08 23:54:25 -04:00
mkdir build
cd build
cmake ..
cmake --build . --parallel
2023-04-09 00:01:42 -04:00
python3 ../ggml/examples/gpt-j/convert-h5-to-ggml.py /path/to/your/local/copy/of/EleutherAI/gpt-j-6B 0
./bin/gpt-j-quantize /path/to/your/local/copy/of/EleutherAI/gpt-j-6B/ggml-model-f32.bin ./ggml-model-q4_0.bin 2
2023-04-20 18:56:38 -04:00
```
and then
```
git clone --recurse-submodules https://github.com/nomic-ai/gpt4all-chat
cd gpt4all-chat
mkdir build
cd build
cmake ..
cmake --build . --parallel
mv /path/to/ggml-model-q4_0.bin .
2023-04-09 00:01:42 -04:00
./chat
2023-04-08 23:54:25 -04:00
```
2023-04-08 23:53:24 -04:00
2023-04-16 07:39:55 -04:00
## Building and running CLI tools only (no Qt required)
* Install cmake for your platform https://cmake.org/install/
* Clone this repo and build the `ggml` subfolder
```
2023-04-16 07:45:52 -04:00
git clone --recurse-submodules https://github.com/nomic-ai/gpt4all-chat
2023-04-16 07:39:55 -04:00
cd gpt4all-chat/ggml
mkdir build
cd build
cmake ..
cmake --build . --parallel
2023-04-20 14:15:07 -04:00
wget https://gpt4all.io/models/ggml-gpt4all-j-v1.2-jazzy.bin # Download GGML model if you don't already have it.
2023-04-24 09:02:59 -04:00
./bin/gpt-j -m ggml-gpt4all-j-v1.2-jazzy.bin -n 200 --top_k 40 --top_p 0.9 -b 9 --temp 0.9 -p "Below is an instruction that describes a task. Write a response that appropriately completes the request.
2023-04-16 07:39:55 -04:00
### Instruction:
2023-04-16 07:51:40 -04:00
Tell me about artifical intelligence
2023-04-16 07:39:55 -04:00
### Response:"
```
2023-04-17 09:02:26 -04:00
## To get Qt installed for your system
* Highly advise using the official Qt online open source installer.
* You can obtain this by creating an account on qt.io and downloading the installer.
* You should get latest Qt {Qt 6.5.x} for your system and the developer tools including QtCreator, cmake, ninja.
* WINDOWS NOTE: you need to use the mingw64 toolchain and not msvc
* ALL PLATFORMS NOTE: the installer has options for lots of different targets which will add a lot
of download overhead. You can deselect webassembly target, android, sources, etc to save space on your disk.
2023-04-08 23:46:23 -04:00
## Contributing
2023-04-13 07:12:48 -04:00
* Pull requests welcome. See the feature wish list for ideas :)
2023-04-08 23:53:24 -04:00
2023-04-13 12:17:58 -04:00
## License
2023-04-17 16:41:28 -04:00
The source code of this chat interface is currently under a MIT license. The underlying GPT4All-j model is released under non-restrictive open-source Apache 2 License.
2023-04-14 09:17:02 -04:00
The GPT4All-J license allows for users to use generated outputs as they see fit. Users take responsibility for ensuring their content meets applicable requirements for publication in a given context or region.