人工智能AI合集:Ollama部署对话语言大模型-网页访问

news2024/11/16 0:43:01

目录

🍅点击这里查看所有博文

  随着人工智能技术的飞速发展,AI已经不再是遥不可及的高科技概念,而是逐渐融入到我们的日常生活中。从智能手机的语音助手到家庭中的智能音箱,再到工业自动化和医疗诊断,AI的应用无处不在。然而,要想真正掌握并应用这些技术,不仅需要理论知识,更需要实践操作。这正是嵌入式AI学习的核心所在。

  嵌入式系统,作为现代电子设备的核心,其与AI技术的结合,为智能设备的开发提供了无限可能。从简单的自动化任务到复杂的图像和语音识别,嵌入式AI开发板成为了学习这些技术的理想平台。它们不仅易于操作,而且功能强大,能够满足从初学者到专业人士的各种需求。

  对于大多数人来说,日常生活中的无时无刻都能接触的到AI应用。比如平时最常见的停车场的车牌识别、上班打卡机的人脸识别、能自由对话的语音助手等等。它们都有一个共同的特点,就是体积小巧且功能强大。这些应用的落地都离不开嵌入式AI。

  随着AI技术的不断发展和普及,我们的生活将变得更加智能、便捷和高效。未来,AI将继续深入到更多领域,为我们的生活带来更多惊喜和便利。无论是智能家居智能交通智能医疗还是智能制造,AI都将扮演着重要的角色,推动着科技的不断进步和社会的发展。

  因此,学习和掌握AI技术变得愈发重要。只有不断学习、实践和创新,我们才能更好地应对未来的挑战和机遇。

  本系列博客所述资料均来自互联网资料,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的AI事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

文章目录

  • 目录
  • 安装ollama
  • 配置局域网访问
  • 部署通义千问
  • 安装ollama-webui

安装ollama

  安装ollama,该工具是一个大模型聚合平台。可以方便管理各种语言模型。运行curl -fsSL https://ollama.com/install.sh | sh执行安装步骤,输入密码Mind@123


(base) HwHiAiUser@orangepiaipro:~$ curl -fsSL https://ollama.com/install.sh | sh
>>> Downloading ollama...
######################################################################## 100.0%##O#-#                                                                        
>>> Installing ollama to /usr/local/bin...
[sudo] password for HwHiAiUser: 
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

  提示开发板没有GPU显卡(WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.)运行的性能可能较为低下,不知道具体是啥原因暂且忽略吧。

  输入ollama --version验证是否安装成功,得到结果ollama version is 0.2.7说明一切正常。

(base) HwHiAiUser@orangepiaipro:~/Downloads/byte-unixbench/UnixBench$ ollama --version
ollama version is 0.2.7

配置局域网访问

  设置Ollama配置支持局域网访问,修改/etc/systemd/system/ollama.service文件,在Environment下面再添加一行Environment="OLLAMA_HOST=0.0.0.0:11434"保存即可。

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/home/HwHiAiUser/.local/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit/latest/compiler/ccec_compiler/bin:/usr/local/miniconda3/bin:/usr/local/miniconda3/condabin:/usr/local/Ascend/ascend-toolkit/laster/bin:/usr/local/Ascend/ascend-toolkit/laster/compiler/ccec_compiler/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin "
Environment="OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target

  运行sudo systemctl daemon-reload重载systemctl,紧接着运行sudo service ollama restart重启服务,最后通过curl http://192.168.101.8:11434测试,若返回Ollama is running则代表设置成功。

(base) HwHiAiUser@orangepiaipro:~$ sudo systemctl daemon-reload
(base) HwHiAiUser@orangepiaipro:~$ sudo service ollama restart
(base) HwHiAiUser@orangepiaipro:~$ curl http://192.168.101.8:11434
Ollama is running(base) 

部署通义千问

  根据ollama官方文档的描述,最少要有8G的内存才能使用7B的语言模型。

