上一篇我们介绍了如何在本地部署 ollama 运行 llama3 大模型。过程是相当简单的。但是现在给大模型交流只能在命令行窗口进行。这样的话就只能你自己玩了。独乐乐不如众乐乐嘛。我们接下来说一下如何部署 open-webui 给 ollama 加一个 webui,这样用户就可以通过浏览器访问我们的本地大模型了,体验非常类似 chatGPT。

Open-WebUI

Open-WebUI 是一个开源的用户界面框架,旨在提供简便的工具和接口,帮助用户轻松地访问和管理各种深度学习模型,尤其是大规模预训练语言模型。以下是对Open-WebUI的简要介绍:

  • 开源框架: Open-WebUI 是一个开源项目,提供了灵活且可定制的用户界面,用于与各种深度学习模型进行交互。

  • 模型管理: 通过 Open-WebUI,用户可以方便地加载、配置和管理多个深度学习模型,包括 GPT-4、BERT 等大规模预训练模型。

  • 用户友好: 它提供了直观的界面,简化了模型使用过程,使非技术用户也能轻松上手进行自然语言处理任务。

  • 集成支持: Open-WebUI 支持与多种后端深度学习框架(如 TensorFlow、PyTorch)集成,提供高效的推理和训练功能。

扩展性强: 用户可以根据需求自定义和扩展界面功能,以适应不同的应用场景和任务需求。

总之,Open-WebUI 为用户提供了一个高效、直观的界面,使得大规模深度学习模型的使用更加便捷和高效。



地址:https://github.com/open-webui/open-webui

使用 Docker 部署

使用 Docker 部署非常简单。如果 ollama 跟 open-webui 部署在同一个机器上,那么只需要运行一下代码就可以。

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

如果 ollama 部署在其他服务器就用如下命令:

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

OLLAMA_BASE_URL 是指 ollama 暴露的API地址,一般为服务器地址加 11434。如:OLLAMA_BASE_URL=http://192.168.0.111:11434

使用 Open-WebUI

部署完之后,我们在浏览器里打开 http://localhost:3000,就会出现 Open-WebUI 的界面。看起来跟 chatGPT 不能说一模一样么,也是毫无区别。随便填写一个邮箱后就可以注册第一个账户。

在右上角可以选择已经存在的模型。也可以搜索其他模型,然后直接安装,这个就非常方便了。

让我们下载一个传说中巨牛比的国产大模型 Qwen2 试试。随便问个问题,好像还不错。

总结

这一篇内容比较短,就是演示了一下如何使用 Open-WebUI 项目搭建一个本地的 chat 服务。这样就可以把本地大模型共享出去。这样你全家人都可以访问你部署的大模型了。当然你要是部署到外网的服务器上那就是给全世界人用了。

当然本地大模型所能回答的问题都是公开领域的知识,比如你问它你们家有几口人肯定是不知道的。下次我们会将如何让大模型学习你的私有知识,也就是搭建一个本地的知识库。

关注我的公众号一起玩转技术

