gpt4all/README.md

106 lines
6.1 KiB
Markdown
Raw Normal View History

2023-04-09 03:28:39 +00:00
# gpt4all-chat
2023-04-09 03:46:23 +00:00
Cross platform Qt based GUI for GPT4All versions with GPT-J as the base
2023-04-09 05:37:12 +00: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 12:59:50 +00: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-09 03:46:23 +00:00
2023-04-12 12:56:30 +00:00
![image](https://user-images.githubusercontent.com/50458173/231464085-da9edff6-a593-410e-8f38-7513f75c8aab.png)
2023-04-09 03:46:23 +00:00
## Features
2023-04-12 12:59:50 +00:00
* Cross-platform (Linux, Windows, MacOSX)
2023-04-09 03:46:23 +00: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 11:14:23 +00:00
* Check for updates so you can alway stay fresh with latest models
2023-04-13 11:12:48 +00:00
* Easy to install with precompiled binaries available for all three major desktop platforms
2023-04-20 23:43:16 +00: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 11:12:48 +00: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 21:37:18 +00:00
* Syntax highlighting support for programming languages, etc.
2023-04-13 22:57:33 +00:00
* REST API with a built-in webserver in the chat gui itself with a headless operation mode as well
2023-04-16 15:53:02 +00:00
* Advanced settings for changing temperature, topk, etc. (DONE)
2023-04-13 11:12:48 +00:00
* YOUR IDEA HERE
2023-04-09 03:46:23 +00:00
2023-04-30 13:05:26 +00:00
## Getting the latest
If you've already checked out the source code and/or built the program make sure when you do a git fetch to get the latest changes and that you also do ```git submodule update --init --recursive``` to update the submodules.
2023-04-09 04:01:42 +00:00
## Building and running
2023-04-09 03:53:24 +00: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 04:01:42 +00:00
* Download https://huggingface.co/EleutherAI/gpt-j-6b
2023-04-09 03:54:25 +00:00
* Clone this repo and build
```
2023-04-20 22:56:38 +00:00
git clone https://github.com/ggerganov/ggml.git
cd ggml
2023-04-09 03:54:25 +00:00
mkdir build
cd build
cmake ..
cmake --build . --parallel
2023-04-09 04:01:42 +00: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 22:56:38 +00: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
2023-04-29 21:49:18 +00:00
mv /path/to/ggml-model-q4_0.bin bin
./bin/chat
2023-04-09 03:54:25 +00:00
```
2023-04-09 03:53:24 +00:00
2023-04-17 13:02:26 +00: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-30 11:02:01 +00:00
## Manual download of models
2023-04-30 11:07:22 +00:00
* https://gpt4all.io/models/ggml-gpt4all-j-v1.3-groovy.bin (default) (md5sum 81a09a0ddf89690372fc296ff7f625af) Current best commercially licensable model based on GPT-J and trained by Nomic AI on the latest curated GPT4All dataset.
* https://gpt4all.io/models/ggml-gpt4all-l13b-snoozy.bin (md5sum 91f886b68fbce697e9a3cd501951e455) Current best non-commercially licensable model based on Llama 13b and trained by Nomic AI on the latest curated GPT4All dataset.
* https://gpt4all.io/models/ggml-gpt4all-j-v1.2-jazzy.bin (md5sum 879344aaa9d62fdccbda0be7a09e7976) An commercially licensable model based on GPT-J and trained by Nomic AI on the v2 GPT4All dataset.
* https://gpt4all.io/models/ggml-gpt4all-j-v1.1-breezy.bin (md5sum 61d48a82cb188cceb14ebb8082bfec37) An commercially licensable model based on GPT-J and trained by Nomic AI on the v1 GPT4All dataset.
* https://gpt4all.io/models/ggml-gpt4all-j.bin (md5sum 5b5a3f9b858d33b29b52b89692415595) An commercially licensable model based on GPT-J and trained by Nomic AI on the v0 GPT4All dataset.
* https://gpt4all.io/models/ggml-vicuna-7b-1.1-q4_2.bin (md5sum 29119f8fa11712704c6b22ac5ab792ea) An non-commercially licensable model based on Llama 7b and trained by teams from UC Berkeley, CMU, Stanford, MBZUAI, and UC San Diego.
* https://gpt4all.io/models/ggml-vicuna-13b-1.1-q4_2.bin (md5sum 95999b7b0699e2070af63bf5d34101a8) An non-commercially licensable model based on Llama 13b and trained by teams from UC Berkeley, CMU, Stanford, MBZUAI, and UC San Diego.
2023-04-30 12:54:45 +00:00
* https://gpt4all.io/models/ggml-wizardLM-7B.q4_2.bin (md5sum 99e6d129745a3f1fb1121abed747b05a) An non-commercially licensable model based on Llama 7b and trained by Microsoft and Peking University.
* https://gpt4all.io/models/ggml-stable-vicuna-13B.q4_2.bin (md5sum 6cb4ee297537c9133bddab9692879de0) An non-commercially licensable model based on Llama 13b and RLHF trained by Stable AI.
2023-04-30 11:02:01 +00:00
2023-04-30 20:07:59 +00:00
## Terminal Only Interface with no Qt dependency
Check out https://github.com/kuvaus/LlamaGPTJ-chat which is using the llmodel backend so it is compliant with our ecosystem and all models downloaded above should work with it.
2023-04-09 03:46:23 +00:00
## Contributing
2023-04-13 11:12:48 +00:00
* Pull requests welcome. See the feature wish list for ideas :)
2023-04-09 03:53:24 +00:00
2023-04-13 16:17:58 +00:00
## License
2023-04-17 20:41:28 +00: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 13:17:02 +00: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.