当前位置: 首页 > news >正文

大模型笔记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的参数,我们可以调整其定环境变量,例如:
# vim /etc/systemd/system/ollama.service
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin OLLAMA_NUM_PARALLEL=4 CUDA_VISIBLE_DEVICES=0"其中 OLLAMA_NUM_PARALLEL表示并发量为4,CUDA_VISIBLE_DEVICES表示要用GPU显卡。ollama 模型默认下载位置为: /usr/share/ollama/.ollama/models ,可以按需新建一个软连接到数据盘,以避免过多占用系统盘空间。

安装后我们就可以下载、运行模型了,可以在 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 51单片机-定时器介绍
  • 模型 冯/诺依曼思维模型
  • 《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(2)
  • 【Java开发】Maven安装配置详细教程
  • python模块06 mock-1基础用法
  • JavaWeb:实验一JSP运行环境安装及配置
  • 5.Redis 集群 主从复制 哨兵
  • Mybatis 是如何进行分页的?分页插件的原理是什么?
  • java构建工具-maven的复习笔记【适用于复习或者初步了解】
  • WebView快速打开
  • 公司招聘中,多个面试官对候选人评价不一致怎么办?
  • class 3: vue.js 3 计算属性
  • Java中的注解(Annotation)
  • MySQL入门学习-MySQL的连接查询
  • switch语句和while循环
  • 深入了解以太坊
  • 【Linux系统编程】快速查找errno错误码信息
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • angular学习第一篇-----环境搭建
  • Apache Spark Streaming 使用实例
  • Docker 笔记(2):Dockerfile
  • download使用浅析
  • ES6系列(二)变量的解构赋值
  • Js基础知识(一) - 变量
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • react-native 安卓真机环境搭建
  • Terraform入门 - 3. 变更基础设施
  • Vultr 教程目录
  • windows下如何用phpstorm同步测试服务器
  • 创建一种深思熟虑的文化
  • 解析 Webpack中import、require、按需加载的执行过程
  • 警报:线上事故之CountDownLatch的威力
  • 码农张的Bug人生 - 初来乍到
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #pragma 指令
  • #QT(一种朴素的计算器实现方法)
  • (02)vite环境变量配置
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)c52学习之旅-定时器
  • (南京观海微电子)——COF介绍
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)模仿学习-Action数据的模仿
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)Unity3DUnity3D在android下调试
  • (转)创业家杂志:UCWEB天使第一步
  • (转)负载均衡,回话保持,cookie
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .form文件_一篇文章学会文件上传
  • .gitignore文件_Git:.gitignore
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net framework 4.0中如何 输出 form 的name属性。