企业本地大模型用Ollama+Open WebUI+Stable Diffusion可视化问答及画图

最近在尝试搭建公司内部用户的大模型,可视化回答,并让它能画图出来, 主要包括四块:

  1. Ollama 管理和下载各个模型的工具
  2. Open WebUI 友好的对话界面
  3. Stable Diffusion 绘图工具
  4. Docker 部署在容器里,提高效率

以上运行环境Win10, Ollama,SD直接装在windows10下, 然后安装Docker Desktop版, 将Open WebUI部署在Docker内

一 Ollama

直接去https://ollama.com/ 下载安装

Ollama修改存储路径

不改的话系统盘装不下,默认情况下ollama模型的存储目录如下:

macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users\<username>\.ollama\models

我的Windows10, 则需设置环境变量 OLLAMA_MODELS, 把它设置为所选目录。

OLLAMA_MODELS=D:\ollama-models

如果想在其他电脑用ip可以访问加环境变量,为了安全可以不加:

OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*

ollama 环境变量
默认端口:11434 , 打开显示Ollama is running 表示成功
ollama 是否成功安装

Ollama安装大模型和索引模型

从这里查看模型库: https://ollama.com/library
下载 qwen2 qwen ,chinese, llama3 shaw/dmeta-embedding-zh 等模型

阿里巴巴的大模型:
ollama run  qwen
ollama run qwen:14b
ollama run qwen:32b
ollama run qwen:72b
ollama run qwen:110b   # 110b 表示该模型包含了 1100 亿(110 billion)个参数
​
​
脸书大模型:
ollama run llama2
ollama run llama3
ollama run llama3:8b
​
谷歌的大模型:
ollama run gemma
​
微软的大模型
ollama run phi3
​
显示所有模型
# ollama list
​
删除模型
# ollama rm llama3:latest

下载完后可以直接在CMD下与它对话:
ollama list

二 Docker

下载:https://www.docker.com/products/docker-desktop/ 最新版本, 我当时下载的l默认版本 4.31.1, 后来发现是大坑, 一会儿再讲原因, 后来重装了4.29.0,从这里下载历史版本:
https://docs.docker.com/desktop/release-notes/

docker提速改国内源下载:

"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"]

改docker源
参考: https://www.cnblogs.com/Flat-White/p/17107494.html

docker修改默认存储位置

缓存文件还是不要放在C盘上,得改到其他盘。 发现4.31.0无论如何没有data那个目录,反复很多次不成功,在搜了一晚上后差点放弃不改路径了, 后来换了个版本4.29.0后正常了,将C盘AppData\docker\wsl\下的缓存改到D:\docker-data:

wsl --shutdown
wsl --export docker-desktop-data D:\docker-data\docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data D:\docker-data D:\docker-data\docker-desktop-data.tar --version 2

参考: https://www.cnblogs.com/xhznl/p/13184398.html

三 Stable Diffusion

直接用秋叶大佬的一键安装包: https://www.stablediffusion-cn.com/sd/sd-install/118.html
安装上常规的插件ControlnetLora, 把远程监听打开,让其他的机子可以访问
这个不用多说, 里面的使用以后我再开个贴子

四 Open WebUI

前面已经部署过docker, 目的是方便管理维护, 在CMD下:

docker run -d -p 3450: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

Open WebUI查看Ollama 关联

改了默认端口 3000,改为3450的目的是与后面的知识库部署有冲突
默认要注册个帐号,登进去查看关联的Ollama地址对不对
open web ui 关联ollama模型

Open WebUI关联Stable Diffusion

填上SD地址,选好SD模型名称(**注意是SD的生成图片的模型,不是Ollama的大模型 **), 权限字符串估计是个认证防止很多人联SD来用占资源,加个123的密码
open web ui关联SD

五 最终效果展示

二种不同的模型不同的回答,qwen2要强得多
在这里插入图片描述
画图要装stable diffusion-prompt-generator模型,然后在回答文字下面选那排图标,有个生成图象的图标,点它,等一会儿就生成出来了
在这里插入图片描述

交流q:

link :  316853809

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

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

相关文章

高薪程序员必修课-Spring中如果核心线程数为0,线程池会如何执行

目录 前言 线程池的原理 核心线程数为0的情况 示例代码 示例解释 运行示例 示例运行分析 总结 前言 在Spring&#xff08;以及底层的Java Executor 框架&#xff09;中&#xff0c;如果线程池的核心线程数设置为0&#xff0c;线程池的行为将受到影响。了解这种情况下线程…

python库 - json

文章目录 主要功能常用函数1. json.dumps()2. json.loads()3. json.dump()4. json.load() 自定义序列化和反序列化自定义序列化自定义反序列化 json 是 Python 标准库中的一个模块&#xff0c;用于处理 JSON&#xff08;JavaScript Object Notation&#xff09;数据格式。JSON …

17-Pandas缺失值处理

Python Pandas缺失值处理 在一些数据分析业务中&#xff0c;数据缺失是我们经常遇见的问题&#xff0c;缺失值会导致数据质量的下降&#xff0c;从而影响模型预测的准确性&#xff0c;这对于机器学习和数据挖掘影响尤为严重。因此妥善的处理缺失值能够使模型预测更为准确和有效…

20240627构造专题

写在前面&#xff1a;出场即巅峰&#xff08;明日模拟赛RP&#xff09; 一.何为构造 就是通过对一道题题面的分析可以发现某种规律&#xff08;类似于不完全归纳法&#xff09;&#xff0c;然后发掘本质&#xff0c;就可以很快的解题&#xff0c;但是显然我还没有掌握 二.一…

基于星火大模型的群聊对话分角色要素提取挑战赛Task1笔记

