本地部署Code Llama大模型结合Text generation Web UI远程运行LLM

news2024/9/20 22:30:11

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 前言
    • 1. 本地部署 Text generation Web UI
    • 2. 安装 CodeLlama 大模型
    • 3. 实现公网远程使用 Code Llama
    • 4. 固定 Text generation Web UI 公网地址

前言

本篇文章介绍如何在本地部署 Text generation Web UI 并搭建 Code Llama 大模型运行,并且搭建 Code Llama 大语言模型,结合 Cpolar 内网穿透实现公网可远程使用 Code Llama。

Code Llama 是一个可以使用文本提示生成代码的大型语言模型 (LLM)。可以使当前开发人员的工作流程更快、更高效,并降低学习编码人员的进入门槛。 Code Llama 有潜力用作生产力和教育工具,帮助程序员编写更强大、文档更齐全。

Text generation Web UI 部署非常简便,不仅在 github 主页上直接提供了一键部署安装包,同时由于是 web UI 形式,直接通过浏览器即可操作,不过本地化部署,无法远程访问,这里我们结合 cpolar 工具实现从安装到最后实现远程访问。

那么接下来先在本地部署一个 Text generation Web UI 界面。

请添加图片描述

1. 本地部署 Text generation Web UI

本篇文章测试环境:Windows10 专业版

首先我们需要在本地部署 Text generation Web UI,是一个基于 Gradio 的 LLM Web UI 开源项目,可以利用其快速搭建部署各种大模型环境。

github 地址:https://github.com/facebookresearch/codellama

点击 download,一键下载文件到本地

15c36f878d9fc541d8f2a74c822f71f.png

解压文件夹,然后打开文件,双击运行 start_windows 进行自动下载

image.png

4b1ebf5eadc046af0fcc3dda1d1e91c.png

1c7fa499d29d94af7e202184634ff69.png

安装过程中会有一次确认,根据自己的显卡和系统选择就可以了,这里我选择 A(英伟达显卡)

f6ebdd0b4fc4750aab5f5ff01a99cee.png

安装完成后,可以看到本地地址是:http://127.0.0.1:7680,Ctrl+c终止它。

2. 安装 CodeLlama 大模型

接下来要下载 CodeLlama 模型,在 Hugging face 上直接下载转换好的模型

Hugging face 格式模型 https://huggingface.co/codellama

选择 Base Model

1d9884ebc63ab334ea567f987d44c03.png

然后依次下载下方红框中的文件

在这里插入图片描述

c0d493d7f8c4bdd4aaa1dc69cbe0f64.png

下载好后,然后选中这九个文件剪切,回到 text-generation-webui 目录中,进入 models 目录中,新建要给文件夹,名为 codellama-7b

5ef8e07ef3e8cd67d684fb9c4f06235.png

把刚才 9 个文件,都粘贴到这个新文件夹中

500b90b3827a9eb26e22699dae6fc89.png

然后回到text-generation-webui 目录中,双击打开 start_windows

72810330989c686b50035e8147f55fc.png

然后打开一个浏览器,输入 localhost:7680,可以看到进入到了 Text generation Web UI 中

514e0b39a94c435f3d6da819829fa72.png

点击上方 model 切换到模型配置页面,在模型下拉列表这里选择 codellama-7b

3e39c2884398d5b3645093be2b16263.png

然后点击 Load 加载模型,接下来可以测试提出问题

在这里插入图片描述

然后把右侧上方的代码使用 vscode 测试一下,是否能得出结果

28fd64bca6241db98a220c4e1377532.png

可以看到,显示出了正确结果,目前我们在本机部署了 Text generation Web UI,并且还添加了 code llama 大模型,如果想团队协作多人使用,或者在异地其他设备使用的话就需要结合 Cpolar 内网穿透实现公网访问,免去了复杂得本地部署过程,只需要一个公网地址直接就可以进入到 Text generation Web UI 中。

接下来教大家如何安装 Cpolar 并且将 Text generation Web UI 实现公网访问。

3. 实现公网远程使用 Code Llama

下面是安装 cpolar 步骤:

Cpolar 官网地址: https://www.cpolar.com

点击进入 cpolar 官网,点击免费使用注册一个账号,并下载最新版本的 Cpolar

在这里插入图片描述

登录成功后,点击下载 Cpolar 到本地并安装(一路默认安装即可)本教程选择下载 Windows 版本。

Cpolar 安装成功后,在浏览器上访问http://localhost:9200,使用 cpolar 账号登录,登录后即可看到 Cpolar web 配置界面,结下来在 web 管理界面配置即可。

