mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-11-02 14:58:55 +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