使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU)

cover_image
✨点击这里✨:🚀原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!)

使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU)

🌟 Open WebUI 是一个可扩展、功能丰富且用户友好的 自托管 WebUI ,旨在完全离线运行。 它支持各种 LLM 运行器,包括
Ollama 和 OpenAI 兼容 API。

Github:https://github.com/open-webui/open-webui/

Hello,大家好,我是Aitrainee,今天介绍 ** Open WebUI ** (以前称为 Ollama WebUI),以及
测试Ollama后端API 是否成功运行的两种方式(Postman)。

Open WebUI 的主要功能 ⭐

  • • 🚀 轻松设置 :使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)进行无缝安装,支持 :ollama:cuda 标签的镜像。

  • • 🤝 Ollama/OpenAI API 集成 :轻松集成兼容 OpenAI 的 API,以实现多功能对话和 Ollama 模型。自定义 OpenAI API URL 以链接到 LMStudio、GroqCloud、Mistral、OpenRouter 等

  • • 🧩 Pipelines,Open WebUI 插件支持 :使用 Pipelines 插件框架 将自定义逻辑和 Python 库无缝集成到 Open WebUI 中。启动您的 Pipelines 实例,将 OpenAI URL 设置为 Pipelines URL,并探索无限可能。 示例 包括 功能调用 、用户 访问限制 、使用 Langfuse 等工具的 使用监控 、使用 LibreTranslate 的 实时翻译 以支持多语言、 有害信息过滤 等等。

  • • 📱 响应式设计 :在台式电脑、笔记本电脑和移动设备上享受无缝体验。

  • • 📱 移动设备的渐进式 Web 应用 (PWA):通过我们的 PWA,在移动设备上享受本地应用般的体验,提供本地主机的离线访问和无缝用户界面。

  • • ✒️🔢 全面的 Markdown 和 LaTeX 支持 :通过综合的 Markdown 和 LaTeX 功能提升您的 LLM 体验,实现丰富的互动。

  • • 🛠️ 模型构建器 :通过 Web UI 轻松创建 Ollama 模型。创建和添加自定义角色/代理,定制聊天元素,并通过 Open WebUI 社区 集成轻松导入模型。

  • • 📚 本地 RAG 集成 :通过突破性的检索增强生成 (RAG) 支持,深入探索聊天互动的未来。此功能将文档互动无缝集成到您的聊天体验中。您可以将文档直接加载到聊天中,或将文件添加到您的文档库中,在查询前通过 # 命令轻松访问它们。

  • • 🔍 RAG 的 Web 搜索 :使用 SearXNGGoogle PSEBrave Searchserpstackserper 等提供商进行 Web 搜索,并将结果直接注入您的聊天体验中。

  • • 🌐 Web 浏览功能 :使用 # 命令后跟 URL,将网站无缝集成到您的聊天体验中。此功能允许您将 Web 内容直接纳入对话中,增强互动的丰富性和深度。

  • • 🎨 图像生成集成 :通过使用 AUTOMATIC1111 API 或 ComfyUI(本地)和 OpenAI 的 DALL-E(外部)等选项,无缝集成图像生成功能,为您的聊天体验增添动态视觉内容。

  • • ⚙️ 多模型对话 :轻松与多个模型同时互动,利用它们的独特优势以获得最佳响应。通过并行利用多种模型来增强您的体验。

  • • 🔐 基于角色的访问控制 (RBAC):确保安全访问,只有授权人员才能访问您的 Ollama,管理员专享模型创建/拉取权限。

  • • 🌐🌍 多语言支持 :通过我们的国际化 (i18n) 支持,以您偏好的语言体验 Open WebUI。加入我们,扩展我们支持的语言!我们正在积极寻找贡献者!

  • • 🌟 持续更新 :我们致力于通过定期更新、修复和新功能不断改进 Open WebUI。

![](https://res.wx.qq.com/t/wx_fed/we-

emoji/res/v1.3.10/assets/Expression/Expression_96@2x.png) 跟着我快速开始

1. 安装完Docker(公众号菜单有一键环境配置脚本,LLM API开源项目也有)

2. 如果您的 计算机上有 Ollama, 运行以下指令

安装ollama: 全民AI时代:手把手教你用 Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行!

