windows下open webui+ollama+sd webui

原文:https://wangguo.site/Blog/2024/Q2/2024-06-14/

说明:安装使用环境是在Windows下

1、给ollama一个好看的交互界面(open webui)

1.1、ollama安装

  • 安装:在ollama官网下载windows版本进行安装
  • 模型列表:支持的模型列表可以在ollama模型仓库查看
    在这里插入图片描述
  • 模型下载:使用ollama pull 模型名称下载模型
    如:ollama pull llama3
  • 模型使用
    • 终端使用:使用ollama run 模型名称即可使用
      如:ollama run llama3
    • api使用:使用ollama serve、或者直接点击ollama图标即可在这里插入图片描述
  • api服务验证:浏览器端输入127.0.0.1:11434,显示ollama id running即为正常
    在这里插入图片描述

1.2、open webui安装

Open WebUI是一个可扩展、功能强大且用户友好的自主WebUI,旨在完全离线操作。它支持多种LLM运行器,包括Ollama和OpenAI,兼容API。

  • 基于docker安装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
  • 本地打开:localhost:3000
    首次打开需要注册,第一位注册的用户默认为管理员(注册的信息随便填写,只要邮箱符合@规则即可)在这里插入图片描述
    此时我们点击“选择一个模型”的时候是没有模型列表的,这个时候就需要配置ollama了

1.3、open webui引入ollama

  • 首先,我们需要让ollama可以通过本地ip访问,windows下需要新建环境变量

步骤:windows下直接搜索编辑系统环境变量-环境变量-在系统变量中新建-变量名:OLLAMA_HOST;变量值:0.0.0.0在这里插入图片描述

  • 验证ollama:此时在浏览器输入本地ip+端口号就显示可以正常使用了。比如我的地址为:192.168.1.9:11434
    在这里插入图片描述
  • 在open webui中配置ollama服务,并进行验证

步骤:点击右上角的图标-设置-管理员设置-外部连接-在ollama api中填写本地ip+端口号,如192.168.1.9:11434
验证:点击后面的刷新按钮,弹出已验证服务器连接
在这里插入图片描述

  • open webui中使用ol lama服务
    此时就可以选择ollama下载的模型进行对话使用了
    在这里插入图片描述

2、在open webui中连接sd,引入图像生成的功能

2.1、sd webui安装

  • 前提:需要安装git/python
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
./webui.bat
  • 打开本地IP+端口号7860
    在这里插入图片描述
  • web.bat中添加启动参数(13行左右),以便sd提供api服务
set COMMANDLINE_ARGS=--xformers --api --listen --share

2.2、open webui引入sd

管理员面板- 设置-图像里面按照下图进行配置,所有的参数都可以根据自己的进行修改在这里插入图片描述

3、使用

  • 正常对话,进行描述
    在这里插入图片描述
  • 点击图像生成按钮,便可以生成图像
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue2+echarts实现简易的2d地图效果

背景 公司的一个可视化数据大屏里面,有一个使用echarts实现的2d地图。不是我开发的,在此记录一下实现过程以及一些扩展解构。应该是从哪个航空航线图改动了一下,效果看起来还是可以的。 效果预览 版本 vue版本使用的是"^2.6.12"…

SringBoot 如何使用HTTPS请求及Nginx配置Https

SringBoot 如何使用HTTPS请求及Nginx配置Https SringBoot 如何使用HTTPS请求生成证书导入证书及配制创建配置类将pfx转成.key和.pem Nginx 安装SSL依赖./configure 安装依赖编译安装完openssl后报了新错 Nginx配置 SringBoot 如何使用HTTPS请求 生成证书 由于业务数据在传输过…

Polkadot <> Kusama 桥:打造无信任互操作性的开创性范例

原文&#xff1a;https://www.parity.io/blog/trustless-interoperability 作者&#xff1a;Adrian Catangiu&#xff5c;Rust 区块链核心工程师&#xff0c;Parity Technologies 编译&#xff1a;OneBlock Polkadot <> Kusama 桥是无信任互操作性的开创性范例。本文深…

前端面试项目细节重难点(已工作|做分享)(九)

面试官&#xff1a;请你讲讲你在工作中如何开发一个新需求&#xff0c;你的整个开发过程是什么样的&#xff1f; 答&#xff1a;仔细想想&#xff0c;我开发新需求的过程如下&#xff1a; &#xff08;1&#xff09;第一步&#xff1a;理解需求文档&#xff1a; 首先&#x…

禁用PS/Photoshop等一系列Adobe旗下软件联网外传用户数据操作

方案一&#xff1a; 下载火绒杀毒&#xff0c;在联网请求上禁用Adobe软件的联网请求&#xff0c;甚至还可以额外发现哪些是它要想要偷偷摸摸干的。 方案二&#xff1a; 最后注意&#xff1a; 用盗版软件只是获得了使用权&#xff01;

React state(及组件) 的保留与重置

