mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-09-07 19:40:21 +00:00
CLI Improvements (#1021)
* Add gpt4all-bindings/cli/README.md * Unify version information - Was previously split; base one on the other - Add VERSION_INFO as the "source of truth": - Modelled after sys.version_info. - Implemented as a tuple, because it's much easier for (partial) programmatic comparison. - Previous API is kept intact. * Add gpt4all-bindings/cli/developer_notes.md - A few notes on what's what, especially regarding docs * Add gpt4all-bindings/python/docs/gpt4all_cli.md - The CLI user documentation * Bump CLI version to 0.3.5 * Finalise docs & add to index.md - Amend where necessary - Fix typo in gpt4all_cli.md - Mention and add link to CLI doc in index.md * Add docstings to gpt4all-bindings/cli/app.py * Better 'groovy' link & fix typo - Documentation: point to the Hugging Face model card for 'groovy' - Correct typo in app.py
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
"""GPT4All CLI
|
||||
|
||||
The GPT4All CLI is a self-contained script based on the `gpt4all` and `typer` packages. It offers a
|
||||
REPL to communicate with a language model similar to the chat GUI application, but more basic.
|
||||
"""
|
||||
|
||||
import sys
|
||||
import typer
|
||||
|
||||
from collections import namedtuple
|
||||
from typing_extensions import Annotated
|
||||
from gpt4all import GPT4All
|
||||
|
||||
|
||||
MESSAGES = [
|
||||
{"role": "system", "content": "You are a helpful assistant."},
|
||||
{"role": "user", "content": "Hello there."},
|
||||
@@ -17,7 +25,9 @@ SPECIAL_COMMANDS = {
|
||||
"/help": lambda _: print("Special commands: /reset, /exit, /help and /clear"),
|
||||
}
|
||||
|
||||
VERSION = "0.3.4"
|
||||
VersionInfo = namedtuple('VersionInfo', ['major', 'minor', 'micro'])
|
||||
VERSION_INFO = VersionInfo(0, 3, 5)
|
||||
VERSION = '.'.join(map(str, VERSION_INFO)) # convert to string form, like: '1.2.3'
|
||||
|
||||
CLI_START_MESSAGE = f"""
|
||||
|
||||
@@ -47,6 +57,7 @@ def repl(
|
||||
typer.Option("--n-threads", "-t", help="Number of threads to use for chatbot"),
|
||||
] = None,
|
||||
):
|
||||
"""The CLI read-eval-print loop."""
|
||||
gpt4all_instance = GPT4All(model)
|
||||
|
||||
# if threads are passed, set them
|
||||
@@ -103,7 +114,8 @@ def repl(
|
||||
|
||||
@app.command()
|
||||
def version():
|
||||
print("gpt4all-cli v0.3.4")
|
||||
"""The CLI version command."""
|
||||
print(f"gpt4all-cli v{VERSION}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Reference in New Issue
Block a user