当前位置: 首页 > news >正文

大模型本地化部署(Ollama + Open-WebUI)

文章目录

  • 环境准备
    • 下载Ollama
    • 模型下载
    • 下载Open-WebUI
  • 本地化部署的Web图形化界面
  • 本地模型联网查询
    • 安装 Docker
    • 安装 SearXNG
    • 本地模型联网查询

环境准备

下载Ollama

  下载地址:Ollama网址

  安装完成后,命令行里执行命令

ollama -v

查看是否安装成功。安装成功会显示版本信息

在这里插入图片描述

ollama 的命令可通过 ollama -h 查看。

模型下载

  可以在 Ollama 网站的 Models 里查看公开的大模型(网址),也可以从大模型镜像源站 HF-Mirror 下载。

  以 Ollama 网站为例,点进一个大模型(如最近大火的 DeepSeek R1)

在这里插入图片描述

如图右下角的 ollama run deepseek-r1 就是下载命令,在第一次执行该命令时,ollama 将从网站下载大模型,在下载完成后,再执行这一命令就会加载模型,并进入交互模式:

在这里插入图片描述

:大部分模型都是有内容审查的,这很多时候限制了我们的使用灵活性,可以寻找带有 abliterated 后缀的模型,这些模型被注释了审查代码。(不过本人尝试发现 abliterated 版本的实际上仍存在审查机制,会拒绝回答某些问题)

下载Open-WebUI

  网上其他教程安装 Open-WebUI 一般都是在虚拟机 Docker 下安装的,这在 Windows 系统里很不方便。这里提供另外一种方法:首先安装 Python 3.11,然后在命令行里执行

pip install open-webui

即可完成 open-webui 的安装。

本地化部署的Web图形化界面

  首先,需要开启 Ollama 服务,运行一个大模型,在命令行里执行

ollama run 大模型名

其中模型名可以通过 ollama list 查看。启用 ollama 服务后,可以使用

ollama ps

命令查看当前运行的模型进程。

  随后再打开一个命令行,执行如下命令启用 open-webui 服务

open-webui serve

启动后可以在浏览器里输入以下地址,打开 Web 图形化界面:

localhost:8080
(本机IP):8080

其中第二个地址可以在局域网内的其他设备访问

  Open-WebUI 的界面如下

在这里插入图片描述

本地化部署完成!

本地模型联网查询

  未联网的情况下,很多问题大模型无法解决,回答也比较蠢(还会胡说),因此需要增加联网查询功能。

安装 Docker

  安装 Docker Desktop 即可(网址 Docker)。安装后用以下命令查询是否安装完成:

docker -v

安装 SearXNG

  执行如下命令拉取 SearXNG (一个可以本地部署的轻量化搜索引擎)

docker pull searxng/searxng

不过这个命令由于网站无法连接,下载往往失败,可以使用镜像源:

docker pull docker.m.daocloud.io/searxng/searxng

安装完成后即可在 Docker Desktop 里查看到 SearXNG Image:

在这里插入图片描述

  执行如下命令(最后面一串是 Image Name,注意要和你的 SearXNG 名字相同),将服务开在了端口 12345

docker run -d -p 12345:8080 docker.m.daocloud.io/searxng/searxng

随后可以在 Docker Desktop 的 Container/App 界面查看到运行的 SearXNG,显示运行在 12345 号端口。在命令行里使用

docker ps

命令也可以查看到运行中的 docker 镜像进程。

  在浏览器访问 localhost:12345,可以看到 SearXNG 服务已开启。

在这里插入图片描述

用默认配置的 SearXNG 很可能搜索不到东西,可以在配置里修改搜索引擎,改成大陆可以访问的那几个。

本地模型联网查询

  在 open-webui 界面下,用户->管理员面板->设置 里面,配置搜索引擎如下,并保存设置

在这里插入图片描述

此时询问问题,联网查询可能会报 403 错误,需要修改一个配置文件。执行

docker ps