当在树中相同的位置渲染相同的组件时&#xff0c;React 会一直保留着组件的 state return (<div><Counter />{showB && <Counter />} </div> ) // 当 showB 为 false, 第二个计数器停止渲染&#xff0c;它的 state 完全消失了。这是因为 React…

缩窄route范围来提速本地打包的尝试

目录 为什么要缩窄route范围缩窄route的方式意外触发的重复构建重复构建的原因解决方案 为什么要缩窄route范围 对于一些大单页&#xff0c;单个router-view中可能包含上百个页面。但是开发的时候其实并不需要那么多调试那么多页面。 因此&#xff0c;为了节省不必要的打包和热…

Java内存模型,堆、栈和方法区的区别

Java内存管理是Java虚拟机&#xff08;JVM&#xff09;技术的核心之一。了解Java内存管理对于提高程序性能、解决内存泄漏和优化资源利用至关重要。 一、Java内存模型&#xff08;Java Memory Model, JMM&#xff09; Java内存模型描述了Java程序中变量&#xff08;包括实例字…

ChatGPT等大模型可以代替搜索引擎吗?

在知乎看到一个问题&#xff0c;回答了一下&#xff0c;分享到这里。 把ChatGPT当作搜索引擎可靠性差点&#xff0c;但是可行。 代替搜索引擎 1、写代码 我们可以让GPT写一段算法代码或者使用某个语言API的示例&#xff0c;然后只需要把这段代码粘贴到IDE中&#xff0c;简单…

Qt创建静态库及静态库使用

Qt创建静态库及静态库使用 1. 创建一个库文件 选择静态库 将需要打包的.h 和.cpp文件添加到程序中&#xff0c; 在编译器版本下的debug和release模式下分别编译&#xff08;右键项目&#xff0c;点击“qmake”,再点击“构建”&#xff09;后&#xff0c;在对应的的build目录下…

Golang | Leetcode Golang题解之第151题反转字符串中的单词

题目&#xff1a; 题解&#xff1a; import ("fmt" )func reverseWords(s string) string {//1.使用双指针删除冗余的空格slowIndex, fastIndex : 0, 0b : []byte(s)//删除头部冗余空格for len(b) > 0 && fastIndex < len(b) && b[fastIndex]…

java反序列化---cc6链

目录 Transformer[]数组分析 链条代码跟进 ChainedTransformer.transform() LazyMap.get() TiedMapEntry.getValue() TiedMapEntry.hashCode() HashMap.hash() HashMap.put()的意外触发 LazyMap.get()中key的包含问题 cc6的payload如下 import org.apache.commons.co…

html中a标签的多用性

在HTML中&#xff0c;<a> 标签&#xff08;通常称为锚标签或链接标签&#xff09;具有多种用途和强大的功能。以下是<a>标签的一些主要多用性&#xff1a; 网页间的导航&#xff1a; 这是<a>标签最常见的用途。通过href属性&#xff0c;可以指定一个URL&am…

基于springboot的城市垃圾分类管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的城市垃圾分类管理系统,…

Linux编辑器 vim使用 (解决普通用户无法进行sudo提权问题)

文章目录 一.vim是什么命令模式底行模式 二.关于vim暂停问题三.注释批量化注释批量化去注释 四.解决普通用户无法进行sudo提权问题五.vim的配置 一.vim是什么 用过VS的都知道&#xff0c;拥有着编辑器编译器调试.编写C&#xff0c;C&#xff0c;python等的功能。就是集成 Linu…

零基础开始学习鸿蒙开发-@State的使用以及定义

1.State组件介绍 首先定义 State为鸿蒙开发的一个状态组件&#xff0c;当它修饰的组件发生改变时&#xff0c;UI也会相应的刷新&#xff0c;简单介绍就是这样&#xff0c;下面我们用代码去体会一下。 2.定义DeliverParam类 首先定义一个模型类&#xff0c;类里面定义一个构造…

【C++ | const成员】一文了解类的 const数据成员、const成员函数、const对象、mutable 数据成员

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-06-14 2…

Linux ls-al命令实现,tree命令实现,不带缓存的文件IO

shell命令 ls -al 实现 stat配合目录流&#xff08;目录流链表加指针链表结点目录项dirent&#xff09; opendir&#xff0c;closedir&#xff0c;readdir。 const char *restrict pathname:路径&#xff08;文件名和路径不完全对等&#xff0c;&#xff08;文件名在当前目录…

关于反弹shell的学习

今天学习反弹shell&#xff0c;在最近做的ctf题里面越来越多的反弹shell的操作&#xff0c;所以觉得要好好研究一下&#xff0c;毕竟是一种比较常用的操作 什么是反弹shell以及原理 反弹Shell&#xff08;也称为反向Shell&#xff09;是一种技术&#xff0c;通常用于远程访问和…

【C语言习题】30.使用指针打印数组内容

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 使用指针打印数组内容 作业内容 写一个函数打印arr数组的内容&#xff0c;不使用数组下标&#xff0c;使用指针。 arr是一个整形一维数组。 2.解题思路 先定义一个数组&#xff0c;使用指针打印数组内容那就是说我们…