一行命令:本地部署LLM大语言模型聊天机器人

简介

简单、开源、无需GPU和网络、隐私安全

今天这篇文章来介绍在本地运行大语言模型的几种方式。都是开源免费的大模型,操作简单,即使你是AI小白也能学会,建议大家尝试一下。你也可以拥有自己的AI助手。

为什么要本地运行大模型

在本地运行大语言模型最大的优势就是可以增强隐私和安全性。

在本地部署模型后,用户的对话数据可以完全留在本地设备上,减少了通过网络传输到远程服务器的隐私泄露风险。

如何本地运行大模型

大模型由于模型体积巨大,例如马斯克开源的xai-org/grok-1模型体积达到了惊人的300G。

图片[1]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

第二,LLM需要大量的依赖库和运行环境,普通用户很难自行配置和管理。

最后,LLM的推理过程对CPU和GPU的计算能力要求很高,普通PC可能无法满足。

那么我们如何才能在本地运行这些大语言模型呢?

已经出现了一些框架来支持开源 LLM 在各种设备上的推理:

一般来说,这些框架会做一些事情:

1.减少原始模型权重的内存占用

2.支持消费类硬件(例如CPU或笔记本电脑GPU)上的推理

因此,Ollama等框架通过模型打包、依赖管理和GPU加速等方式,大大简化了LLM在本地部署的难度,使得普通用户也能够在自己的电脑上运行和探索这些强大的AI模型。

1. Ollama

通过Ollama在你的本地运行LLM是最简的方式

图片[2]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

首先需要下载Ollama:

打开终端,只需要运行ollama run llama2命令,首次运行会先把模型下载到本地

模型下载成功后,就可以输入问题,开始对话了, 是不是非常简单。

图片[3]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

图片[4]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

2. GPT4ALL

图片[5]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

下载GPT4ALL客户端:

免费使用、本地运行 、具有隐私意识的聊天机器人、无需GPU资源、无需网络。GPT4All 是一个生态系统,用于训练和部署在消费级 CPU 上本地运行的强大且定制的大型语言模型。

选择一个开源的模型下载,

图片[6]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

模型下载完成后,就可以开始聊天啦!

图片[7]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

3. Llamafile

llamafiles 将模型权重和专门编译的版本捆绑llama.cpp到一个文件中,该文件可以在大多数计算机上运行任何其他依赖项。还配备了嵌入式推理服务器,提供用于与模型交互的API 。

首先需要下载llava-v1.5-7b-q4.llamafile(3.97 GB)模型文件:

如果是macOS或者Linux。需要授权电脑执行此文件的权限:

chmod +x llava-v1.5-7b-q4.llamafile

如果使用的是 Windows 系统,请通过在末尾添加.exe来重命名该文件。

然后直接运行 llama 文件即可

./llava-v1.5-7b-q4.llamafile -ngl 9999

图片[8]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

浏览器应该自动打开并显示聊天界面。(如果没有,只需打开浏览器并将其指向:8080)

图片[9]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

图片[10]-一行命令:本地部署LLM大语言模型聊天机器人-JieYingAI捷鹰AI

Langchain

这些框架除了可以本地运行一个客户端,也支持API调用,另外可以和Langchain框架整合开发,你可以根据你的需求进行开发。

Ollama

from langchain_community.llms import Ollama

llm = Ollama(model="llama2:13b")
llm.invoke("The first man on the moon was ... think step by step")

GPT4All

# pip install gpt4all
from langchain_community.llms import GPT4All

llm = GPT4All(
    model="/Users/rlm/Desktop/Code/gpt4all/models/nous-hermes-13b.ggmlv3.q4_0.bin"
)

llm.invoke("The first man on the moon was ... Let's think step by step")

Llamafile

from langchain_community.llms.llamafile import Llamafile

llm = Llamafile()

llm.invoke("The first man on the moon was ... Let's think step by step.")

接下来会继续介绍如何构建一个自己的RAG检索增强生成和ChatBot。

最后

我会将AI方面的代码以及笔记全部上传到Github,希望大家多多支持,点点Star:

如果您有什么问题或者经验,欢迎评论区交流。如果您觉得本文对您有帮助,欢迎点赞、评论、分享。您的支持是我创作的最大动力。

Reference

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
Be happy. No worries, just smile.
开心点,别担心,微笑就好