Ollama在MacOS、Linux本地部署千问大模型及实现WEB UI访问

2024-06-14 15:36

本文主要是介绍Ollama在MacOS、Linux本地部署千问大模型及实现WEB UI访问,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

阿里通义千问发布了Qwen2,提供了0.5B~72B的量级模型,在​​Ollama官网​​可以搜索qwen2查看,本文提供了Ollama的下载(在线/离线安装)、Ollama运行模型、使用WebUI连接模型以及页面简单配置。
请添加图片描述

二、实现效果

  1. 控制台直接提问
    请添加图片描述

  2. Web界面访问
    请添加图片描述

三、实现步骤

  1. Windows、MacOS、Linux安装Ollama(我这里只在Macos、Linux上进行了安装)
  2. 使用Ollama拉取、运行模型(这步完成可以使用控制台、Api提问)
  3. 用Web UI实现可视化提问,方便管理。

四、开始实现

1.1 安装

请添加图片描述
首先我们需要在​​Ollama官网​​​点击“Download”按钮,选择适合系统的版本点击下载,但由于网络问题,会非常慢,建议去​​他的github​​上下载release。

请添加图片描述

可以看见Ollama还是非常活跃的,在这里选择合适的版本下载安装。
请添加图片描述

Mac版本下载后放到应用文件夹内,打开后根据提示即可完成安装,Linux的安装稍微麻烦点,官方提供的命令是:
curl https://ollama.ai/install.sh | sh
就是下载install.sh并执行,脚本还是先下载好安装包再进行安装,网络问题会非常慢或者下载失败,所以我们这里需要把脚本使用下面脚本下载下来:
wget https://ollama.ai/install.sh
vim编辑这个脚本总共需要修改两个地方:
• 注释下载链接(install.sh的第66行左右)

status "Downloading ollama..."
#curl --fail --show-error --location --progress-bar -o $TEMP_DIR/ollama "https://ollama.com/download/ollama-linux-${ARCH}${VER_PARAM}"

• 修改Ollama安装目录(install.sh的第73行左右)

status "Installing ollama to $BINDIR..."
$SUDO install -o0 -g0 -m755 -d $BINDIR
#$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama
$SUDO install -o0 -g0 -m755 ./ollama-linux-amd64  $BINDIR/ollama

以上步骤做好,就可以进入到install.sh脚本所在目录使用sh ./install.sh开始安装了,安装完,输入如图ollama -v出现版本代表安装成功。

1.2 模型拉取、运行

文章开头提到的在官网找到qwen2,选择需要的版本,如下图选择了1.5b版本,右边对应着执行命令,复制命令在MacOS或者Linux终端中执行。
请添加图片描述

这里如果没有模型会自动拉取模型,拉取速度非常快,拉取完后显示“>>> Send a message (/? for help)”代表可以直接输入问题进行提问了。
请添加图片描述

1.3 用Web UI实现可视化提问。

本文使用docker运行web界面,docker的安装这里不做过多赘述,终端中执行:

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

docker会自动拉取镜像运行容器,运行成功后访问http://127.0.0.1:3000进入界面,首次注册登录的是管理员账号,可以设置成中文,也可以在设置中配置后面注册的默认角色。

请添加图片描述
请添加图片描述
需要注意的是需要选择提问的模型,在进行提问。

五、总结

总体还是比较简单的,更高阶的玩法,看小伙伴的反馈,后面更新比如自定义智能体、训练等。

这篇关于Ollama在MacOS、Linux本地部署千问大模型及实现WEB UI访问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060805

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg