大模型笔记01--基于ollama和open-webui快速部署chatgpt

大模型笔记01--基于ollama和open-webui快速部署chatgpt

  • 介绍
  • 部署&测试
    • 安装ollama
    • 运行open-webui
    • 测试
  • 注意事项
  • 说明

介绍

近年来AI大模型得到快速发展,各种大模型如雨后春笋一样涌出,逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速发展,包括 ollama 和 open-webui 这样的项目。
本文基于 ollama 和 open-webui,快速运行大模型并提供对应的web交互界面,让每个关注AI大模型的人员都能快速运行起自己的本地大模型。

部署&测试

安装ollama

直接通过curl命令安装

# curl -fsSL https://ollama.com/install.sh | sh安装完成后可以通过 systemctl status ollama 查看服务状态 
# systemctl status ollama 
● ollama.service - Ollama ServiceLoaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabl>Active: active (running) since Wed 2024-08-28 20:29:03 CST; 3 days agoMain PID: 1743 (ollama)Tasks: 15 (limit: 38363)Memory: 1.7G (peak: 1.8G)CPU: 21.202sCGroup: /system.slice/ollama.service└─1743 /usr/local/bin/ollama serve如果需要调整 ollama的参数,我们可以通过更改ollama.service中的Environment来调整其定环境变量(每隔环境变量单独起一行),例如:
# vim /etc/systemd/system/ollama.service
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="CUDA_VISIBLE_DEVICES=0"
Environment="OLLAMA_MODELS=/data/xgDir/ollama_models"
Environment="OLLAMA_HOST=0.0.0.0"其中 OLLAMA_NUM_PARALLEL表示并发量为4,CUDA_VISIBLE_DEVICES表示要用GPU显卡。ollama 模型默认下载位置为: /usr/share/ollama/.ollama/models ,可以通过上述方式设置环境变量, 也可以按需新建一个软连接到数据盘,以避免过多占用系统盘空间。
如果原来的位置已有模型,然后通过环境变量迁移,那么需要将.ollama/models目录下的blobs  和manifests都同步移动到目标目录,同时确保目录目录用户属主为 ollama

安装后我们就可以下载、运行模型了,可以在 https://ollama.com/library 找到各类开源的模型, 如下图:
在这里插入图片描述
可以通过 ollama pull | list | run | ps | rm 等命令来拉取模型、查询本地模型、运行模型、查看正在运行的模型、删除模型。
在这里插入图片描述

运行open-webui

通过以上方法可以快速运行一个本地大模型,并且可以在终端上进行对话,为了进一步提高使用效率,我们通常会拉起一个客户端系统(web app或桌面app),ollama官方github推荐了很多种工具,此处以比较出名的Open WebUI为例。
在这里插入图片描述
最快捷的方式直接用docker安装,具体命令如下:

# docker run -d --network=host -v /home/xg/soft/ollama/open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
然后访问 http://localhost:8080 此处将数据目录挂载在 /home/xg/soft/ollama/open-webui ,实际使用的时候按需修改即可

常见报错: We couldn’t connect to ‘https://huggingface.co’

报错:
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like sentence-transformers/all-MiniLM-L6-v2 is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
No WEBUI_SECRET_KEY provided
由于国内网络无法直接访问 huggingface , 我们需要更改为国内能访问的域名 hf-mirror.com 
解决方法: 使用镜像站 -e HF_ENDPOINT=https://hf-mirror.com
参考: https://www.cnblogs.com/dajianshi/p/18118969

测试

当完成 ollama 和 open-webui的部署后,可以通过 127.0.0.1:8080 访问webui了,按需注册用户即可。
如下图,按需选择模型,然后就可以愉快的聊天了
在这里插入图片描述
在这里插入图片描述
笔者台式机 P2200显卡 5G显存,跑10B以下的模型基本没什么压力,输出比较流畅。15B及以上就有点压力。
笔记本 MX570显卡 2G显存,跑5B及以下的模型,基本没什么压力,输出比较流畅。8B及以上就明显感觉输出比较卡顿, 例如 qwen:14b每秒3-5个字。
使用腾讯云 Tesla T4 16G显卡,发现跑qwen:14B比较流畅,跑qwen:32B就有点卡(每秒3-5字)。
在测试qwen模型时候,可以明显感觉到8B及其以下流程性和语义完整性比较一般,14B及其以上的连贯性还不错,但对资源的消耗也比较高。

综上:为了兼顾速度和效果,推荐使用16G显存的机器跑10-20B的模型。

注意事项

  1. 除了基于 ollama 这种方式使用指定的大模型,还可以使用LM Studio等工具在本地快速运行大模型实现chatgpt。
  2. 如果想实现更多配置能力和自定义agent,也可以考虑基于 Fastgpt, autogen, dify 等来部署开发自己的大模型相关服务。
  3. 如果不想部署的话也可以直接体验IT厂商的大模型产品,例如文心一言、通义千问、Kimi智能助手、讯飞星火、豆包、智普清言、语聚AI , openai Chatgpt 等产品。

说明

系统:
ubuntu 24.04Desktop / ubuntu22.04 server
open-webui v0.1.124
ollama 0.1.34
参考文档:
ollama github
ollama 官网
hf-mirror.com

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UnityShader自定义属性特性

前言: 在编写UnityShader时,我们常常会使用特性来更换材质球面板的属性外观,除此之外,还可以使用自定义的扩展脚本来实现自定义的材质球界面,参考我之前的文章UnityShaderUI编辑器扩展 但是自定义扩展每次都要单独写…

性能测试经典案例解析——远程培训系统

各位好,我是 道普云 一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。 欢迎关注我的专栏和我的主页 道普云 文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。 希望这篇文章对想提高软件测试水平…

5.sklearn-朴素贝叶斯算法、决策树、随机森林

文章目录 环境配置(必看)头文件引用1.朴素贝叶斯算法代码运行结果优缺点 2.决策树代码运行结果决策树可视化图片优缺点 3.随机森林代码RandomForestClassifier()运行结果总结 本章学习资源 环境配置(必看) Anaconda-创建虚拟环境…

Keil下载烧录程序到单片机提示flash outtime超时

Flash Timeout.Reset the Target and try it again. Error:Flash Download failed - “Cortex-M4” 解决方法: 1.检查杜邦线 2.RESET按键按一下再下载(或者一直按着下载),这样能让单片机进入烧录模式。 3.有外部看门狗,外部看门狗用跳帽屏…

『功能项目』DOTween动态文字【26】

打开上一篇25协程生成怪物模型的项目, 本章要做的事情是用DOTween插件做一个动态文字效果 首先在资源商店中免费下载一个DOTween插件 新建脚本:DowteenFlicker.cs 编写脚本: using DG.Tweening; using UnityEngine; using UnityEngine.UI;pu…

2024 年高教社杯全国大学生数学建模竞赛题目-C 题 农作物的种植策略

根据乡村的实际情况,充分利用有限的耕地资源,因地制宜,发展有机种植产业,对乡村经济 的可持续发展具有重要的现实意义。选择适宜的农作物,优化种植策略,有利于方便田间管理,提 高生产效益&#…

在模板中使用 Django 会话

在 Django 中使用会话(session)可以让你在用户访问网站的过程中存储和访问临时数据。我们可以利用会话在速度计算器的例子中存储和显示上次计算的结果。 1、问题背景 在 Django 中,可以使用会话来存储用户数据。在某些情况下,我们…

Python实战项目:天气数据爬取+数据可视化(完整代码)_python爬虫实战

一、选题的背景 随着人们对天气的关注逐渐增加,天气预报数据的获取与可视化成为了当今的热门话题,天气预报我们每天都会关注,天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…

[数据集][目标检测]翻越栏杆行为检测数据集VOC+YOLO格式512张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):512 标注数量(xml文件个数):512 标注数量(txt文件个数):512 标注类别…

datagrip链接sql server2005报错

错误信息 第一次报 DBMS: Microsoft SQL Server (no ver.) Case sensitivity: plainmixed, delimitedexact [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client pr…

iPhone无法充电?别急,这几招帮你轻松解决充电难题!

在这个智能手机不离手的时代,iPhone作为众多用户的首选,其续航能力和充电效率自然成为了大家关注的焦点。然而,偶尔遇到iPhone无法充电的情况,确实让人头疼不已。别担心,今天我们就来聊聊iPhone无法充电的几大常见原因…

LeetCode:快乐数(202)

目录 题目 代码思路 双指针 代码实现 题目 202. 快乐数 - 力扣(LeetCode) 编写一个算法来判断一个数 n 是不是快乐数。 [ 快乐数 ] 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程…

echarts地图绘制并实现下钻功能

本文参考网址 使用echarts地图需要先准备好echarts地图渲染需要的json数据&#xff0c;数据可以从阿里云地址中下载自己需要的&#xff0c;下载之后直接引入即可使用&#xff0c;本文针对全国地图做一个简单的demo 阿里云界面如图 // 1、准备echarts地图容器<div class&…

【python面向对象】

一、魔术函数 在Python中&#xff0c;xx()的函数叫做魔法函数&#xff0c;指的是具有特殊功能或者有特殊含义的函数&#xff0c;而且这些函数都是在某种情况下自动调用的。 eg: init函数 __init__() :对象的初始化函数&#xff0c;在创建一个对象的时默认被调用&#xff0c;…

RabbitMQ本地Ubuntu系统环境部署与无公网IP远程连接服务端实战演示

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 安装内网穿透工具3.1 安装cpolar内网穿透3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 &#x1f4a1; 推荐 前些天发现了一个巨牛的人工智能学习网站&am…

基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码

基于飞桨paddle2.6.1cuda11.7paddleRS开发版的目标提取-道路数据集训练和预测代码 预测结果&#xff1a; 预测影像&#xff1a; &#xff08;一&#xff09;准备道路数据集 下载数据集地址&#xff1a; https://aistudio.baidu.com/datasetdetail/56961 mass_road.zip …

通过 pnpm 安装依赖包会发生什么

通过 pnpm 安装依赖包会发生什么 通过 pnpm 下载的包都是放在一个全局目录&#xff08;.pnpm-store&#xff09;下&#xff0c;默认是在 ${os.homedir}/v3/.pnpm-store&#xff0c;如果我们不确定在哪里&#xff0c;可以输入下面的命令手动配置&#xff1a; pnpm set store-d…

若依 Vue3的前后端分离系统管理 创建 使用

RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi开源|RuoYi视频|若依视频|RuoYi开发文档|若依开发文档|Java开源框架|Java|SpringBoot|SrpingBoot2.0…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

cookie实战案例-自动登录网站

在写爬虫的时候&#xff0c;要伪装成真实用户请求。可能需要大量的IP地址&#xff0c;那么大量的IP地址从哪里来呢&#xff1f;这里就需要用代理IP来解决了&#xff0c;有的网站专门通过提供代理IP池服务作为主要的经营业务&#xff0c;只要注册相关网站开通对应套餐就可以了。…