本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

最近几年,随着ChatGPT的发布,越来越多的大模型喷涌而出,越来越多的人体会到了大模型带来的便利,如知识问答代码编写语音合成图像合成智能对话等等。大模型的参数量通常非常大,得益于大模型框架以及量化技术的发展,目前,我们在个人电脑上也能够部署和推理大模型,即安全又隐私。

今天,给大家介绍一下如何在个人电脑上通过OllamaOpenWeb-UI搭建一个属于自己的多模态大模型,能够结合本地知识库进行智能问答、图像分析等,并结合Dify构建本地的智能体。支持Windows、macos、Linux。

下面是一个样例展示:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

目录

一、说明

二、安装Docker

三、安装和配置Ollama

四、安装和配置Open-WebUI

五、Playground

六、Ollama和Dify结合,打造本地模型+智能体

七、总结

一、说明

本文目前只介绍Macos的部署教程,因为主要用到docker,其他系统部署操作类似。

1.1 Ollama介绍

Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。以下是关于Ollama的详细介绍:

1.1.1 主要特点
  1. 简化部署:Ollama旨在简化在Docker容器中部署LLM的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。
  2. 轻量级与可扩展:作为轻量级框架,Ollama保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。
  3. API支持:提供了一个简洁的API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。
  4. 预构建模型库:包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。
  5. 跨平台支持:提供针对macOS、Windows(预览版)、Linux以及Docker的安装指南,确保用户能在多种操作系统环境下顺利部署和使用Ollama。
www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!
1.1.2 使用场景
  1. 聊天机器人:利用Ollama部署的LLM,可以创建具有智能对话功能的聊天机器人。
  2. 文本生成:可以用于生成各种文本内容,如新闻文章、博客文章、诗歌等。
  3. 问答系统:能够回答用户提出的各种问题,适用于多种问答场景。
  4. 代码生成:可以生成多种编程语言的代码,如Python、JavaScript等。

1.2 Open-WebUI介绍

Open WebUI(前身为Ollama WebUI)是一个专为大型语言模型(LLM)设计的可扩展、功能丰富且用户友好的自托管Web管理工具,旨在为用户提供直观、高效的大模型交互体验。以下是对Open WebUI的详细介绍:

1.2.1 主要特点
  1. 离线运行:Open WebUI设计用于完全离线运行,无需依赖外部服务器或网络连接,提高了数据的安全性和隐私保护。
  2. 多模型支持:支持各种LLM运行器,包括Ollama和兼容OpenAI的API,用户可以根据需要轻松集成和管理不同的大型语言模型。
  3. 直观界面:聊天界面灵感来源于ChatGPT,确保了用户友好的体验。同时,提供响应式设计,在桌面和移动设备上都能享受无缝的体验。
  4. 轻松设置:支持使用Docker或Kubernetes(kubectl、kustomize或helm)无缝安装,简化了部署和配置过程。
www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!
1.2.2 应用场景

Open WebUI适用于多种场景,包括但不限于:

  1. 聊天机器人:利用Open WebUI部署的LLM,可以创建具有智能对话功能的聊天机器人,用于客户服务、娱乐互动等领域。
  2. 文本生成:可以用于生成各种文本内容,如新闻文章、博客文章、诗歌等,满足内容创作的需求。
  3. 问答系统:能够回答用户提出的各种问题,适用于教育、咨询、医疗等多个领域。
  4. 代码生成:可以生成多种编程语言的代码,如Python、JavaScript等,辅助开发者进行代码编写和调试。

二、安装Docker

Docker直接在官网安装Docker Desktop就行,根据自己的操作系统下载对应的安装包。大家一定要注意Docker的网址,可不要被坑了。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

三、安装和配置Ollama

3.1 安装Ollama

同样,ollama也提供了非常简单的安装方式,直接在官网下载对应系统的安装包即可,同样也需要注意网址,不要被坑了。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

安装完成之后,在命令行界面执行下面的命令

ollama

如果出现下面的提示,则说明安装成功:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

3.2 下载多模态大模型

可以在ollama官网找到非常多的大模型,然后根据自己的显卡(MacOS M芯片是内存)大小选择对应的模型,根据经验12G显存可以运行大概7B的模型。ollama的模型库包含了热门的llama3.2qwen2.5gemma2等模型,都非常优秀。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