ModelParametersSizeDownload
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Phi 3 Mini3.8B2.3GBollama run phi3
Phi 3 Medium14B7.9GBollama run phi3:medium
Gemma 29B5.5GBollama run gemma2
Gemma 227B16GBollama run gemma2:27b
Mistral7B4.1GBollama run mistral
Moondream 21.4B829MBollama run moondream
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run llava
Solar10.7B6.1GBollama run solar

Note: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.

  而我们的开发板一共就搭载了8G内存,出掉系统的开销,剩下可以用的也就6.3G。

(base) HwHiAiUser@orangepiaipro:~/Downloads/byte-unixbench/UnixBench$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7.4Gi       859Mi       2.9Gi        49Mi       3.6Gi       6.3Gi
Swap:             0B          0B          0B

  从表格来看,可选项只有Moondream 2Phi 3 Mini。实际上官方的仓库内有很多的语言模型,我们只要找一个小于8B的就行。测试选用阿里系发布的通义千问大模型部署。运行命令ollama run qwen:0.5b安装通义千问0.5B。这个安装就比较费时了,在等待安装的过程中可以再开一个终端,继续下一步跳过等待的过程。

(base) HwHiAiUser@orangepiaipro:~$ ollama run qwen:0.5b
pulling manifest 
pulling fad2a06e4cc7... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 394 MB                         
pulling 41c2cf8c272f... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 7.3 KB                         
pulling 1da0581fd4ce... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏  130 B                         
pulling f02dd72bb242... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏   59 B                         
pulling ea0a531a015b... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏  485 B                         
verifying sha256 digest 
writing manifest 
removing any unused layers 
success

  部署完成后控制台是可以直接访问的,只不过控制台还是显得不够高端只能自己用,其他人想要使用该怎么办呢。

(base) HwHiAiUser@orangepiaipro:~$ ollama run qwen:0.5b
>>> 你好
您好!有什么可以帮助您的吗?

>>> 你是谁
我是来自阿里云的大规模语言模型,我叫通义千问。如果您有任何问题或需要帮助,请随时告诉我,我会尽力提供支持和解答。

>>>

安装ollama-webui

  安装ollama的前端交互界面,这里就用到了我们刚刚开发环境中安装的docker。运行下面的命令安装open-webui的容器。

(base) HwHiAiUser@orangepiaipro:~$ docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Unable to find image 'ghcr.io/open-webui/open-webui:main' locally
main: Pulling from open-webui/open-webui
ea235d1ccf77: Pull complete 
26f13e32d8cd: Pull complete 
e569c3fca503: Pull complete 
8cae6dc67aef: Pull complete 
153915d34d13: Pull complete 
761886d9fb03: Pull complete 
4f4fb700ef54: Pull complete 
004754e7f3d1: Pull complete 
4495941f96a2: Pull complete 
2bb7e3b0ae41: Downloading [=======>                                           ]  40.45MB/288.1MB
abd18b7d3c36: Download complete 
49800a7fbb5c: Downloading [==>                                                ]  32.38MB/727.9MB
25281b23f845: Downloading [==============================>                    ]  32.91MB/54.66MB
67196eb5d079: Waiting 
85f88c980917: Waiting 
48fbf4ab6c66: Waiting 

  安装完成后通过http://{ip}:{port}访问open-webui,我们这边使用的访问地址就是http://192.168.101.8:3000,第一次登录需要注册账户。

输入图片说明

  注册完成会自动登录,登录进去后,必须找到管理员面板。

输入图片说明

  点击设置,先修改外部连接的Ollama API的地址。我这边修改为http://192.168.101.8:11434,点击后面的刷新按钮,确定弹窗提示已验证服务器连接。随后建议关掉OpenAI API的访问按钮,最后点击保存。

输入图片说明

  如果连接的Ollama API这一步报错WebUI could not connect to Ollama呢,这大概率是因为没有正确配置局域网访问导致的。

