开源语言模型生态系统正在兴起,这些生态系统为个人提供综合资源以创建用于研究和商业目的的语言应用程序。
本文深入研究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)