(不安装ollama或者不使用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

这里显示的是windows系统docker desktop的部署: 打开这个端口

来到前端页面就部署成功了,左上角选择模型(记得将欧拉玛后端启动)

▲ ollama后端启动

Ollama后端API测试

这个 open web
ui是相当于一个前端项目,它后端调用的是ollama开放的api,这里我们来测试一下ollama的后端api是否是成功的,以便支持你的api调用操作

方式一:终端curl( REST API)

Ollama 提供用于运行和管理模型的 REST API。

生成响应

curl http://localhost:11434/api/generate -d '{  "model": "llama3",  "prompt": "为什么天空是蓝色的?"  
}'

与模型聊天

curl http://localhost:11434/api/chat -d '{  "model": "llama3",  "messages": [  { "role": "user", "content": "为什么天空是蓝色的?" }  ]  
}'

REST API(Representational State Transfer Application Programming
Interface)是一种基于HTTP协议的应用程序接口,它遵循REST架构风格。

REST API 使得不同系统之间能够通过标准的HTTP请求(如GET、POST、PUT、DELETE等)进行通信和数据交换。

方式二: ** Postman测试 **

设置 Postman 请求

  1. 1. 打开 Postman : 确保你已经安装并打开了 Postman。

  2. 2. 创建新请求 :

* •  点击 "New" 按钮。 * •  选择 "HTTP Request"。 
  1. 3. 设置请求方法和 URL :
* •  将请求方法设置为 ` POST ` 。 * •  输入 URL ` http://localhost:11434/api/generate ` 。 
  1. 4. 设置请求头 : 在 “Headers” 选项卡中添加一个新键值对:
* •  ` Content-Type ` : ` application/json `
  1. 5. 设置请求体 :
* •  切换到 "Body" 选项卡。 * •  选择 "raw"。 * •  确保选择 "JSON" 格式。 * •  在文本框中输入以下 JSON 数据: {  "model": "gemma:7b",  "prompt": "Why is the sky blue?"  }
  1. 6. 发送请求 :
* •  点击 "Send" 按钮发送请求。 * • 本地请求API:比如:http://  **localhost** :11434/api/generate,记得先安装  Postman Agent(你sent之后它会提示你安装的) * ![](https://img-blog.csdnimg.cn/img_convert/e105f3117225e456c82532d4e6e12750.jpeg)   

验证响应

  1. 1. 查看响应 :