给 Ollama 穿上 GPT 的外衣的更多相关文章

  1. 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  2. .Net Attribute详解(上)-Attribute本质以及一个简单示例

    Attribute的直接翻译是属性,这和Property容易产生混淆,所以一般翻译成特性加以区分.Attribute常常的表现形式就是[AttributeName], 随意地添加在class, met ...

  3. 前端工具之WebPack解密--使用

    接上一篇的内容继续来说,背景篇的内容主要是介绍web前端工具的出现的原因和当前主要JavaScript模块化编程的几种规范!这篇内容主要介绍webpack的初级使用! 注意:目前webpack分为两个 ...

  4. 前端 HTML基础

    前端三大利器概述 学习前端,不得不学习前端中的三大利器:html + css + javascript.那么这三个组件分别起到什么作用呢?以人体为例,单单具有html属性的人,只是一个裸体的人偶(理解 ...

  5. .Net Attribute详解(一)

    .Net Attribute详解(一) 2013-11-27 08:10 by JustRun, 1427 阅读, 14 评论, 收藏, 编辑 Attribute的直接翻译是属性,这和Property ...

  6. WPF Template模版之DataTemplate与ControlTemplate【一】

    WPF Template模版之DataTemplate与ControlTemplate[一] 标签: Wpf模版 2015-04-19 11:52 510人阅读 评论(0) 收藏 举报  分类: -- ...

  7. ArcGIS制图表达Representation-制图表达介绍

    ArcGIS制图表达技术-制图表达介绍 by 李远祥 在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式.这种模式已经被应用很多年,而且也是非常成熟.对应在ArcGIS体系里面,就是数 ...

  8. ArcGIS制图技巧系列(1)还原真实的植被

    ArcGIS制图技巧系列(1)还原真实的植被 by 李远祥 在GIS数据中,植被一般都是面装要素的形式存在.很多人在使用植被渲染的时候,一般会采用填充符号去渲染.而在ArcGIS中,填充符号要么就是纯 ...

  9. 读书笔记 effective c++ Item 50 了解何时替换new和delete 是有意义的

    1. 自定义new和delete的三个常见原因 我们先回顾一下基本原理.为什么人们一开始就想去替换编译器提供的operator new和operator delete版本?有三个最常见的原因: 为了检 ...

  10. 【爬虫入门01】我第一只由Reuests和BeautifulSoup4供养的Spider

    [爬虫入门01]我第一只由Reuests和BeautifulSoup4供养的Spider 广东职业技术学院  欧浩源 1.引言  网络爬虫可以完成传统搜索引擎不能做的事情,利用爬虫程序在网络上取得数据 ...

随机推荐

  1. UCX84X笔记

    1. 管脚定义 COMP: 误差放大器补偿引脚.将外部补偿元件连接到此引脚,以修改误差放大器输出.误差放大器内部有电流限制,因此用户可以通过外部强制COMP接地来命令零占空比. UCx84x系列中的误 ...

  2. WinForm UI 库

    WinForm UI库 HZH_Controls HZHControls是基于.Net Framework4.0原生控件开发完全开源的一套控件,你不需要担心有其他控件或版权问题.提供完整的示例代码,方 ...

  3. Mac 删除 Steam 游戏图标

    Steam 将游戏安装在了 ~/Applications,打开访达,前往该目录,将相关游戏移到废纸篓.

  4. pip 安装包时提示 "WARNING: Skipping xxx due to invalid metadata entry 'name'"

    我最近在使用 pip 安装包的时候经常遇到如下警告: WARNING: Skipping /opt/homebrew/lib/python3.11/site-packages/numpy-1.26.3 ...

  5. SSH Agent 的作用

    SSH Agent 是一种用于管理 SSH 私钥的程序,它可以帮助用户在使用 SSH 进行认证时,无需每次都手动输入密码.SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安 ...

  6. MyBatis分页实现

    目录 分页实现 limit实现分页 RowBounds分页 分页实现 limit实现分页 为什么需要分页? 在学习mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进 ...

  7. Word在不同电脑排版异常

    Word在不同电脑排版异常 问题描述 今天又有同学向我抱怨用 word 写的论文明明在自己的电脑格式调的好好的,怎么在导师那格式又乱了,害的挨批. 笔者也遇到过该问题,正好趁这次机会简单整理一下. 注 ...

  8. 苹果(ios)打包证书下载

    这里,首先需要明确的是,苹果打包证书不能共用,因此证书下载是只能下载自己的证书,不是去下载别人的证书. 那么自己的证书又是如何生成的呢?去什么地方下载呢?第一次开发ios的同学们,肯定会问这个问题. ...

  9. ServiceMesh 1:大火的云原生微服务网格,究竟好在哪里?

    1 关于云原生 云原生计算基金会(Cloud Native Computing Foundation, CNCF)的官方描述是: 云原生是一类技术的统称,通过云原生技术,我们可以构建出更易于弹性扩展. ...

  10. Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a

    #!/bin/bash # Cross-compile environment for Android on ARM64 and x86 # # Contents licensed under the ...