使用WebUI访问本地Deepseek(Ollama集成Open WebUI)

在《deepseek本地部署和使用(Linux虚拟机)》中,我们使用Ollama部署了Deepseek-r1,但是只能通过命令行方式交互,默认Ollama启动后,会启动一个监听到127.0.0.1,用以接收POST 请求,服务器使用指定的 DeepSeek-R1 模型处理提示并返回生成的响应。

 ~]# ss -tlnp|grep ollam                            
LISTEN     0           4096                 127.0.0.1:11434                0.0.0.0:*         users:(("ollama",pid=441905,fd=3)) 

curl 发送请求

请求命令如下:

curl -X POST http://127.0.0.1:11434/api/generate \-H "Content-Type: application/json" \-d '{"model": "deepseek-r1:1.5b","prompt": "请比较一下5.4和5.12的大小。"}'

回显也是JSON格式,我猜测 Ollama 的 API 可能默认是以流式的方式返回数据,也就是每次生成一个词就发送一次响应。

集成WebUI

执行如下命令即可启动open webui(需要联网);在无法联网的场景下需要事先下载ghcr.io/open-webui/open-webui:main镜像,上传到服务器之后启动。

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

该命令的参数释义如下:

1. docker run
  • 含义:用于创建并启动一个新的 Docker 容器。

  • 作用:这是 Docker 的核心命令之一,用于运行容器。

2. -d
  • 含义-d 表示以 ** detached 模式** 运行容器,即在后台运行。

  • 作用:容器会在后台运行,不会占用当前终端。

3. -p 3000:8080
  • 含义:将容器内部的端口 8080 映射到宿主机的端口 3000

  • 作用:通过 localhost:3000 访问容器内部运行的服务(通常是 Web 服务)。

  • 效果:
  • LISTEN 0      4096         0.0.0.0:3000       0.0.0.0:*    users:(("docker-proxy",pid=347493,fd=4))
    LISTEN 0      4096            [::]:3000          [::]:*    users:(("docker-proxy",pid=347507,fd=4))
4. --add-host=host.docker.internal:host-gateway
  • 含义:向容器的 /etc/hosts 文件中添加一个自定义的 hosts 记录。

  • 作用:允许容器内的服务通过 host.docker.internal 访问宿主机的网络资源。

    • host.docker.internal 是 Docker 提供的一个特殊域名,指向宿主机的网络接口。

    • host-gateway 是宿主机的网关地址。

  • 效果:172.17.0.1      host.docker.internal
5. -v open-webui:/app/backend/data
  • 含义:将宿主机的 open-webui 目录挂载到容器内的 /app/backend/data 目录。

  • 作用:实现宿主机和容器之间的数据共享。容器内的数据可以持久化到宿主机的目录中。

  • 效果:
  • ~]# ll /var/lib/docker/volumes/open-webui
    总用量 0
    drwxr-xr-x 5 root root 67 2月   7 10:39 _data
6. --name open-webui
  • 含义:为容器指定一个名称 open-webui

  • 作用:可以通过这个名称方便地管理和操作容器,例如使用 docker stop open-webui 停止容器。

7. --restart always
  • 含义:设置容器的重启策略为 always

  • 作用:无论容器因为何种原因退出,Docker 都会自动重启该容器。

8. ghcr.io/open-webui/open-webui:main
  • 含义:指定要运行的 Docker 镜像及其版本。

    • ghcr.io/open-webui/open-webui 是镜像的名称,存储在 GitHub Container Registry (GHCR) 中。

    • main 是镜像的标签,表示使用的是主分支的版本。

启动后状态验证

~]# docker ps 
CONTAINER ID   IMAGE                                COMMAND           CREATED        STATUS                  PORTS                                       NAMES
50c57b182bf3   ghcr.io/open-webui/open-webui:main   "bash start.sh"   20 hours ago   Up 20 hours (healthy)   0.0.0.0:3000->8080/tcp, :::3000->8080/tcp   open-webui

访问 OpenWebUI 界面(因服务器性能,可能相应比较慢)

打开浏览器,在地址栏输入 http://主机IP地址:3000/ 并打开,进入 OpenWebUI 的聊天测试界面。首次进入需要注册账号。

选择并连接 Ollama 模型

在聊天界面的左上角选择当前在 Ollama 中运行的大语言模型。如果无选择内容,则可能是因为无法连接到 Ollama,可以进行以下修改:

 ~]# systemctl edit ollama

添加
[Service]
Environment="OLLAMA_HOST=0.0.0.0"

重启 Ollama 服务:

systemctl daemon-reload
systemctl restart ollama

重新刷新open webui的页面即可。

补充一点内容: 
1、open webui请求Ollama服务的时候,会触发ollama运行对应的model,效果其实跟ollama run mode-name一样,在回答问题期间,通过ollama ps则可查看运行的model: ~]# ollama ps NAME ID SIZE PROCESSOR UNTIL deepseek-r1:1.5b a42b25d8c10a 1.6 GB 100% CPU 4 minutes from now deepseek-r1:7b 0a8c26691023 5.5 GB 100% CPU 4 minutes from now 2、问题回答完毕,对应的model不会立即终止运行,如果一直没有问题请求,则超时被杀,再次查看就空空如也了: ~]# ollama ps NAME ID SIZE PROCESSOR UNTIL

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

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

相关文章

windows蓝牙驱动开发-蓝牙 LE 邻近感应配置文件

邻近感应检测是蓝牙低功耗 (LE) 的常见用途。 本部分提供了创建可用于开发 UWP 设备应用的邻近感应配置文件的设备实现的指南。 在开发此应用之前,应熟悉蓝牙 LE 函数和蓝牙 LE 邻近感应配置文件规范。 示例服务声明 蓝牙低功耗引入了一个新的物理层,…