在这里插入图片描述

接下来配置一下 text-generation-webui 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

首先创建一个 LobeChat 的公网 http 地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:7860 (本地访问的地址)
  • 域名类型:免费随机域名
  • 地区:选择 China Top

点击创建

a4f507a45aa700bb7cae83d74387d54.png

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是 http 和 https

baedada5cedd7ddcf35b51a222fe656.png

我们接下来使用 http 公网地址访问,可以看到我们访问到了 Text generation Web UI 界面,这样一个公网地址访问就创建好了。

在这里插入图片描述

小结

如果我们需要长期进行团队协作的话,由于刚才创建的是随机的地址,24 小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问 Text generation Web UI,我们可以选择创建一个固定的 http 地址来解决这个问题。

4. 固定 Text generation Web UI 公网地址

由于以上使用 cpolar 所创建的隧道使用的是随机公网地址,24 小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn 已备案】

注意需要将 cpolar 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】

登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,地区选择 china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

32cb74ca916c4cef376991e7af47215.png

保留成功后复制保留的二级子域名地址:

c777135bed1169843e25cb2415a432f.png
登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

798347f47f02fee855343434d72148c.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China VIP

点击更新

在这里插入图片描述

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

f6cbf1d131005884e6efe3bd4f03cad.png

最后,我们使用固定的公网地址访问 Text generation Web UI 界面可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

9637c19466bbfa0379b2d71d6accadb.png

接下来就可以随时随地进行异地公网来使用 Code Llama 大模型了,把固定的公网地址分享给身边的人,方便团队协作,同时也大大提高了工作效率!自己用的话,无需云服务器,还可以实现异地其他设备登录!以上就是如何在本地安装 Code Llama 以及在本地部署 Text generation Web UI 可视化界面的全部过程。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pdf拆分成一页一页,怎么操作?pdf拆分的好用方法

pdf拆分成一页一页,怎么操作?PDF文件的拆分通常涉及到以下几个常见场景和需求:首先,PDF文件可能包含大量的页面,例如数百页的电子书或详尽的技术手册。在某些情况下,用户可能只需要处理其中的几页或者想要单…

揭秘!亚马逊与速卖通自养号测评:必备资源与技术要点

面对测评服务商的种种承诺,其真实性往往难以验证,而在像Facebook这样的社交平台上自行寻找测评资源,也显得相当困难和不切实际。随着产品即将上架,寻找一个可靠的测评服务似乎并不那么容易。因此,对于亚马逊等跨境平台…

运动耳机哪个品牌好用?五款质量一流品牌推荐!

运动耳机无疑是运动爱好者的绝佳伴侣,让每一次挥汗如雨的瞬间都伴随着无与伦比的音乐盛宴与舒适的佩戴感受。特别是对于跑步爱好者而言,一款优秀的运动耳机更是不可或缺的装备。然而,市场上的运动耳机种类繁多,质量也千差万别&…

Mirror学习笔记(五)概念指南

文章目录 一、Authority(权限)二、IDs(身份编号)三、Attributes(属性)四、Time Synchronization(同步时间)五、Data types(数据类型)六、Serialization(序列化)七、Synchronization(同步)八、Communications(通讯)九、GameObject(游戏对象) 顶层脚本API: Mirror是一个高级网络库…

Qt信号与槽-思维导图-学习笔记

Qt 信号与槽 Qt 信号与槽机制 基本概念 信号与槽机制:Qt 编程的基础与创新,使得处理界面组件交互操作更加直观和简单 信号(Signal):在特定情况下被发射的事件,如按钮点击的 clicked() 信号、组合框项变化…

服务器数据恢复—服务器raid常见故障产生原因数据恢复方案

磁盘阵列(raid)是一种将多块物理硬盘整合成一个虚拟存储的技术。raid模块相当于一个存储管理中间层,上层接收并执行操作系统及文件系统的数据读写指令,下层管理数据在各个物理硬盘上的存储及读写。相对于单独的物理硬盘&#xff0…

超算互联网-Stable Diffusion 2.1文生图教程

一、名词简介 1. 超算互联网 超算互联网是一种基于云计算的高性能计算平台,用户可以通过互联网接入超级计算资源。它集成了大量的计算节点,提供强大的计算能力,适用于科学计算、深度学习、人工智能等领域。用户可以利用超算互联网平台运行复…

Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测

Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用Ultralytics框架进行YOLO-NAS目标检测进行预测进行验证 参考文献 前言 由于本人水平有限,难免出现错漏&#xff0c…

