前言
本文将详细介绍在windows如何利用llamafile结合Cpolar内网穿透技术,实现远程访问本地大语言模型的完整流程
llamafile 是一种AI大模型部署(或者说运行)的方案, 与其他方案相比,llamafile的独特之处在于它可以将模型和运行环境打包成一个独立的可执行文件,从而简化了部署流程。用户只需下载并执行该文件,无需安装运行环境或依赖库,这大大提高了使用大型语言模型的便捷性。这种创新方案有助于降低使用门槛,且一个文件能同时支持 macOS, Windows, Linux, FreeBSD, OpenBSD, 和 NetBSD系统,使更多人能够轻松部署和使用大型语言模型。
Cpolar,作为一种先进的内网穿透工具,凭借其独特的反向代理技术和强大的功能特性,为用户提供了一种全新的远程访问解决方案。通过Cpolar,用户可以将本地计算机的服务安全地暴露到公网上,使得外部网络能够轻松访问到本地部署的大语言模型。这种方式不仅简化了远程访问的流程,还大大提高了访问的安全性和稳定性。
因此,我们将从llamafile的安装与配置、大语言模型的部署与测试、Cpolar的安装与设置以及远程访问的实现等方面进行详细阐述,旨在帮助用户快速掌握这一技术,实现高效、便捷的远程大语言模型访问体验。
1. 下载llamafile
windows 点击下面下载地址,可以下载llamafile,下载后是一个压缩包,需要解压
https://www.modelscope.cn/api/v1/models/bingal/llamafile-models/repo?Revision=master&FilePath=llamafile-0.6.2.win.zip
下载后,解压压缩文件,可以看到一个llamafile.exe文件,这样就下载成功了,不需要去点击这个文件,下面我们直接下载我们的大语言模型
2. 下载大语言模型
进入这个链接::https://www.modelscope.cn/models/bingal/llamafile-models/,可以下载相应的大语言模型,本例下载的是第一个模型,同时是演示超过4G的模型如何在windows 结合llamafile去运行,如果低于4G的模型,可以有更简单的运行方式,具体可以看一下该链接里的介绍方法
下载好后,我们把下载的大语言模型和上面我们下载的llamafile.exe 文件放在一起,然后就可以运行了.下面开始运行,运行也是非常的简单
3. 运行大语言模型
在当前目录下面,点击左上角文件,直接打开powershell 命令窗口
然后执行下面命令,其中: .\llamafile-0.6.2.exe
表示运行llamafile, .\Qwen-7B-Chat-q4_0.llamafile
表示运行自己下载的大语言模型, -ngl 999
表示调用GPU显卡运行,后面则是web 界面访问端口,8080 可以自己修改,后面-host 默认即可
.\llamafile-0.6.2.exe -m .\Qwen-7B-Chat-q4_0.llamafile -ngl 9999 --port 8080 --host 0.0.0.0
执行后,我们可以看到一些信息,没有报错表示运行成功,会默认跳转到浏览器打开对应的界面,如果没有跳转,可以手动访问一下
打开浏览器,我们可以看到 llama 的web ui 界面,这样表示启动就成功了
在最下面的输入框输入即可对话,这样就成功运行了一个大语言模型,不需要安装其他一下各种依赖配置,简单几步就运行成功了,如果我们需要换成其他的模型,同样按照上面运行的方式运行即可,本地成功后,下面我们安装cpolar 内网穿透,实现远程也可以访问,方便在外面的时候也可以使用我们大语言模型
4. 安装Cpolar工具
本例介绍的是windows系统,所以cpolar安装在windows上,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.
Cpolar下载界面:https://www.cpolar.com/download
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!
5. 配置远程访问地址
在管理界面点击左侧仪表盘的隧道管理——创建隧道,创建一个llamafile web ui 界面的公网http地址隧道!
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:8080 (上面运行模型的时候指定的端口)
- 域名类型:免费选择随机域名
- 地区:选择China vip
点击创建
(点击一次创建按钮即可,不要重复点击!)
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问
6. 远程访问对话界面
在浏览器输入上面我们创建的Cpolar 公网域名,可以看到访问成功了
同样在最下面输入对话信息即可完成对话,因为我们是指定使用GPU运行,其响应速度更快,模型对话回复时间更短,这样,一个远程访问的公网地址就设置好了.
小结
为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:7ff0466b.r12.vip.cpolar.cn)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。
我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:llamatest.cpolar.cn),这样更显正式,便于流交协作。
7. 固定远程访问地址
由于以上使用Cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
点击进入和登录Cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留
保留成功后复制保留成功的二级子域名的名称
返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称
再次打开浏览器,输入我们固定的cpolar公网地址,可以看到同样访问成功了,这样一个固定的地址就设置好了,不用再担心地址会变化!