模型 冗余系统(系统科学)

系列文章分享模型,了解更多👉 模型_思维模型目录。为防故障、保运行的备份机制。 1 冗余系统的应用 1.1 冗余系统在企业管理中的应用-金融行业信息安全的二倍冗余技术 在金融行业,信息安全是保障业务连续性和客户资产安全的关键。随着数字化…

AI绘画社区:解锁艺术共创的无限可能(9/10)

AI 绘画:不只是技术,更是社交新潮流 在科技飞速发展的今天,AI 绘画早已不再仅仅是一项孤立的技术,它正以惊人的速度融入我们的社交生活,成为艺术爱好者们交流互动的全新方式,构建起一个充满活力与创意的社…

DeepSeek使用技巧大全(含本地部署教程)

在人工智能技术日新月异的今天,DeepSeek 作为一款极具创新性和实用性的 AI,在众多同类产品中崭露头角,凭借其卓越的性能和丰富的功能,吸引了大量用户的关注。 DeepSeek 是一款由国内顶尖团队研发的人工智能,它基于先进…

IDEA - 一个启动类多次启动方法

More Run/Debug -> Modify Run Configuration -> modify options -> Allow mutiple instances

TypeScript 中的对象类型:深入理解接口和类型别名

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【Java基础】序列化、反序列化和不可变类

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Java基础面经 📚本系列文章为个…

吴恩达深度学习——卷积神经网络的特殊应用

内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习使用。 文章目录 人脸识别相关定义Similarity函数使用Siamese网络实现函数d使用Triplet损失学习参数 神经风格迁移深度卷积网络可视化神经风格迁移的代价函数内容损失函数风格损失函数 人脸识别 …

搭建linux qt5.6环境

文章目录 准备工作步骤测试 准备工作 1、linux虚拟机环境 2、linux qt安装包相关文件,本文采用压缩包方式 步骤 1)启动虚拟机并登入 2)打开linux终端命令行,ifconfig获取当前linux环境的ip 3)使用WinSCP设置好ip、…

C++ 使用CURL开源库实现Http/Https的get/post请求进行字串和文件传输

CURL开源库介绍 CURL 是一个功能强大的开源库,用于在各种平台上进行网络数据传输。它支持众多的网络协议,像 HTTP、HTTPS、FTP、SMTP 等,能让开发者方便地在程序里实现与远程服务器的通信。 CURL 可以在 Windows、Linux、macOS 等多种操作系…

基础入门-网站协议身份鉴权OAuth2安全Token令牌JWT值Authirization标头

知识点: 1、网站协议-http/https安全差异(抓包) 2、身份鉴权-HTTP头&OAuth2&JWT&Token 一、演示案例-网站协议-http&https-安全测试差异性 1、加密方式 HTTP:使用明文传输,数据在传输过程中可以被…

07苍穹外卖之redis缓存商品、购物车(redis案例缓存实现)

课程内容 缓存菜品 缓存套餐 添加购物车 查看购物车 清空购物车 功能实现:缓存商品、购物车 效果图: 1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压…

DeepSeek-R1 本地大模型搭建对接API

DeepSeek-R1 在这里将学到很多知识 欢迎使用使用DeepSeek-R1本地大模型DeepSeek 的模型基础说明DeepSeek的本地 API 说明DeepSeek 本地模型搭建1、执行命令安装及测试 DeepSeek-R1 API接口调用当然,我们为了让用户更加便捷,我们把API 接口全部放到上面截…

250207-MacOS修改Ollama模型下载及运行的路径

在 macOS 上,Ollama 默认将模型存储在 ~/.ollama/models 目录。如果您希望更改模型的存储路径,可以通过设置环境变量 OLLAMA_MODELS 来实现。具体步骤如下: 选择新的模型存储目录:首先,确定您希望存储模型的目标目录路…

单片机之基本元器件的工作原理

一、二极管 二极管的工作原理 二极管是一种由P型半导体和N型半导体结合形成的PN结器件,具有单向导电性。 1. PN结形成 P型半导体:掺入三价元素,形成空穴作为多数载流子。N型半导体:掺入五价元素,形成自由电子作为多…

CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战

前一篇文章,学习率调整策略 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started CNN 卷积神经网络 CNN什么是卷积工作原理深度学习的卷积运算提取特征不同特征核的效果比较卷积核感受野共享权重池化 示例源码 …

3.1 学习UVM中的uvm_component类分为几步?

文章目录 前言一、定义1.1 角色和功能:1.2 与其他UVM类的区别:1.3 主要属性和方法: 二、使用方法2.1 定义和实例化:2.2 生命周期管理:2.3 组件间通信: 三、何时使用3.1 使用场景3.2 适用组件3.3 与uvm_obje…

谷云科技RestCloud全面接入DeepSeek 开启智能新时代

在数字化转型的浪潮中,谷云科技始终走在数据集成与智能应用领域的前沿。近期,随着 DeepSeek 的火爆出圈,谷云科技紧跟技术趋势,对旗下两大核心产品 —— 数据集成软件 ETLCloud 和 AI Agent 智能体构建平台进行了重大升级&#xf…

Kafka 入门与实战

一、Kafka 基础 1.1 创建topic kafka-topics.bat --bootstrap-server localhost:9092 --topic test --create 1.2 查看消费者偏移量位置 kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group test 1.3 消息的生产与发送 #生产者 kafka-cons…

【个人开发】macbook m1 Lora微调qwen大模型

本项目参考网上各类教程整理而成,为个人学习记录。 项目github源码地址:Lora微调大模型 项目中微调模型为:qwen/Qwen1.5-4B-Chat。 去年新发布的Qwen/Qwen2.5-3B-Instruct同样也适用。 微调步骤 step0: 环境准备 conda create --name fin…