* •  请求发送后,查看响应的状态码应该是 ` 200 OK ` ,表示请求成功。 * •  响应体应该包含 JSON 数据,你会看到类似于你之前提供的逐步生成的响应。 
* ![](https://img-blog.csdnimg.cn/img_convert/eb0f516cb6cbedf1d98e42166ad1256b.png)   *   
  1. 2. **检查done 字段 ** :
* •  在 Postman 的 "Tests" 选项卡中,你可以编写 JavaScript 测试代码来自动验证 ` done ` 字段的值。 * •  以下是一个示例测试代码: pm.test("Check if response is complete", function () {  var jsonData = pm.response.json();  pm.expect(jsonData.done).to.eql(true);  });
  1. 3. **持续发送请求直到donetrue ** :
* •  你可能需要多次发送请求来检查是否 ` done ` 字段变为 ` true ` 。 * •  你可以在 Postman 中设置一个循环或手动重复发送请求来检查。 *   * ![](https://img-blog.csdnimg.cn/img_convert/e65dd8400af3b0c7864186048a1b76de.png)

下面提供官方的 文档介绍、相关资源、部署教程 等,进一步支撑你的行动,以提升本文的帮助力。

如何安装 🚀

使用默认配置安装

  • 如果 Ollama 在您的计算机上 ,请使用此命令:

    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 在另一台服务器上 ,请使用此命令:要连接到另一台服务器上的 Ollama,请将 OLLAMA_BASE_URL 更改为服务器的 URL:

    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:maindocker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
    
    • 要使用 Nvidia GPU 支持运行 Open WebUI ,请使用此命令:

仅使用 OpenAI API 安装

  • 如果您仅使用 OpenAI API ,请使用此命令:

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

安装带有捆绑 Ollama 支持的 Open WebUI

此安装方法使用单个容器镜像将 Open WebUI 与 Ollama 捆绑在

一起,允许通过单个命令进行简化设置。根据您的硬件设置选择适当的命令:

  • 支持 GPU :通过运行以下命令利用 GPU 资源:

    docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
    
  • 仅限 CPU :如果您不使用 GPU,请使用此命令:

    docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
    

两个命令都可以实现 Open WebUI 和 Ollama 的内置简化安装,确保您可以迅速启动和运行。

安装后,您可以访问 http://localhost:3000 的 Open WebUI。享受吧!😄

保持 Docker 安装最新

如果您想将本地 Docker 安装更新到最新版本,可以使用 Watchtower :

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui

在命令的最后部分,如果容器名称不同,请将 open-webui 替换为您的容器名称。

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

**
**

** 点这里 👇 关注我,记得标星哦~ **

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



收藏

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

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

相关文章

二叉查找树详解

目录 二叉查找树的定义 二叉查找树的基本操作 查找 插入 建立 删除 二叉树查找树的性质 二叉查找树的定义 二叉查找树是一种特殊的二叉树,又称为排序二叉树、二叉搜索树、二叉排序树。 二叉树的递归定义如下: (1)要么二…

10. MySQL 用户

文章目录 【 1. 权限表 】1.1 user 权限表1.1.1 用户列1.1.2 权限列1.1.3 安全列1.1.4 资源控制列 1.2 db 表用户列权限列 1.3 tables_priv 表1.4 columns_priv 表1.5 procs_priv表 【 2. 用户管理 】2.1 创建用户 CREATE USER2.2 用户的登陆、退出登陆 MySQL退出 MySQL 2.3 重…

pytorch 笔记:pytorch 优化内容(更新中)

1 Tensor创建类 1.1 直接创建Tensor,而不是从Python或Numpy中转换 不要使用原生Python或NumPy创建数据,然后将其转换为torch.Tensor直接用torch.Tensor创建或者直接:torch.empty(), torch.zeros(), torch.full(), torch.ones(), torch.…

4.通用编程概念

目录 一、变量与常量1.1 变量1.2 常量 二、遮蔽三、数据类型3.1 标量类型1. 整型2. 浮点型3. 布尔类型4.字符类型 3.2 复合类型1. 元组2. 数组 四、函数五、语句和表达式六、函数的返回值 一、变量与常量 1.1 变量 在Rust中默认的变量是不可变的,如果修改其值会导致…

【Vue】如何提供访问vuex的数据

文章目录 一、提供数据二、访问Vuex中的数据通过$store访问的语法1)模板中使用2)组件逻辑中使用3)js文件中使用 三、通过辅助函数 - mapState获取 state中的数据 一、提供数据 State提供唯一的公共数据源,所有共享的数据都要统一…

[office] 快速删除excel中的空行和列的方法 #其他#学习方法#经验分享

快速删除excel中的空行和列的方法 用户在网上下载好的Excel表格打开之后发现有很多空白行,怎么样将这些空白行或单元格一次性删除掉呢?下面教大家在Excel中用定位一次性可以把空白行删除 用户在网上下载好的Excel表格打开之后发现有很多空白行,怎么样将…

Vue3 使用audio播放语音+监听播放语音完成事件

需求&#xff1a;输入一段文字&#xff0c;点击语音框&#xff0c;将本地语音&#xff08;提前准备好的&#xff09; 播放出来 播放中效果 代码 <div class"listConAI" click"handleOpenSpeech" ><imgsrc"../../../../assets/images/blueo…

中文文案写作有哪些合适的AIGC工具?

这是计育韬老师第 8 次开展面向全国高校的新媒体技术公益巡讲活动了。而在每场讲座尾声&#xff0c;互动答疑环节往往反映了高校师生当前最普遍的运营困境&#xff0c;特此计老师在现场即兴答疑之外&#xff0c;会尽量选择有较高价值的提问进行文字答疑梳理。 *本轮巡讲主题除了…

【Vue】开启严格模式及Vuex的单项数据流

文章目录 一、引出问题二、开启严格模式 一、引出问题 目标 明确 vuex 同样遵循单向数据流&#xff0c;组件中不能直接修改仓库的数据 这样数据的流向才会更加清晰&#xff0c;将来对数据的修改&#xff0c;都在仓库内部实现的&#xff0c;更易于维护 直接在组件中修改Vuex中…

Spring进阶技巧:利用AOP提前介入的巧妙实践

Spring框架中的面向切面编程&#xff08;AOP&#xff09;是一种强大的机制&#xff0c;它允许开发者在不修改原有代码的情况下&#xff0c;对程序进行横向切面的功能扩展。AOP提供了一种方式&#xff0c;可以在目标Bean的生命周期早期阶段就实施切面逻辑&#xff0c;这为我们在…