旧照片如何修复翻新?这3个方法值得收藏

旧照片如何修复翻新?旧照片的修复翻新是一项既具有挑战性又充满意义的工作。它不仅仅是一个简单的图像处理过程,更是一次穿越时空的旅行,让那些被岁月遗忘的珍贵回忆重新焕发光彩。每一张旧照片都承载着独特的历史和情感价值,通过…

CTF-PWN-web pwn初探

文章目录 参考简介生命周期php扩展模块搭建php扩展模块初始化编写扩展模块编译扩展模块测试 检查调试相关技巧/proc/self/maps泄露php堆PHP 内存管理机制空闲堆块管理示例解释1. 内存分配示例2. 内存释放示例3. tcache poison 攻击 溢出mprotect改栈权限反弹shell 常用phpexp 参…

[Pytorch案例实践008]基于卷积神经网络和通道注意力机制的图像分类实战

一、项目介绍 这是一个蜜蜂、蚂蚁图像分类项目,旨在使用卷积神经网络(CNN)结合SE(Squeeze-and-Excitation)模块进行二分类任务。以下是项目的详细介绍: 项目背景 图像分类是计算机视觉中的一个基本任务&a…

一图看懂数据仓库、数据平台、数据中台、数据湖的内涵和区别!

当大数据平台出现的时候,有人是说这不就是大号的数据仓库吗?当数据中台出现的时候,有人说这不就是数据仓库的进一步包装吗?数据湖的出现更是让很多人陷入困惑。 事实上,数据仓库、数据平台、数据中台、数据湖还是有区别的,不仅…

算法 三

堆 满二叉树:节点满的。 完全二叉树定义:最下层从左往右满,不跳。 下标性质 大根堆:某个节点为根节点,其下的所有结点都小于根节点。 小根堆 重要的变量 heapSize:当前堆的有效节点个数 重要的两个过程…

RCE-无字母数字绕过正则表达式

目录 一、源码展示 二、分析源码 2.1异或运算 2.2或运算 2.3取反运算 一、源码展示 <?php error_reporting(0); highlight_file(__FILE__); $code$_GET[code]; if(preg_match(/[a-z0-9]/i,$code)){die(hacker); } eval($code); 二、分析源码 根据源码&#xff0c;我…

数据治理:国家标准 GB/T 43697-2024《数据安全技术 数据分类分级规则》

按照国家数据分类分级保护有关要求,参照本文件制定本行业本领域的数据分类分级标准规范,重点可明确以下内容: 明确行业数据分类细则,确定数据分类所依据的业务属性,给出按照业务属性划分的数据类别:分析行业领域数据的领域、群体、区域、精度、规模、深度、重要性等分级要素…

设计模式-单一职责模式

DecoratorBridge Decorator 动机 在某些情况下我们可能会 “过度地使用继承来扩展对象的功能”&#xff0c;由于继承为类型引入的静态特质&#xff0c;使得这种扩展方式缺乏灵活性&#xff1b;并且随着子类的增多&#xff08;扩展功能的增多&#xff09;&#xff0c;各种子类的…

基于RK3568+FPGA医用心电监护仪解决方案

医用心电监护仪解决方案 随着我国老龄化速度加快、规模扩大&#xff0c;越来越多民生领域的热点引起民众的关注。庞大的老龄化群体将是一个严峻的问题&#xff0c;各种社会保障政策的实施和各级医疗资源的扩展与升级正在有效化解这一难题。 在这种背景下&#xff0c;医用心电监…

如何构建一个帮助你高效学习编程的完美笔记系统?

在编程学习的过程中&#xff0c;笔记记录是一项至关重要的技能。尤其是在学习Python这样一门功能强大、广泛应用的编程语言时&#xff0c;建立一个高效的笔记系统不仅能帮助你更好地掌握知识&#xff0c;还能提高你的编程效率。那么&#xff0c;如何构建一个帮助你高效学习Pyth…

Java面试八股之消息队列有哪些协议?各种协议有哪些具体实现

消息队列有哪些协议&#xff1f;各种协议有哪些具体实现 消息队列协议是指在消息队列系统中&#xff0c;用于消息的发送、接收和管理的一套通信规则。不同的协议有着不同的特性和应用场景&#xff0c;以下是一些常见的消息队列协议及其具体实现&#xff1a; AMQP (Advanced M…

【leetcode】杨辉三角 、移除元素(Java语言描述)

杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]] …