查看 searxng 服务的 CONTAINER ID 号,随后执行以下命令(命令中的 <CONTAINER_ID> 替换为你 SearXNG 的 CONTAINER ID)

docker exec -it <CONTAINER_ID> sh

进入到镜像目录,随后进入 /etc/searxng/ 目录,使用 vi 修改 settings.yml 文件,在 formats 下面增加一行(- json)

在这里插入图片描述

修改文件后保存,然后 restart 容器。


  修改 settings.yml 后,open-webui 联网查询不再报 403 错误,但可能报 Expecting value: line 1 column 1 (char 0) 错误(这是因为返回值格式不满足 json 格式导致的解析错误)或 RemoteDisconnected('Remote end closed connection without response') 错误,笔者目前还没有找到好的解决方法,日后若解决了再补上这里。

(U•ェ•*U )

相关文章:

大模型本地化部署(Ollama + Open-WebUI)

文章目录 环境准备下载Ollama模型下载下载Open-WebUI 本地化部署的Web图形化界面本地模型联网查询安装 Docker安装 SearXNG本地模型联网查询 环境准备 下载Ollama 下载地址&#xff1a;Ollama网址 安装完成后&#xff0c;命令行里执行命令 ollama -v查看是否安装成功。安装成…...

C++哈希(链地址法)(二)详解

文章目录 1.开放地址法1.1key不能取模的问题1.1.1将字符串转为整型1.1.2将日期类转为整型 2.哈希函数2.1乘法散列法&#xff08;了解&#xff09;2.2全域散列法&#xff08;了解&#xff09; 3.处理哈希冲突3.1线性探测&#xff08;挨着找&#xff09;3.2二次探测&#xff08;跳…...

IME关于输入法横屏全屏显示问题-Android14

IME关于输入法横屏全屏显示问题-Android14 1、输入法全屏模式updateFullscreenMode1.1 全屏模式判断1.2 全屏模式布局设置 2、应用侧关闭输入法全屏模式2.1 调用输入法的应用设置flag2.2 继承InputMethodService.java的输入法应用覆盖onEvaluateFullscreenMode方法 InputMethod…...

网络工程师 (11)软件生命周期与开发模型

一、软件生命周期 前言 软件生命周期&#xff0c;也称为软件开发周期或软件开发生命周期&#xff0c;是指从软件项目的启动到软件不再被使用为止的整个期间。这个过程可以细分为多个阶段&#xff0c;每个阶段都有其特定的目标、任务和产出物。 1. 问题定义与需求分析 问题定义…...

【人工智能】基于Python的机器翻译系统,从RNN到Transformer的演进与实现

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 机器翻译(Machine Translation, MT)作为自然语言处理领域的重要应用之一,近年来受到了广泛的关注。在本篇文章中,我们将详细探讨如何使…...

网络工程师 (12)软件开发与测试

一、软件设计 &#xff08;一&#xff09;定义与目的 软件设计是从软件需求出发&#xff0c;设计软件的整体结构、功能模块、实现算法及编写代码的过程&#xff0c;旨在确定系统如何完成预定任务。其目标是确保目标系统能够抽象、普遍地完成预定任务&#xff0c;并为后续的软件…...

3.Spring-事务

一、隔离级别&#xff1a; 脏读&#xff1a; 一个事务访问到另外一个事务未提交的数据。 不可重复读&#xff1a; 事务内多次查询相同条件返回的结果不同。 幻读&#xff1a; 一个事务在前后两次查询同一个范围的时候&#xff0c;后一次查询看到了前一次查询没有看到的行。 二…...

Python字典详解:从入门到实践

Python字典详解&#xff1a;从入门到实践 字典&#xff08;Dictionary&#xff09;是Python中最重要且最常用的数据结构之一。本文将深入讲解字典的特性、操作方法和实际应用案例。 1. 字典简介 字典是可变的、无序的键值对集合&#xff0c;使用{}创建。每个元素由key: valu…...

91,【7】 攻防世界 web fileclude