【一百一十】【算法分析与设计】[SDOI2009] HH的项链,树状数组应用,查询区间的种类数,树状数组查询区间种类数

P1972 [SDOI2009] HH的项链 [SDOI2009] HH的项链 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运&#xff0c;所以每次散步完后&#xff0c;他都会随意取出一段贝壳&#xff0c;思考它们所表达的含义。HH 不断地收集新的贝壳&#xff0c;因此&am…

SMS - 基于阿里云实现手机短信验证码登录(无需备案,非测试)

目录 SMS 环境调试 从阿里云云市场中购买第三方短信服务 调试短信验证码功能 实战开发 封装组件 对外接口 调用演示 SMS 环境调试 从阿里云云市场中购买第三方短信服务 a&#xff09;进入阿里云首页&#xff0c;然后从云市场中找到 “短信” &#xff08;一定要从 云…

如何实现网站HTTPS访问

在当今网络安全至关重要的时代&#xff0c;HTTPS已经成为网站安全的基本标准。HTTPS&#xff08;超文本传输安全协议&#xff09;通过在HTTP协议基础上加入SSL加密层&#xff0c;确保了数据在用户浏览器和服务器之间的传输是加密的&#xff0c;有效防止数据被窃取或篡改&#x…

使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理

教程简述 在本教程中&#xff0c;您将学习在阿里云交互式建模平台PAI-DSW x Free Prompt Editing&#xff08;CVPR2024中选论文算法&#xff09;图像编辑算法&#xff0c;开发个人AIGC绘图小助理&#xff0c;实现文本驱动的图像编辑功能单卡即可完成AIGC图片风格变化、背景变化…

Cesium开发环境搭建(一)

1.下载安装Node.js 进入官网地址下载安装包 Node.js — Download Node.js https://cdn.npmmirror.com/binaries/node/ 选择对应你系统的Node.js版本&#xff0c;这里我选择的是Windows系统、64位 安装完成后&#xff0c;WINR&#xff0c;输入node --version&#xff0c;显示…

React + SpringBoot实现图片预览和视频在线播放,其中视频实现切片保存和分段播放

图片预览和视频在线播放 需求描述 实现播放视频的需求时&#xff0c;往往是前端直接加载一个mp4文件&#xff0c;这样做法在遇到视频文件较大时&#xff0c;容易造成卡顿&#xff0c;不能及时加载出来。我们可以将视频进行切片&#xff0c;然后分段加载。播放一点加载一点&am…

tcp aimd 窗口的推导

旧事重提&#xff0c;今天用微分方程的数值解观测 tcp aimd 窗口值。 设系统 AI&#xff0c;MD 参数分别为 a 1&#xff0c;b 0.5&#xff0c;丢包率由 buffer 大小&#xff0c;red 配置以及线路误码率共同决定&#xff0c;设为 p&#xff0c;窗口为 W&#xff0c;则有&…

HAL STM32F1 通过查表方式实现SVPWM驱动无刷电机测试

HAL STM32F1 通过查表方式实现SVPWM驱动无刷电机测试 &#x1f4cd;相关篇《基于开源项目HAL STM32F4 DSP库跑SVPWM开环速度测试》 ✨针对STM32F1系列&#xff0c;没有专门的可依赖的DSP库&#xff0c;为了实现特定函数的浮点运算快速计算&#xff0c;通过查表方式来实现&#…

番外篇 | 利用华为2023最新Gold-YOLO中的Gatherand-Distribute对特征融合模块进行改进

前言:Hello大家好,我是小哥谈。论文提出一种改进的信息融合机制Gather-and-Distribute (GD) ,通过全局融合多层特征并将全局信息注入高层,以提高YOLO系列模型的信息融合能力和检测性能。通过引入MAE-style预训练方法,进一步提高模型的准确性。🌈 目录 🚀1.论文解…

如何解锁植物大战僵尸杂交版v2.0.88所有植物

如何解锁植物大战僵尸杂交版v2.0.88所有植物 前言安装相关软件快速解锁方法 前言 经过探索植物大战僵尸杂交版植物解锁和关卡有关&#xff0c;所以通过所有关卡就可以解锁所有植物。 安装相关软件 1.安装植物大战僵尸 2.安装Hex Editor Neo 快速解锁方法 本文参考如何修改…