基于星火大模型的群聊对话分角色要素提取挑战赛Task1笔记 跑通baseline 1、安装依赖 下载相应的数据库 !pip install --upgrade -q spark_ai_python2、配置导入 导入必要的包。 from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler from sparkai.core.messages…

JAVA基础教程DAY2-类的构造方法及类的实例化调用

下面我们来讲如何建好类以及如何将它实例化 首先建立一个学生类Student&#xff0c;里面要求有属性&#xff0c;学号、年龄为int型&#xff0c;姓名&#xff0c;方法有学习study 在Student.java文件当中&#xff0c;我们完成以上代码为 public class Student {int age17;in…

【JS】期末复习题

一、选择题 1&#xff0e;下面四种标签哪种写法不正确&#xff08; D &#xff09;。 A&#xff0e;<html></html> B&#xff0e;<Html></Html> C&#xff0e;<HTML></HTML> D&#xff0e;<html><h…

React基础与核心概念探索

目录 React简介 起源与设计理念 JSX语法 什么是JSX&#xff1f; 为什么使用JSX&#xff1f; JSX的转换过程 组件化架构 React组件的概念 分类&#xff1a;函数组件 vs 类组件 状态管理 Props传递 虚拟DOM 高效DOM更新的秘密 工作原理 React简介 起源与设计理念 React&…

操作系统大题复习

磁盘调度算法 一次磁盘读写需要的时间 寻道时间 先来先服务FCFS 优点&#xff1a;公平 缺点&#xff1a;性能差&#xff0c;寻道时间长 最短寻道时间有限SSTF 缺点&#xff1a;可能产生饥饿现象 扫描算法SCAN 优点&#xff1a;不会产生饥饿现象 缺点&#xff1a;响应频率…

Node.js学习(一)

Node.js安装与入门案例&#xff1a; 需求&#xff1a;点击按钮&#xff0c;请求本地目录指定文件的内容&#xff0c;并显示在页面上 刚入门肯定想着直接写相对路径请求指定路径数据就行了&#xff0c;可是会发现不行。 网页运行在浏览器端&#xff0c;通常后续要发布&#xf…

docker部署wg-easy和firefly

Background WireGuard是一种新型的VPN协议,它通过在内核层运行,提供高效、安全、简单和现代的VPN解决方案。wg-easy是一个专为简化 WireGuard VPN配置和管理而设计的工具&#xff0c;提供了界面化的管理&#xff0c;进一步降低WireGuard 的使用门槛&#xff0c;让用户无需深入了…

在Linux中对Nginx配置rewrite跳转

nginx安装在IP为x.x.x.x的服务器上 rewrite语法&#xff1a; rewrite <正则表达式> <指定替换的内容> <flag标记> 注释&#xff1a;使用nginx提供的全局变量或自己设置的变量&#xff0c;结合正则表达式和标记位&#xff08;redirect返回302临时重定向…

css_23_多列布局

常用值&#xff1a; column-count&#xff1a;指定列数&#xff0c;值是数字。 column-width&#xff1a;指定列宽&#xff0c;值是长度。 columns &#xff1a;同时指定列宽和列数&#xff0c;复合属性&#xff1b;值没有数量和顺序要求。 column-gap&#xff1a;设置列边距…

Java时间转换

一、线程不安全 Date date new Date(); SimpleDateFormat dateFormat new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String prefix dateFormat.format(date);二、线程安全,建议使用 String t1 LocalDateTime.now().format(DateTimeFormatter.ofPattern("y…

【C++】STL-stack_queue

目录 1、stack和queue的使用 1.1 最小栈 1.2 栈的弹出和压入序列 1.3 二叉树的层序遍历 2、stack和queue的模拟实现 2.1 适配器 2.2 deque 2.2.1 deque的成员变量 2.2.2 deque的迭代器 2.2.3 deque尾插元素 2.2.4 deque头插元素 2.2.5 下标访问 2.2.6 deque的不足 …

Transformer模型学习

Transformer模型是深度学习领域的一种创新架构&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;任务中表现出色。它是由Vaswani等人在2017年的论文《Attention is All You Need》中首次提出的。以下是对Transformer模型的详细介绍&#xff1a; Transformer的起源和…

golang结合neo4j实现权限功能设计

neo4j 是非关系型数据库之图形数据库&#xff0c;这里不再赘述。 传统关系数据库基于rbac实现权限, user ---- role ------permission,加上中间表共5张表。 如果再添上部门的概念&#xff1a;用户属于部门&#xff0c;部门拥有 角色&#xff0c;则又多了一层&#xff1a; user-…

力扣刷题--3158. 求出出现两次数字的 XOR 值【简单】

题目描述 给你一个数组 nums &#xff0c;数组中的数字 要么 出现一次&#xff0c;要么 出现两次。 请你返回数组中所有出现两次数字的按位 XOR 值&#xff0c;如果没有数字出现过两次&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,1,3] 输出&…

数据加密解密和哈希的解析

[S1301]数据的加解密 对提供的原始数据&#xff08;字符串或者二进制数组&#xff09;进行加密是数据保护框架体提供的基本功能&#xff0c;接下来我们利用一个简单的控制台程序来演示一下加解密如何实现。数据的加解密均由IDataProtector对象来完成&#xff0c;而该对象由IDa…

Linux硬链接和软链接(符号链接)

ln 是 Linux 和 Unix 系统中用来创建链接的命令。它的基本用法如下&#xff1a; 创建硬链接&#xff1a; ln source_file target_link这会创建一个名为 target_link 的硬链接&#xff0c;指向 source_file。硬链接实际上是文件系统中的一个额外条目&#xff0c;指向相同的数据块…