进入靶场 <?php // 包含 flag.php 文件 include("flag.php");// 以高亮语法显示当前文件&#xff08;即包含这段代码的 PHP 文件&#xff09;的内容 // 方便查看当前代码结构和逻辑&#xff0c;常用于调试或给解题者提示代码信息 highlight_file(__FILE__);// 检…...

41【文件名的编码规则】

我们在学习的过程中&#xff0c;写出数据或读取数据时需要考虑编码类型 火山采用&#xff1a;UTF-16 易语言采用&#xff1a;GBK php采用&#xff1a;UTF-8 那么我们写出的文件名应该是何种编码的&#xff1f;比如火山程序向本地写出一个“测试.txt”&#xff0c;理论上这个“测…...

蓝桥杯备赛经验帖

蓝桥杯备赛经验帖 作者&#xff1a;blue 时间&#xff1a;2025.2.1 文章目录 蓝桥杯备赛经验帖1.为什么有这篇文章2.赛制3.比赛流程4.如何准备5.其他建议6.一些感悟 1.为什么有这篇文章 ​ 笔者近期发现&#xff0c;观看我写的两道第十五届蓝桥杯题解的人数逐渐增多&#xf…...

一文大白话讲清楚webpack基本使用——17——Tree Shaking

文章目录 一文大白话讲清楚webpack基本使用——17——Tree Shaking1. 建议按文章顺序从头看&#xff0c;一看到底&#xff0c;豁然开朗2. 啥叫Tree Shaking3. 什么是死代码&#xff0c;怎么来的3. Tree Shaking的流程3.1 标记3.2 利用Terser摇起来 4. 具体使用方式4.1 适用前提…...

【C++ 区间位运算】3209. 子数组按位与值为 K 的数目|2050

本文涉及知识点 位运算、状态压缩、枚举子集汇总 LeetCode3209. 子数组按位与值为 K 的数目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回 nums 中有多少个子数组 满足&#xff1a;子数组中所有元素按位 AND 的结果为 k 。 示例 1&#xff1a; 输入&#xff1a…...

8 比例缩放(scale.rs)

scale.rs代码是几何变换库euclid中典型的数据结构和方法的例子&#xff0c;用于处理二维和三维空间中的缩放变换。 一、scale.rs文件源码 //! A type-checked scaling factor between units.use crate::num::One;use crate::approxord::{max, min}; use crate::{Box2D, Box3D…...

二分 机器人的跳跃问题

二段性:找到一个值&#xff0c;大于此值的时候都成立&#xff0c;小于的时候都不成立 更新的方式只有两种&#xff0c;左边的mid更新不需要1&#xff1b;右边的mid更新需要1 //对能量进行二分&#xff0c;确定能量的范围 //特判防止溢出int #include<bits/stdc.h> using…...

Hive:复杂数据类型之Map函数

Map函数 是Hive里面的一种复杂数据类型, 用于存储键值对集合。Map中的键和值可以是基础类型或复合类型&#xff0c;这使得Map在处理需要关联存储信息的数据时非常有用。 定义map时,需声明2个属性: key 和 value , map中是 key value 组成一个元素 key-value, key必须为原始类…...

R 字符串:深入理解与高效应用

R 字符串:深入理解与高效应用 引言 在R语言中,字符串是数据处理和编程中不可或缺的一部分。无论是数据清洗、数据转换还是数据分析,字符串的处理都是基础技能。本文将深入探讨R语言中的字符串概念,包括其基本操作、常见函数以及高效应用方法。 字符串基本概念 字符串定…...

设计模式Python版 桥接模式

文章目录 前言一、桥接模式二、桥接模式示例三、桥接模式与适配器模式的联用 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&…...