由于本文主要是介绍在本地部署多模态大模型,因此主要下载llava:13bqwen:14b-chat这两个模型,其他模型大家可以自行探索,在命令行执行下面的命令进行下载:

# 下载llava:13b模型   ollama pull llava:13b   # 下载qwen:14b-chat   ollama pull qwen:14b-chat

下载完成后,提示如下:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

3.3 ollama开启远程访问

3.3.1 windows设置

在「电脑」->「属性」->「高级系统设置」->「环境变量」中,添加一行记录:

变量:OLLAMA_HOST,值:0.0.0.0

3.3.2 MacOS设置

在~/.bashrc中的最后一行添加下面的环境变量

export OLLAMA_HOST=0.0.0.0

然后执行,下面的命令使环境变量在当前shell生效

source ~/.bashrc
3.3.3 重启ollama

重启ollama使得刚才设置的环境变量生效。

四、安装和配置OpenWebUI

下面介绍一下如何安装和配置Open-WebUI

4.1 安装Open-WebUI

在命令行界面执行下面的命令,安装和启动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

拉取镜像并启动容器完成之后,命令行界面如下:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

4.2 登录Open-WebUI

在浏览器输入:http://127.0.0.1:3000,进入到Open-WebUI首页。首先注册一下账号密码:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!
www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

注册完成并登录,进入到首页:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

4.3 配置大模型

点击右上角的头像,选择「设置」,在弹出的窗口中选择「界面」,在「默认模型」中选择刚才下载的llava:13b模型:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

五、Playground

接下来,让我们探索一下Open-WebUI的功能。

5.1 多模态问答

在首页,选择一张图片,并进行提问,可以看到大模型能够准确的识别出图片的内容和含义,并自动进行总结,同时还精准的识别除了我画的红色框

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

5.2 知识库问答

在知识库页面上传一个文档:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

然后在大模型首页的输入框里,按#选择知识库,并输入问题Prompt,回车之后,open-webui会先在知识库中检索相关的信息,并结合问题Prompt一起送入大模型。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

5.3 联网搜索

Open-WebUI支持联网搜索的功能,这里可以让Open-WebUI连接我们之前部署的SearXNG搜索引擎,可以参考我往期的这篇文章《》

在「设置」界面,选择「联网搜索」,输入我们部署好的SearXNG搜索引擎的地址:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

六、Ollama和Dify结合,打造本地模型+智能体

ollama也可以和Dify进行结合,使用本地大模型来构建智能体,Dify的部署可以参考我往期的文章《》

进入到Dify首页,点击右上角的头像,选择「设置」:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

在「模型供应商」选择Ollama

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

在弹出的界面中:

模型名称:填写用ollama list命令列出来的模型名

模型基础URL:http://host.docker.internal:11434

点击保存即可。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

尝试用Ollama搭建一个智能体,并将模型设置为刚才的ollama模型:

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

七、总结

本文主要介绍了如何在本地安装Ollama、Open-WebUI,并介绍了Open-WebUI、Dify结合Ollama的一些玩法,还有更多高阶功能等待你去探索。

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉👈

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

三、LLM大模型系列视频教程

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

目标:了解AI大模型的基本概念、发展历程和核心原理。

内容

  • L1.1 人工智能简述与大模型起源
  • L1.2 大模型与通用人工智能
  • L1.3 GPT模型的发展历程
  • L1.4 模型工程
  • L1.4.1 知识大模型
  • L1.4.2 生产大模型
  • L1.4.3 模型工程方法论
  • L1.4.4 模型工程实践
  • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

内容

  • L2.1 API接口
  • L2.1.1 OpenAI API接口
  • L2.1.2 Python接口接入
  • L2.1.3 BOT工具类框架
  • L2.1.4 代码示例
  • L2.2 Prompt框架
  • L2.3 流水线工程
  • L2.4 总结与展望

阶段3:AI大模型应用架构实践

目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

内容

  • L3.1 Agent模型框架
  • L3.2 MetaGPT
  • L3.3 ChatGLM
  • L3.4 LLAMA
  • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

内容

  • L4.1 模型私有化部署概述
  • L4.2 模型私有化部署的关键技术
  • L4.3 模型私有化部署的实施步骤
  • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉👈

www.zeeklog.com  - 本地部署多模态大模型,结合Open-WebUI和Dify实现多模态对话、智能体!

Read more

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.