GPT4All Updated Docs and FAQ (#632)

* working on docs

* more doc organization

* faq

* some reformatting
This commit is contained in:
Richard Guo
2023-05-18 16:07:57 -04:00
committed by GitHub
parent 94f4018890
commit 213e033540
4 changed files with 81 additions and 27 deletions

View File

@@ -1,32 +1,15 @@
# GPT4All with Python
# GPT4All
In this package, we introduce Python bindings built around GPT4All's C/C++ model backends.
GTP4All is an ecosystem to train and deploy **powerful** and **customized** large language models that run locally on consumer grade CPUs.
## Quickstart
```bash
pip install gpt4all
```
## Models
In Python, run the following commands to retrieve a GPT4All model and generate a response
to a prompt.
A GPT4All model is a 3GB - 8GB file that you can download and plug into the GPT4All open-source ecosystem software. **Nomic AI** supports and maintains this software ecosystem to enforce quality and security alongside spearheading the effort to allow any person or enterprise to easily train and deploy their own on-edge large language models.
**Download Note:**
By default, models are stored in `~/.cache/gpt4all/` (you can change this with `model_path`). If the file already exists, model download will be skipped.
```python
import gpt4all
gptj = gpt4all.GPT4All("ggml-gpt4all-j-v1.3-groovy")
messages = [{"role": "user", "content": "Name 3 colors"}]
gptj.chat_completion(messages)
```
## Give it a try!
[Google Colab Tutorial](https://colab.research.google.com/drive/1QRFHV5lj1Kb7_tGZZGZ-E6BfX6izpeMI?usp=sharing)
See FAQ for frequently asked questions about GPT4All model backends.
## Best Practices
GPT4All models are designed to run locally on your own CPU. Large prompts may require longer computation time and
result in worse performance. Giving an instruction to the model will typically produce the best results.
There are two methods to interface with the underlying language model, `chat_completion()` and `generate()`. Chat completion formats a user-provided message dictionary into a prompt template (see API documentation for more details and options). This will usually produce much better results and is the approach we recommend. You may also prompt the model with `generate()` which will just pass the raw input string to the model.