输入图片说明

  可以做如下测试,在开发板中执行curl http://192.168.101.8:11434会报错Connection refusedsudo lsof -i :11434去查看端口状态显示localhost,说明Ollama被配置为只能使用localhost去访问。

(base) HwHiAiUser@orangepiaipro:~$ curl http://192.168.101.8:11434
curl: (7) Failed to connect to 192.168.101.8 port 11434 after 0 ms: Connection refused
(base) HwHiAiUser@orangepiaipro:~$ sudo lsof -i :11434
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ollama  10749 ollama    3u  IPv4  53543      0t0  TCP localhost:11434 (LISTEN)
(base) HwHiAiUser@orangepiaipro:~$ curl http://localhost:11434/
Ollama is running(base)

  由于我们这边Ollama被安装在了宿主机中,Ollama-webui被安装到docker中,两者之间的网络环境是不一样的,无法在docker中通过localhost:11434访问到Ollama。这边我们需要修改一下配置文件,参考上面安装Ollama提到的配置局域网访问即可。

  回到主页,选择刚刚安装的千问0.5B,就可以快乐的玩耍啦。

输入图片说明

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

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

相关文章

gitee设置ssh公钥密码避免频繁密码验证

gitee中可以创建私有项目,但是在clone或者push都需要输入密码, 比较繁琐。 公钥则可以解决该问题,将私钥放在本地,公钥放在gitee上,当对项目进行操作时带有的私钥会在gitee和公钥进行验证,避免了手动输入密…

港科夜闻 | 香港科大与阿里巴巴合作,计划成立大数据与人工智能联合实验室

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与阿里巴巴合作,计划成立大数据与人工智能联合实验室。香港科大7月19日与阿里巴巴集团签署合作备忘录,计划成立「香港科技大学–阿里巴巴大数据与人工智能联合实验室」,就生成…

STM32-寄存器DMA配置指南

配置步骤 在STM32F0xx中文参考手册中的DMA部分在开头给出了配置步骤 每个通道都可以在外设寄存器固定地址和存储器地址之间执行 DMA 传输。DMA 传输的数据 量是可编程的,最大达到 65535。每次传输之后相应的计数寄存器都做一次递减操作,直到 计数为&am…

前后端分离的开发模式+YAPI接口文档

博客主页:音符犹如代码系列专栏:JavaWeb关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 早期的开发模式:前后端混合开发 在这种模式下开发下,…

数组和链表的区别

简介 从定义上讲: 数组和链表都是数据的集合。 1.数组中每个元素都是连续的,通过下标进行访问,当我们获取到下标后,就可以随意访问数组中的值 2.链表中的元素则是不连续的,必须获得链表中某个元素后,才能顺序访问该元…

便携气象站通常用在哪些地方?

推荐型号:TH-PQX5】便携气象站是一种设计轻便、易于携带的气象监测设备,主要用于提供实时气象数据,支持多种领域的应用,包括科研、农业生产、户外活动和应急气象监测等。以下是根据提供的参考资料对便携气象站的详细分析&#xff…

基于k8s快速搭建docker镜像服务的demo

基于k8s快速搭建docker镜像服务的demo 一、环境准备 如标题,你需要环境中有和2个平台,并且服务器上也已经安装好docker服务 接下来我来构建一个docker镜像,然后使用harbork8s来快速部署服务demo 二、部署概述 使用docker构建镜像&#x…

FPGA开发——呼吸灯的设计

一、原理 呼吸灯的原理主要基于‌PWM(脉冲宽度调制)技术,通过控制LED灯的占空比来实现亮度的逐渐变化。这种技术通过调整PWM信号的占空比,即高电平在一个周期内所占的比例,来控制LED灯的亮度。当占空比从0%逐渐变化到1…

springboot项目从jdk8升级为jdk17过程记录

背景:公司有升级项目jdk的规划,计划从jdk8升级到jdk11 开始 首先配置本地的java_home 参考文档:Mac环境下切换JDK版本及不同的maven-CSDN博客 将pom.xml中jdk1.8相关的版本全部改为jdk17,主要是maven编译插件之类的&#xff0c…