记5(一元逻辑回归+线性分类器+多元逻辑回归

目录 1、一元逻辑回归2、线性可分&线性不可分3、Iris数据集实现多元逻辑回归4、绘制分类图5、鸢尾花分类图6、多分类问题&#xff1a;&#xff08;softmax回归&#xff09;6.1、编码&#xff1a;自然顺序码、独热编码、独冷编码6.2、二/多分类问题&#xff1a;6.3、softmax…...

【Python】第七弹---Python基础进阶:深入字典操作与文件处理技巧

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、字典 1.1、字典是什么 1.2、创建字典 1.3、查找 key 1.4、新增/修改元素 1.5、删除元素 1.6、遍历…...

绿色软件制作:TranslucentTB便携版开发全攻略

绿色软件制作&#xff1a;TranslucentTB便携版开发全攻略 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在Windows个性化定制领域&#…...

MOVA割草机器人:开启自主决策新时代

随着AI感知技术在户外场景加速落地&#xff0c;MOVA率先推出AI双目视觉割草机器人ViAX系列&#xff0c;实现多传感器融合&#xff0c;让割草机迈入“自主决策时代”&#xff0c;全球销量快速增长。技术跃迁&#xff1a;从自动到自主 AI感知技术向户外场景渗透&#xff0c;割草机…...

P3C代码规范检查:风险驱动架构下的动态治理策略

P3C代码规范检查&#xff1a;风险驱动架构下的动态治理策略 【免费下载链接】p3c Alibaba Java Coding Guidelines pmd implements and IDE plugin 项目地址: https://gitcode.com/gh_mirrors/p3/p3c 在数字化转型浪潮中&#xff0c;企业级Java应用面临代码质量与开发效…...

javaweb铁路火车接发车课程作业培训考试系统证书

目录同行可拿货,招校园代理 ,本人源头供货商铁路火车接发车课程作业培训考试系统证书的功能分析系统概述功能模块分析技术实现要点行业合规性扩展功能建议项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 …...

AI赋能国际化:让快马平台中的模型为你的trea国际版提供智能文案与适配建议

AI赋能国际化&#xff1a;让快马平台中的模型为你的trea国际版提供智能文案与适配建议 开发国际化应用时&#xff0c;最头疼的往往不是技术实现&#xff0c;而是如何让产品真正融入不同地区的文化和语言习惯。最近在开发trea国际版时&#xff0c;我发现InsCode(快马)平台的AI辅…...

ESP8266 EEPROM实战:手把手教你存WiFi密码,断电重启也不怕

ESP8266 EEPROM实战&#xff1a;构建可靠的WiFi凭证存储系统 每次重启ESP8266设备都要重新输入WiFi密码&#xff1f;这种重复劳动早就该被技术淘汰了。想象一下&#xff0c;你的智能家居设备在断电恢复后能自动重新连接网络&#xff0c;工业传感器在意外重启后依然保持通信——…...

OpenClaw批量处理:千问3.5-9B同时操作百个Excel文件

OpenClaw批量处理&#xff1a;千问3.5-9B同时操作百个Excel文件 1. 为什么需要测试Excel批量处理&#xff1f; 上个月我需要整理一批市场调研数据——237个Excel文件&#xff0c;每个文件包含20-50张工作表。手动操作需要反复执行"打开文件→复制数据→粘贴到汇总表→保…...

多个openclaw之间如何互相通信

OpenClaw 多实例通信主要分同机多 Gateway与跨机远程两类场景&#xff0c;核心是靠端口隔离、共享 workspace 与 sessions_send 实现互通docs.openclaw.ai。下面按场景给出可直接落地的配置与命令。一、同主机多实例&#xff08;多 Gateway&#xff09;通信适合强隔离需求&…...

Subtitle Edit:实现专业级字幕制作的7大创新方法指南

Subtitle Edit&#xff1a;实现专业级字幕制作的7大创新方法指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 在视频内容创作与传播领域&#xff0c;字幕不仅是辅助理解的工具&#xff0c;更是提升…...

Linux内核核心机制与开发实践详解

1. Linux内核概述与预备知识Linux内核作为操作系统的核心组件&#xff0c;承担着管理硬件资源、提供系统服务的关键角色。要深入理解Linux内核&#xff0c;需要具备以下基础知识储备&#xff1a;C语言能力&#xff1a;内核代码90%以上由C语言编写&#xff0c;需掌握指针操作、内…...