GPT4All Installation and Local Model Usage Guide
GPT4All is a freely available, open-source desktop application designed to run large language models (LLMs) directly on your computer. It works on the major desktop platforms — macOS, Windows, and Linux — and allows you to run models completely offline. GPT4All supports GGUF-formatted LLMs from sources such as Hugging Face and can also connect to hosted model providers like Groq, OpenAI, and Mistral through their APIs, enabling private and secure usage.
This guide explains how to install GPT4All, obtain and launch models, and start chatting with them locally. You will install the newest version of GPT4All, configure API-based access if needed, and interact with LLMs using local files such as spreadsheets, documents, PDFs, notes, and configuration files.
Prerequisites
Before beginning, make sure you have:
- A Cloud GPU instance, a CPU-powered Windows machine, a macOS system, or an Ubuntu-based desktop Linux workstation (with GUI) where you operate as a non-root user with sudo rights.
- A domain with an A record pointing to your workstation’s public IP. In this guide, gpt4all.example.com is used as an example domain.
Install GPT4All
You can set up GPT4All on Windows, macOS, or Linux. Follow the installation steps that match your operating system. The following instructions demonstrate the installation process on Ubuntu 24.04 using the latest installer binary.
Install GPT4All on Ubuntu (and Debian-based systems)
GPT4All is available for Ubuntu and other Debian-based desktop environments. You can install it using the newest binary installer or via Flatpak. The steps below outline installing the binary version on an Ubuntu 24.04 workstation.
Log in to your Ubuntu desktop using VNC, Nomachine, or another graphical remote desktop tool.
Open a terminal, for example with CTRL + ALT + T.
Download the Installer
[pdm_code_snippet background=”no” background-mobile=”no” slim=”yes” line-numbers=”yes” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”yes” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]
wget https://gpt4all.io/installers/gpt4all-installer-linux.run
[/dm_code_snippet]
Give Execute Permission
chmod +x gpt4all-installer-linux.run
Run the Installer
./gpt4all-installer-linux.run
Note: You must use a full graphical desktop environment to run the application.
In the installation wizard, click Next > to begin.
Confirm the installation directory and proceed with Next >.
Select all available components and continue by clicking Next >.
Accept the license by selecting I accept the license.
Click Install to finish the installation process.
After the installer completes, click Finish.
Verify Installation Files
ls ~/gpt4all
Expected Output:
bin InstallationLog.txt Licenses network.xml share
components.xml installer.dat maintenancetool plugins
gpt4all-32.png installerResources maintenancetool.dat qml
gpt4all-48.png lib maintenancetool.ini resources
Verify Desktop Shortcut
ls ~/Desktop
Expected Output:
GPT4All.desktop
Create Desktop Application Entry
mkdir -p ~/.local/share/applications
mv ~/Desktop/GPT4All.desktop ~/.local/share/applications/
Open your applications menu and search for GPT4All. The icon should now appear. Click it to launch the GPT4All chat interface.
Install GPT4All on Windows
GPT4All supports both x86 and ARM versions of Windows. You can install it with a CPU-optimized or GPU-optimized executable. The steps are as follows:
- Download the latest .exe installer from the official website.
- Run the installer to launch the wizard.
- Click Next to proceed.
- Confirm the installation path and click Next.
- Select the desired components and click Next.
- Accept the license agreement.
- Allow the creation of a start menu shortcut.
- Click Install and wait for completion.
- Click Finish to close the wizard.
After installation, open the Windows Start menu, search for GPT4All, and launch it.
Install GPT4All on macOS (M-Series)
- Download the newest .dmg package from the official site.
- Open the downloaded GPT4All installer.
- Double-click gpt4all-installer-darwin to launch the setup wizard.
- Click Next > to review the installation path.
- Proceed with the default directory.
- You will see one component: gpt4all. Click Next >.
- Accept the license agreement and click Install.
- After installation, click Finish.
- Open Launchpad and search for GPT4All to start the application.
Configure GPT4All to Use LLMs
GPT4All ships without preinstalled models. You can download models from its integrated model library or from external providers such as Hugging Face. GPT4All supports instruct-tuned, distilled, reasoning, uncensored, and censored LLM variants. Follow the steps below to download new models, manage them, and start chatting.
- Launch GPT4All from your applications menu.
- Open the Models section from the main menu.
- Click Add Model to browse available models.
Model Sources
- GPT4All Repository: Contains curated, tested models compatible with GPT4All.
- Remote Providers: Includes Groq, OpenAI, and Mistral, for which an internet connection is required.
- Hugging Face: Lets you search and download GGUF models using keywords.
Model Details
When selecting a model such as Llama3.2 1B Instruct, review the following:
- File Size: Required free storage space.
- RAM Required: Minimum memory needed to load the model.
- Parameters: Number of trainable parameters.
- Quant: Quantization type used to compress model weights.
- Type: Model architecture or base model.
Click Download to obtain the model.
Return to the Models page to confirm that the model has been successfully downloaded and is ready for use. You can then open the Chats page and select any installed model to start a new conversation.
Use GPT4All to Chat with Local LLMs
Models that you have downloaded appear in the Chats tab inside GPT4All. All conversations run locally and remain private on your machine. Follow the instructions below to interact with the installed models without requiring an internet connection.
- Open the main navigation menu and click Chats.
- Select Select a Model and choose the model you want to use.
Enter a message in the Send a message field and press Enter to begin your conversation.
Monitor the token count and the model’s response speed.
Verify that the model generates an answer consistent with the prompt you provided.
Type another message in the Send a message field and press Enter to continue the conversation. The model references the earlier prompts to refine its responses.
Click Delete beside any chat in your history to remove it.
You can also click Edit to rename the chat or use New Chat to begin a new session.
RAG: Use Local Documents with GPT4All
GPT4All offers built-in Retrieval-Augmented Generation (RAG) features through the LocalDocs menu. You can upload several documents and let the model enhance its output by referencing your files. Use the following steps to create a document collection and chat with your files.
- Click Settings and choose LocalDocs.
Review the list of supported file extensions.
Select Embeddings Device and choose CUDA when available to process embeddings with your GPU.
Return to the main menu and click LocalDocs.
Select Add Doc Collection to create a new document collection.
Enter a name for your collection and click Browse to choose the folder containing your files.
Click Create Collection to scan every file in the chosen directory.
Monitor the embedding progress and verify the embedding count for each document. GPT4All uses nomic-embed-text-v1.5 by default.
Confirm that your new collection includes all uploaded documents.
Open Chats.
Start a new chat, click LocalDocs in the upper-right corner, and select the document collection to run RAG-based queries referencing your files.
Download and Use GGUF Models with GPT4All
GGUF (GPT-Generated Unified Format) is a high-performance format designed to store and load language models efficiently. It offers quick loading times and reduced memory usage, making it ideal for low-latency environments. You can download GGUF-formatted models from websites like Hugging Face and manually import them into GPT4All. Follow these steps to download and use GGUF models from Hugging Face.
Open a web browser such as Firefox.
Visit Hugging Face and search for a model to download.
For example, search for Mistral GGUF to explore available models.
Select a model from the results, such as mistralai/Devstral-Small-2507_gguf.
Click Files and Versions to see available model builds.
Select the quantized version you want, such as Devstral-Small-2507-Q4_K_M.gguf.
Check the file size of the selected model.
Open a terminal window.
Check storage usage on your workstation to confirm you have enough space.
df -h
In the browser, click the download icon for your chosen model version.
Once the download finishes, open the terminal and navigate to your Downloads directory.
cd ~/Downloads
Move the downloaded GGUF file to the ~/.local/share/nomic.ai/GPT4All/ directory.
mv Devstral-Small-2507-Q4_K_M.gguf ~/.local/share/nomic.ai/GPT4All/
List all GGUF models stored in that directory.
ls ~/.local/share/nomic.ai/GPT4All/
Expected Output:
Devstral-Small-2507-Q4_K_M.gguf Llama-3.2-1B-Instruct-Q4_0.gguf localdocs_v3.db test_write.txt
Close GPT4All if it is currently running.
Reopen GPT4All so the application loads the newly added models.
Navigate to the Models tab and confirm that your new model appears in the list.
Switch to the Chats tab, click New Chat, and pick the newly added model.
Type a prompt such as write a short story about a robot learning to code, with a focus on arrays and press Enter to generate output using the imported model.
Enable the GPT4All API Server
GPT4All provides a built-in API server that exposes REST endpoints for interacting with models programmatically. This API lets you list available models, run completions, and integrate GPT4All with your own tools and applications. Follow these steps to activate the API server and send requests.
- Open Settings in the main navigation menu.
- Navigate to the Advanced section.
- Enable the Local API Server option.
Note the default port used by the API server.
Open a terminal window.
Send a GET request to the /v1/models endpoint using the GPT4All local port to list all models.
curl http://localhost:4891/v1/models
The API returns a JSON response containing the available models.
Send another GET request to retrieve details about a specific model. Replace Devstral-Small-2507-Q4_K_M.gguf with a model present on your server.
curl http://localhost:4891/v1/models/Devstral-Small-2507-Q4_K_M.gguf
Send a POST request to the /v1/completions endpoint to generate text completions.
curl -X POST http://localhost:4891/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Devstral-Small-2507-Q4_K_M.gguf",
"prompt": "What is the sum of 8, 5, and negative 200?",
"max_tokens": 500
}'
The API sends back a JSON object containing the completion result along with additional metadata.
Configure Nginx as a Reverse Proxy for the GPT4All API on Linux
GPT4All listens for API traffic solely on the local loopback address 127.0.0.1, meaning only your own machine can connect to the API server. By installing and configuring Nginx as a reverse proxy, you can securely expose the GPT4All API to your network by forwarding incoming requests to the localhost-bound API service.
Update System Packages
sudo apt update
Install Nginx
sudo apt install nginx -y
Create a Virtual Host Configuration
Create a new gpt4all.conf virtual host file inside /etc/nginx/sites-available.
sudo nano /etc/nginx/sites-available/gpt4all.conf
Add the configuration block shown below. Replace gpt4all.example.com with your actual domain.
server {
listen 80;
server_name gpt4all.example.com;
location / {
proxy_pass http://127.0.0.1:4891;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Save the file and close your editor. This configuration routes all traffic from your gpt4all.example.com domain to the GPT4All API running on port 4891.
Enable the New Virtual Host
Create a symbolic link to activate the configuration inside /etc/nginx/sites-enabled:
sudo ln -s /etc/nginx/sites-available/gpt4all.conf /etc/nginx/sites-enabled/gpt4all.conf
Remove the default Nginx host file:
sudo rm /etc/nginx/sites-enabled/default
Test the Nginx Configuration
sudo nginx -t
Expected Output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Restart Nginx
sudo systemctl restart nginx
Update Firewall Rules
Allow external access to Nginx:
sudo ufw allow "Nginx Full"
Reload UFW to apply the new rules:
sudo ufw reload
Enable HTTPS with Certbot
Install Certbot and the Nginx plugin to generate a Let’s Encrypt SSL certificate:
sudo apt install -y certbot python3-certbot-nginx
Create an SSL certificate for your domain. Replace the email address and domain as needed:
sudo certbot --nginx -d gpt4all.example.com -m admin@example.com --agree-tos
Restart Nginx to load the new SSL configuration:
sudo systemctl restart nginx
Send API Requests Through the Reverse Proxy
Now that the reverse proxy is active, GPT4All accepts remote API requests routed through your domain. Use the commands below to access the API via HTTPS.
List All Models
curl https://gpt4all.example.com/v1/models
Query a Specific Model
curl https://gpt4all.example.com/v1/models/Qwen2-1.5B-Instruct
Troubleshooting
GPT4All may occasionally encounter issues due to missing system resources or incorrect configuration. Use the tips below to address problems depending on your operating system.
Windows: GPT4All Fails to Launch
Windows Firewall may automatically block the application, preventing it from opening. Use the following steps to allow GPT4All through the firewall:
- Open the Windows Start menu and select Settings.
- Navigate to Privacy & Security → Windows Security → Firewall and Network Protection.
- Click Allow an app through firewall.
- Select Change Settings.
- Click Allow another app, browse to C:\Users\your-user\gpt4all\bin, and select the chat binary.
- Click Add to include GPT4All in the application list.
- Enable both private and public network access and click OK.
Open GPT4All and launch your installed local models.
Linux: GPT4All.desktop Not Loading
GPT4All includes a GPT4All.desktop launcher file. Move it to the ~/.local/share/applications directory to ensure it appears in your application menu.
Minimal Linux Installation Errors
If you see errors like error while loading shared libraries: libxkbcommon.so.0, your system is missing desktop-related libraries required for GPT4All’s graphical interface.
Install a complete desktop environment such as:
sudo apt install ubuntu-desktop -y
Reboot your system and re-run the GPT4All installer.
Model Stuck Loading or Crashes
If a model fails to load or crashes GPT4All, your system may not have sufficient RAM. Check the model’s RAM Required value in the Models tab and choose models that your machine can support.
Conclusion
This guide covered installing GPT4All, running local LLMs, configuring reverse proxy access, enabling HTTPS, and interacting through the built-in API server. GPT4All supports a wide range of open models as well as API-based backends such as OpenAI. All conversations and inference operations remain private on your machine. Visit the official documentation for more advanced instructions and configuration details.


