本文深入研究GPT4ALL,它通过提供全面的搭建模块,使任何人都能开发类似ChatGPT的聊天机器人,从而超越了特定的使用案例。
什么是GPT4ALL项目?
GPT4ALL可以在使用最先进的开源大型语言模型时提供所需一切的支持。它可以访问开源模型和数据集,使用提供的代码训练和运行它们,使用Web界面或桌面应用程序与它们交互,连接到Langchain后端进行分布式计算,并使用Python API进行轻松集成。
开发人员最近推出了Apache-2许可的GPT4All-J聊天机器人,该机器人在大量精心策划的助手交互语料库上进行了训练,包括单词问题、多轮对话、代码、诗歌、歌曲和故事。为了使其更易于访问,他们还发布了Python bindings和一个聊天UI,使几乎所有人都可以在CPU上运行该模型。
可以通过在桌面上安装本地的聊天客户端来自己尝试。
- Mac/OSX(https://gpt4all.io/installers/gpt4all-installer-darwin.dmg)
- Windows(https://gpt4all.io/installers/gpt4all-installer-win64.exe)
- Ubuntu(https://gpt4all.io/installers/gpt4all-installer-linux.run)
之后,运行GPT4ALL程序并下载自己选择的模型。也可以在这里(https://github.com/nomic-ai/gpt4all-chat#manual-download-of-models)手动下载模型,并将其安装在GUI中模型下载对话框所指示的位置。
在笔记本电脑上使用GPT4ALL的体验比较好,收到了快速和准确的回应。此外,GPT4ALL对用户很友好,即使是非技术人员也可以使用。
GPT4ALL Python客户端
GPT4ALL有Python、TypeScript、Web Chat interface和Langchain后端。
在本节中,我们将研究使用nomic-ai/pygpt4all访问模型的Python API。
- 使用PIP安装Python GPT4ALL库。
pip install pygpt4all
- 从http://gpt4all.io/models/ggml-gpt4all-l13b-snoozy.bin下载GPT4All模型,也可以在这里(https://github.com/nomic-ai/gpt4all-chat#manual-download-of-models)浏览其他模型。
- 创建文本回调函数,加载模型,并向mode.generate()函数提供一个提示,以生成文本。查阅库的文档(https://nomic-ai.github.io/pygpt4all/)以了解更多信息。
from pygpt4all.models.gpt4all import GPT4All
def new_text_callback(text):
print(text, end="")
model = GPT4All("./models/ggml-gpt4all-l13b-snoozy.bin")
model.generate("Once upon a time, ", n_predict=55, new_text_callback=new_text_callback)
此外,可以使用转换器下载和运行推理。只需提供模型名称和版本。在本文的示例中,正在访问最新和改进的v1.3-groovy模型。
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"nomic-ai/gpt4all-j", revisinotallow="v1.3-groovy"
)
入门指南
nomic-ai/gpt4all资源库附带有用于训练和推理的源代码、模型权重、数据集和文档。可以从自己尝试一些模型开始,然后尝试用Python客户端或LangChain将其集成。
GPT4ALL为我们提供了一个CPU量化的GPT4All模型检查点。要访问它,我们必须:
- 从Direct Link或[Torrent-Magnet]下载gpt4all-lora-quantized.bin文件。
- 克隆这个资源库,并将下载的bin文件移到chat文件夹。
- 运行适当的命令来访问该模型:
- M1 Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-m1
Linux:cd chat;./gpt4all-lora-quantized-linux-x86
- Windows(PowerShell):cd chat;./gpt4all-lora-quantized-win64.exe
- Intel Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-intel
也可以前往Hugging Face Spaces,并试用Gpt4all的演示。
图片来自Gpt4all
资源:
- 技术报告:GPT4All-J: An Apache-2 Licensed Assistant-Style Chatbot(https://static.nomic.ai/gpt4all/2023_GPT4All-J_Technical_Report_2.pdf)
- GitHub:nomic-ai/gpt4all(https://github.com/nomic-ai/gpt4all)
- Python API:nomic-ai/pygpt4all(https://github.com/nomic-ai/pygpt4all)
- 模型:nomic-ai/gpt4all-j(https://huggingface.co/nomic-ai/gpt4all-j)
- 数据集:nomic-ai/gpt4all-j-prompt-generations(https://huggingface.co/datasets/nomic-ai/gpt4all-j-prompt-generations)
- Hugging Face演示:Gpt4all(https://huggingface.co/spaces/Monster/GPT4ALL)
- ChatUI:nomic-ai/gpt4all-chat: gpt4all-j chat(https://github.com/nomic-ai/gpt4all-chat)
- GPT4ALL后端:GPT4ALL - ????LangChain 0.0.154(https://python.langchain.com/en/latest/modules/models/llms/integrations/gpt4all.html)