ollama和open-webui部署ds

server/2025/3/1 19:02:02/
aidu_pl">

博客地址:
ollama和open-webui部署ds

引言

最近,deepseek是越来越火,我也趁着这个机会做了下私有化部署,我这边使用的ollama和 open-webui实现的web版本

ollama

简介

Ollama 是一个开源的工具,专门用于简化机器学习和 AI 模型的部署。它提供了一个统一的平台,允许你通过命令行工具创建、管理和更新模型。无论你是想在本地开发环境中运行模型,还是将其部署到云端,Ollama 都可以简化这一过程。

Ollama 支持多种常见的机器学习模型框架,包括但不限于 TensorFlow、PyTorch、Hugging Face Transformers 等,此外还支持类似 DeepSeek 这种自定义的搜索引擎模型。

核心特性

  • 易于使用的命令行界面:Ollama 提供了简单直观的命令行工具,可以通过几条命令就完成模型的创建、启动、更新等操作。
  • 环境隔离:Ollama 可以为每个模型提供独立的运行环境,避免了不同模型之间的依赖冲突。
  • 跨平台支持:无论你是使用 Linux、Mac 还是 Windows,Ollama 都可以无缝运行。
  • 自动更新:Ollama 会自动为模型提供更新,确保你使用的是最新的版本。
  • 高效的资源管理:通过 Ollama,你可以有效地管理计算资源,包括 CPU 和 GPU 的使用,确保模型运行的高效性。

安装

Linux

使用root用户执行下面的命令:

curl -fsSL https://ollama.com/install.sh | sh

windows

直接下载安装包:windows安装包

macos

下载压缩包:https://ollama.com/download/Ollama-darwin.zip

环境变量

为了Ollama能够对外提供服务,需要设置OLLAMA_HOST

在Linux上设置

如果Ollama作为systemd服务运行,通过systemctl设置环境变量:

  1. 使用systemctl edit ollama.service命令编辑systemd服务,将打开一个编辑器。

  2. 对每个环境变量,在[Service]部分添加两行行Environment:

    Environment="OLLAMA_HOST=0.0.0.0"
    Environment="OLLAMA_ORIGINS=*"
    

    红框内为后加的两行代码

  3. 保存并退出。

  4. 重新加载systemd并重启Ollama:

    systemctl daemon-reload
    systemctl restart ollama
    

在Windows上设置

在Windows上,Ollama会继承您的用户和系统环境变量。

  1. 首先通过任务栏图标退出Ollama,
  2. 从控制面板编辑系统环境变量,
  3. 为OLLAMA_HOST、OLLAMA_ORIGINS等编辑或新建变量。
  4. 点击OK/Apply保存,
  5. 然后从新的终端窗口运行ollama。

启动ollama服务

执行命令

systemctl start ollama

部署 DeepSeek

通过https://ollama.com/library找到对应的模型,点进模型有拉取运行的命令,比如说

deepseek-r1:7b的模型,执行下面的命令就可以拉取并运行其模型:

ollama run deepseek-r1

下面是操作截图,如果你已经拉取并运行模型了,可以直接进行open-webui的步骤了

https://ollama.com/library开始,页面如下:

点击你需要的模型deepseek-r1,点击后页面如下:

左侧红框是你需要下载的版本,这里默认就是7b版本了,如果你需要其他版本可以通过下拉列表切换

右侧红框就是你需要执行的命令,执行该命令就可以拉取并运行其模型

open-webui

现在ds已经可以用了,但是还缺少应该web界面,我这边选择的是open-webui,可以直接通过浏览器访问

docker-compose安装open-webui

这个就相对简单了,我使用的docker-compose部署,下面是docker-compose文件:

services:open-webui:image: ghcr.io/open-webui/open-webui:maincontainer_name: open-webuivolumes:- ./data:/app/backend/dataports:- "8088:8080"restart: always

不过这个启动后要等很久的时间,原因是默认的docker镜像是以openai为主的,但是默认情况下没有配,所以等的时间比较久。

出现下图中最后一行就是部署好了:

open-webui配置 ollama+deepseek

看到http://0.0.0.0:8080这个说明可以在浏览器中打开了,注意,浏览器打开时,端口是你docker-compose里面引出的,不一定是8080,我这个docker-compose端口就是8088,接下来浏览器输入http://ip:8088/打开,页面如下:

首次使用需要创建管理员账号,点击开始使用进行创建,页面如下:

内容输入完,点击”创建管理员账号“,因为默认的openai,这一步一样的需要等很长一段时间,不要着急,慢慢等,出现下面的界面就可以进行下一步了:

点击红框的按钮后,依次按照下面图片的顺序进行操作

这地方注意下,1那地方的如果你不使用OpenAI API,一定要想我上面截图中那样给关了,要不之后再进页面,还是需要等很长一段时间,然后设置好ollama的连接,按照我文档中安装的话,填入的内容就是http://IP:11434,全部填完后保存

保存后右上角出现提示,这时候就已经完全配好了,接下来,可以重新打开页面http://IP:8088/看看效果了

页面如下,打开后页面直接进入了,而且左上角的模型也默认加载出来了,如果你的ollama安装的多个模型,可以通过红框的下拉列表切换

最后,就是看看提问效果了,当然,我这个服务器配置不行,速度一般般,但是提问的结果已经显示出来了


http://www.ppmy.cn/server/171607.html

相关文章

leetcode_动态规划/递归 279**. 完全平方数

279. 完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 …

DeepSeek-R1本地部署保姆级教程

一、DeepSeek-R1本地部署配置要求 (一)轻量级模型 ▌DeepSeek-R1-1.5B 内存容量:≥8GB 显卡需求:支持CPU推理(无需独立GPU) 适用场景:本地环境验证测试/Ollama集成调试 (二&a…

etcd 3.15 三节点集群管理指南

本文档旨在提供 etcd 3.15 版本的三节点集群管理指南,涵盖节点的新增、删除、状态检查、数据库备份和恢复等操作。 1. 环境准备 1.1 系统要求 操作系统:Linux(推荐 Ubuntu 18.04 或 CentOS 7) 内存:至少 2GB 磁盘&a…

Spring Boot 中如何正确地在异步线程中使用 HttpServletRequest

Spring Boot 中如何正确地在异步线程中使用 HttpServletRequest 前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线程绑定2. 异步线程访问请求对象时的常见问题 二、Tomcat 的 request 复用机制及其影响1. Tomcat 请求…

Golang快速上手02/Golang基础

4.控制语句 4.1条件控制语句 4.1.1if-elseif-else 与clang不同&#xff0c;if不需要加() if <condition1> {<block1> } else if <condition2> {<block2> } else {<block0> }示例 a : 10 if a > 5 {fmt.Println("a > 5") } els…

Selenium 不同语言绑定版本的官方操作文档获取途径(科学上网)

Selenium 不同语言绑定版本的官方操作文档获取途径 Selenium 是一个强大的自动化测试工具&#xff0c;支持多种编程语言绑定。以下为你详细介绍不同语言绑定版本的官方操作文档获取途径。 一、Python 语言绑定 1.1 官方文档 地址&#xff1a;Selenium Python 官方文档内容概…

【JSON2WEB】15 银河麒麟操作系统下部署JSON2WEB

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

数据库基础一(初步了解数据库)

数据库基础概念 数据库访问方式 为什么要学习数据库? 90%以上的软件都需要操作数据,比如游戏、社交、新闻、商城、财务等 什么是数据库? 数据库专业的来说,其实就是一种电子的仓库,是专门储存数据和管理数据的一种处所,用户可以对数据库中的数据进行新增、更新或者删…