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 7f66c28649 Use the new settings for response generation. 1 year ago
..
cmake Fix mac again for falcon. 1 year ago
icons Add more of the UI for selecting collections for chats. 1 year ago
metadata Bump release again and new release notes. 1 year ago
qml Start moving toward a single authoritative class for all settings. This 1 year ago
CMakeLists.txt Bump release again and new release notes. 1 year ago
LICENSE Moving everything to subdir for monorepo merge. 1 year ago
README.md Fix typo in README 1 year ago
build_and_run.md Update build_and_run.md (#834) 1 year ago
chat.cpp Fix bug with model loading on initial load. 1 year ago
chat.h Fix bug with model loading on initial load. 1 year ago
chatgpt.cpp add requiredMem method to llmodel impls 1 year ago
chatgpt.h add requiredMem method to llmodel impls 1 year ago
chatlistmodel.cpp Enable the force metal setting. 1 year ago
chatlistmodel.h Modellist temp 1 year ago
chatllm.cpp Enable the force metal setting. 1 year ago
chatllm.h Enable the force metal setting. 1 year ago
chatmodel.h Fixed tons of warnings and clazy findings (#811) 1 year ago
database.cpp Modellist temp 1 year ago
database.h Add a collection immediately and show a placeholder + busy indicator in localdocs settings. 1 year ago
download.cpp Make the retrieval/parsing of models.json sync on startup. We were jumping to many hoops to mitigate the async behavior. 1 year ago
download.h Make the retrieval/parsing of models.json sync on startup. We were jumping to many hoops to mitigate the async behavior. 1 year ago
llm.cpp Sigh. Windows. 1 year ago
llm.h Enable the force metal setting. 1 year ago
localdocs.cpp Add a collection immediately and show a placeholder + busy indicator in localdocs settings. 1 year ago
localdocs.h Make localdocs work with server mode. 1 year ago
localdocsdb.h Begin implementing the localdocs ui in earnest. 1 year ago
localdocsmodel.cpp Add a collection immediately and show a placeholder + busy indicator in localdocs settings. 1 year ago
localdocsmodel.h Add a collection immediately and show a placeholder + busy indicator in localdocs settings. 1 year ago
logger.cpp Logger should also output to stderr 1 year ago
logger.h Implemented logging mechanism (#785) 1 year ago
main.cpp Start moving toward a single authoritative class for all settings. This 1 year ago
main.qml Use the new settings for response generation. 1 year ago
modellist.cpp Make the retrieval/parsing of models.json sync on startup. We were jumping to many hoops to mitigate the async behavior. 1 year ago
modellist.h Make the retrieval/parsing of models.json sync on startup. We were jumping to many hoops to mitigate the async behavior. 1 year ago
mysettings.cpp The sync for save should be after. 1 year ago
mysettings.h Start moving toward a single authoritative class for all settings. This 1 year ago
network.cpp Use sysinfo in backend. 1 year ago
network.h Add ability to remove models. 1 year ago
responsetext.cpp This needs to work even when localdocs and codeblocks are detected. 1 year ago
responsetext.h Add code blocks and python syntax highlighting. 1 year ago
server.cpp Match on the filename too for server mode. 1 year 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
  • Python bindings
  • Typescript bindings
  • Plugin support for langchain other developer tools
  • Save your prompt/responses to disk
  • Upload prompt/response manually/automatically to nomic.ai to aid future training runs
  • Syntax highlighting support for programming languages, etc.
  • REST API with a built-in webserver in the chat gui itself with a headless operation mode as well
  • Advanced settings for changing temperature, topk, etc. (DONE)
  • 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.