Skip to main content

Command-line interface using GPT4ALL bindings

Project description

A simple GNU Readline-based application for interaction with chat-oriented AI models using GPT4All Python bindings.

Contents

Install

The following installation options are available:

Pip

$ pip install git+https://github.com/sergei-mironov/gpt4all-cli.git

Note: pip install gpt4all-cli might also work, but the git+https method would bring the most recent version.

Nix

$ git clone --depth=1 https://github.com/sergei-mironov/gpt4all-cli && cd gpt4all-cli
# Optionally, change the 'nixpkgs' input of the flake.nix to a more suitable
$ nix profile install ".#python-gpt4all-cli"

Usage

usage: gpt4all-cli [-h] [--model-dir MODEL_DIR] [--model MODEL]
                   [--num-threads NUM_THREADS] [--device DEVICE]
                   [--readline-key-send READLINE_KEY_SEND]
                   [--readline-prompt READLINE_PROMPT] [--revision]

Command-line arguments

options:
  -h, --help            show this help message and exit
  --model-dir MODEL_DIR
                        Model directory to prepend to model file names
  --model MODEL, -m MODEL
                        Model to use for chatbot
  --num-threads NUM_THREADS, -t NUM_THREADS
                        Number of threads to use for chatbot
  --device DEVICE, -d DEVICE
                        Device to use for chatbot, e.g. gpu, amd, nvidia,
                        intel. Defaults to CPU.
  --readline-key-send READLINE_KEY_SEND
                        Terminal code to treat as Ctrl+Enter (default: \C-k)
  --readline-prompt READLINE_PROMPT
                        Input prompt (default: >>>)
  --revision            Print the revision

The console accepts language defined by the following grammar:

start: (command | escape | text)? (command | escape | text)*
escape.3: /\\./
command.2: /\/reset|\/ask|\/help|\/exit/ | \
           /\/model/ / +/ string | \
           /\/nthreads/ / +/ number | \
           /\/echo/ | /\/echo/ / /
string: /"[^\"]+"/ | /""/
number: /[1-9][0-9]*/
text: /(.(?!\/|\\))*./s

Example session

$ gpt4all-cli
Type /help or a question followed by the /ask command (or by pressing `C-k` key).
>>> /model "~/.local/share/nomic.ai/GPT4All/Meta-Llama-3-8B-Instruct.Q4_0.gguf"
>>> Hi!
>>> /ask
Hello! I'm happy to help you. What's on your mind?^C
>>> What's your name?
>>> /ask
I don't really have a personal name, but you can call me "Assistant"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpt4all_cli-1.0.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

gpt4all_cli-1.0.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file gpt4all_cli-1.0.3.tar.gz.

File metadata

  • Download URL: gpt4all_cli-1.0.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for gpt4all_cli-1.0.3.tar.gz
Algorithm Hash digest
SHA256 4607b621e7255be09145a8048c43c77623ccc127b5ab7819db04135b9b068d05
MD5 751e91d708c74311d6e48aae8f12382a
BLAKE2b-256 8acb0b7d294341b32b8898c89e29625a29303c3c29e087e89b348e4978f39a89

See more details on using hashes here.

File details

Details for the file gpt4all_cli-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: gpt4all_cli-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for gpt4all_cli-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1078ae624980d8e9baba7508be773341f9919b40d9227d0e7657b20bf22561fd
MD5 46f9b4f49e131ca37416168c0b394c4b
BLAKE2b-256 72d4b290a3e4b178392d9cc57aaa04982e5ff0f67d5134ffaeeb42b3f7e034e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page