You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gpt4all/gpt4all-chat
Adam Treat e51a504550 Add the new 2.6.1 release notes and bump the version. 8 months ago
..
cmake fix references to old backend implementations 10 months ago
flatpak-manifest appdata: update software description 11 months ago
hnswlib LocalDocs version 2 with text embeddings. 10 months ago
icons Add a nicer message. 1 year ago
metadata Add the new 2.6.1 release notes and bump the version. 8 months ago
qml Implement configurable context length (#1749) 9 months ago
CMakeLists.txt Add the new 2.6.1 release notes and bump the version. 8 months ago
LICENSE Moving everything to subdir for monorepo merge. 1 year ago
README.md Updated chat wishlist (#1351) 11 months ago
build_and_run.md build_and_run: clarify which additional Qt libs are needed 10 months ago
chat.cpp Some cleanps 8 months ago
chat.h Some cleanps 8 months ago
chatgpt.cpp Implement configurable context length (#1749) 9 months ago
chatgpt.h Implement configurable context length (#1749) 9 months ago
chatlistmodel.cpp Some cleanps 8 months ago
chatlistmodel.h Some cleanps 8 months ago
chatllm.cpp Implement configurable context length (#1749) 9 months ago
chatllm.h MPT: use upstream llama.cpp implementation (#1515) 11 months ago
chatmodel.h Restore state from text if necessary. 11 months ago
database.cpp LocalDocs version 2 with text embeddings. 10 months ago
database.h LocalDocs version 2 with text embeddings. 10 months ago
download.cpp Networking retry on download error for models. 10 months ago
download.h Networking retry on download error for models. 10 months ago
embeddings.cpp Update gpt4all-chat/embeddings.cpp 10 months ago
embeddings.h LocalDocs version 2 with text embeddings. 10 months ago
embllm.cpp Implement configurable context length (#1749) 9 months ago
embllm.h LocalDocs version 2 with text embeddings. 10 months ago
llm.cpp restore network.h #include 8 months ago
llm.h chat: set search path early 8 months ago
localdocs.cpp LocalDocs version 2 with text embeddings. 10 months ago
localdocs.h LocalDocs version 2 with text embeddings. 10 months ago
localdocsdb.h Begin implementing the localdocs ui in earnest. 1 year ago
localdocsmodel.cpp Reduce copied code. 10 months ago
localdocsmodel.h Reduce copied code. 10 months ago
logger.cpp Logger should also output to stderr 1 year ago
logger.h Implemented logging mechanism (#785) 1 year ago
main.cpp chat: set search path early 8 months ago
main.qml Add a button to the collections dialog. Fix close button. 10 months ago
modellist.cpp Implement configurable context length (#1749) 9 months ago
modellist.h Implement configurable context length (#1749) 9 months ago
mysettings.cpp Implement configurable context length (#1749) 9 months ago
mysettings.h Implement configurable context length (#1749) 9 months ago
network.cpp Always save chats to disk, but save them as text by default. This also changes 11 months ago
network.h Always save chats to disk, but save them as text by default. This also changes 11 months ago
responsetext.cpp fixed issue of text color changing for code blocks in light mode (#1299) 1 year ago
responsetext.h Add code blocks and python syntax highlighting. 1 year ago
server.cpp Update server.cpp to return valid created timestamps (#1763) 9 months ago
server.h Start working on more thread safety and model load error handling. 1 year ago

README.md

gpt4all-chat

Cross platform Qt based GUI for GPT4All versions with GPT-J as the base 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 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.

image

Install

One click installers for macOS, Linux, and Windows at https://gpt4all.io

Features

  • Cross-platform (Linux, Windows, MacOSX)
  • 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
  • Check for updates so you can always stay fresh with latest models
  • Easy to install with precompiled binaries available for all three major desktop platforms
  • 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

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
  • Plugin support for langchain other developer tools
  • chat gui headless operation mode
  • Advanced settings for changing temperature, topk, etc. (DONE)
    • Improve the accessibility of the installer for screen reader users
  • YOUR IDEA HERE

Building and running

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.

Manual download of models

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.

Contributing

  • Pull requests welcome. See the feature wish list for ideas :)

License

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.

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.