使用 MongoDB 向量搜索和 OpenAI 进行反洗钱和预防欺诈

使用 MongoDB Vector Search 和 OpenAI 进行反洗钱和预防欺诈 欺诈和反洗钱 (AML) 是企业和消费者的主要担忧,影响金融服务和电子商务等行业。解决这些问题的传统方法包括静态、基于规则的系统和预测人工智能 (AI) 方法,这些方法虽然有效,但也…

数据结构--单链表代码(王道书上代码手敲!!!)c++

目录 1.带头结点的初始化以及检查单链表是否为空 2.不带头结点的单链表初始化以及表是否为空检查 3.带头结点按位序插入 4.不带头结点的按位序插入 5.带头结点的后插,前插,按位删除,删除固定节点操作 6 不带头结点的后插,前…

算法 —— 暴力枚举

目录 循环枚举 P2241 统计方形(数据加强版) P2089 烤鸡 P1618 三连击(升级版) 子集枚举 P1036 [NOIP2002 普及组] 选数 P1157 组合的输出 排列枚举 P1706 全排列问题 P1088 [NOIP2004 普及组] 火星人 循环枚举 顾名思…

C语言进阶——一文带你深入了解“C语言关键字”(中篇)

本篇文章属于C语言进阶篇的“C语言关键字”,旨在分享我对C语言关键字的深度学习和了解。同时带领大家深入浅出的走进C语言进阶知识——关键字篇! 目录 一、变量的命名规则 二、标识符的命名规则 一、变量的命名规则 1、命名应当直观且可以拼读&#x…

Linux网络:传输层协议TCP(一)

目录 一、TCP协议的定义 二、确认应答机制ACK 三、序号、确认序号 四、超时重传机制 一、TCP协议的定义 TCP 全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传 输进行一个详细的控制; TCP 协议段格式 • 源/目的端口号: 表示数据…

基于微信小程序+SpringBoot+Vue的美食推荐平台(带1w+文档)

基于微信小程序SpringBootVue的美食推荐平台(带1w文档) 基于微信小程序SpringBootVue的流浪动物救助(带1w文档) 当微信小程序占领了多半江山,目前不分年龄和种族,使用频率最高,覆盖面积最广。使用人群使用的大多数都是微信小程序。目前国内最…

刷题计划 day5 哈希表上

⚡刷题计划day5继续,可以点个免费的赞哦~ 今天开启哈希表刷题专题,往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day5继续,可以点个免费的赞哦~ 今天开启哈希表刷题专题&#x…

多节点网络流量对比分析在业务性能分析中的应用

在现代企业网络环境中,网络流量分析已成为确保业务连续性和优化性能的关键工具。特别是多节点网络流量对比分析,通过对比不同节点间的流量,能有效发现潜在问题,提高网络运维效率。本文将探讨多节点网络流量对比分析在业务性能分析…

初识C++ · AVL树(1)

目录 前言: 1 AVL树的创建 2 部分成员函数 2.1 查找 2.2 中序遍历 2.3 插入 2.4 左旋转 2.5右旋转 前言: 上文,上上文提到了map set,二叉搜索树,其实都是为了近两文做铺垫的,虽然map的底层是红黑树…

Android statsd 埋点简析

源码基于:Android U 0. 前言 最近在研究 Android 自带的系统数据指标采集功能,框架依旧很严谨、完美,这里做个分享。 1. Android S 之后变化 stats 的代码从 framework 或 system/core 中转移到了 packages/modules/StatsD 目录中。 2. 框架…

结构拼图的艺术——组合模式(Python实现)

大家好,今天我们继续来讲结构型设计模式,上一期我们介绍了桥接模式,帮助大家理解了如何通过分离抽象部分和实现部分来实现代码的解耦。 今天,我们将介绍另一个非常实用的设计模式——组合模式,这个模式特别适合用于处…