前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 NVIDIA Jetson 创建微软Phi3 聊天机器人

用 NVIDIA Jetson 创建微软Phi3 聊天机器人

原创
作者头像
GPUS Lady
发布2024-05-06 12:39:46
1370
发布2024-05-06 12:39:46
举报
文章被收录于专栏:AIOTAIOT

本地部署小语言模型趋势

大部分人在面对大语言模型的最大困扰,就是缺乏足够的计算资源来使用这些功能强大的AI应用。

微软AI研究院于2024年4月发表《Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone》的论文,同时开源一款十分优异的Phi3小语言模型(SLM),表示能在手机上执行。

于是我们便尝试配置较低的 NVIDIA Jetson 边缘智能设备上,透过 Ollama 模型管理器与Open webui 互动式界面,在只有 6核/1.4GHz主频的 ARM处理器与8G显存的设备上,成功地运行起 Phi3:8b 模型,并且搭建起多人交互使用的智能对话机器人(AI ChatBot),得到下面视频的效果。

视频内的主要操作如下:

  • 让对话机器人做自我介绍
  • 询问关于中国人口数的信息
  • 写一段能画出正五边形的 Python 代码
  • 阅读一篇网上的文章,并作出500字中文总结
  • 解答鸡兔同笼的问题

整个过程都相当流畅,没有卡顿。

如果您对视频的效果感到满意,那么下面就可以按照我们提供的安装教程,为自己搭建一个专属的对话机器人。

模型下载与管理

这里使用 ollama 来作为语言模型的管理器,负责下载与管理模型的存储。由于ollama也具备终端交谈的功能,也能作为本机

安装Ollama模型管理

这部分的安装非常简单,

进入 Ollama官网下载区 (如下图)

点击中间企鹅图标选择Linux平台,然后点击右下角“复制”图标,复制这行执行代码

将指令粘贴在 Jetson Xavier NX 的指令终端里执行,如下图:

这样就安装好了,现在 ollama 也以服务的方式在后台启动。

用Ollama下载模型

我们可以用 Ollama 来下载大语言模型,有以下三个好处:

  • 简单快速:只要执行 ollama pull <模型名:版本> 就能下载
  • 支持断点续传
  • 不需要特特殊上网

当然这些好处只限于Ollama所支持的模型,可以在点击下图的 Models 进入支持列表

还好微软 Phi3、Meta Llama3、Google Gemma、Mistral以及国内的qwen(千问)等知名模型都在列表之内。

至于支持名单以外的模型,可以从HuggingFace或其他地方下载之后,再经过 ollama 模型转换指令去处理,不过这里不说明这部分。

现在执行以下代码来下载 phi3 模型。

代码语言:javascript
复制
ollama  pull  phi3  (下载 latest 版本)

由于在 ollama 支持的 phi3 模型的最新(latest)版本为 3.8b,如果输入 ollama pull phi3 就会下载最新版本。

而 Llama3 模型则支持 8b 与 70b 两个版本,预设为 8b 版本,如果执行 ollma pull llama3 会下载 8b 模型,如果想要下载70b模型,就要执行

代码语言:javascript
复制
ollama  pull  llama3:70b

检查已下载模型

任何时候都能执行以下指令,就能显示已下载模型的名单

代码语言:javascript
复制
ollama  list

执行已下载模型

请用 ollama run <模型名:版本>指令,在本机上运行模型。例如运行phi3模型:

代码语言:javascript
复制
ollama  run  phi3

现在就可以在 Jetson Xavier NX 的文字终端上与 Phi3 模型进行对话,但到目前为止只能提供一对一的对话,实用性还是不够。如果想要用1台设备为多个用户提供同时对话功能,就需要借助Open WebUI 工具的协助。

安装Open Wehui界面

这个应用对 x86 平台提供比较完整的 docker 安装镜像,但是没有提供对Jetson ARM 平台的支持,因此这部分需要使用手动安装的方式。完整的操作可以到官网的 ” How to Install Without Docker “去参考。

由于手动安装时要求 python >= 3.11,而 Jetson 不管时 Jetpack 5.12/5.13 或 6.0DP 版本,都不符合这项要求,因此要使用 MiniConda 来解决 python 版本问题。

下载与安装MiniConda

关于 MiniConda 的安装,网上有非常多的教程,这里不多做赘述。主要重点是要下载支持 aarch 架构的版本,这里推荐支持python 3.11的版本(点击连接),或者在 Jetson 设备上执行以下指令:

代码语言:javascript
复制
wget https://repo.anaconda.com/miniconda/Miniconda3-py311_24.3.0-0-Linux-aarch64.sh

接下去的安装与创建环境就请自行操作。

手动安装Open Wehui

接下去就按照安装步骤去执行就可以,如下:

代码语言:javascript
复制
# 下载代码仓git clone https://github.com/open-webui/open-webui.gitcd open-webui/
# 复制所需要的 env 文件cp  -RPp  .env.example  .env
#  使用 node 创建前端应用sudo apt update  &&  sudo apt install npm -ynpm i  &&  npm run build
#  创建后端服务cd ./backendpip?install?-r?requirements.txt?-U

这样就安装好 Open Webui 互动式操作环境,现在就可以准备启动聊天机器人了。

启动聊天机器人

完成以上工作之后,就可以启动聊天机器人。提醒大家在启动之前,需要检查以下环境:

Python版本:如果重新启动设备之后,记得要先 conda activate <虚拟环境> ,然后执行 python -V确认版本

ollama服务是否启动:先执行 ollama list 是否能正常工作?如果不行的话,请执行 ollama serve 启动服务,然后另外开个终端再执行 ollama list

一切就绪之后,就可以执行以下指令来启动 Open Webui 应用:

代码语言:javascript
复制
cd   <路径>/open-webui/backendbash start.sh

执行到出现以下画面,表示正常启动。

接下去就可以在远端设备(例如笔记本电脑)上,在浏览器输入<IP_OF_JETSON>:8080 进入以下操作画面。

由于 OpenWebui 具有管理功能,允许多个用户上线使用,因此第一次登录时,需要注册一个作为管理员的用户,您可以提供任意的邮箱与密码,系统并不会检查正确性,只是为了本地管理用途。

进入主画面后(如下图),可以点击右上角的设置去修改显示的语系,中间 ” Seletc a model " 下拉框会提供由 Ollama 所下载管理的模型,请自行选择就行。

最后附带一点,Open Webui有自己的大模型执行体系,并不需要现在 Jetson 上用 ollama run 先执行,如此才能做到在 Open Webui 中自由选择要执行的大大语言模型。

现在,您就可以像开头的视频那样,透过内网与 Jetson 设备所搭建的语言模型聊天机器人,开始进行交谈了。【完】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对话机器人
对话机器人(Conversation Robot,ICR),是基于人工智能技术,面向企业场景的 AI 服务,可应用于智能客服、服务咨询、业务办理等场景。本产品旨在帮助企业快速构建,满足自身业务诉求的对话机器人,从而减少企业人力成本或解决服务不及时问题。用户可通过对话机器人用户端引擎,实现高准确率的对话服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com