【deepseek】本地部署+webui访问

news/2025/2/26 11:24:47

背景

最近deepseek很火,但是官网的老是被限流使用,还有就是自己也想着玩一玩,于是准备在自己电脑跑一个

直接附上结果地址deepseek.douwen.top" rel="nofollow">mydeepseek

在这里插入图片描述

准备工作

windows和linux都可

  • 我这里选择linux,ubuntu系统

安装ollama

  • 看下图,直接复制,在自己电脑终端执行,等待即可在这里插入图片描述
    在这里插入图片描述
  • 等待下载完成

安装模型

  • 如下图,选择自己电脑能带动的模型直接run,就会下载上
    在这里插入图片描述
  • 然后就可以在终端与deepseek进行交互了
  • 也可以安装多个模型,相同的操作,使用ollama run deepseek-r1:对应的版本即可

终端使用毕竟不方便,于是将其发布出来使用webui进行使用

  • 我这里选择的open-webui
  • 我这里直接根据官方文档使用docker启动docker run -d --network host -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main,当然网络做了自己的更改,没有使用官网的
    在这里插入图片描述
  • 这样之后你就可以通过http://localhost:8080进行使用了

发布到公网

  • 参考参考我这个文档
  • 内网穿透 + nginx代理实现

下面附上nginx配置ssl配置参考文章

 server{
    listen 80;
    server_name deepseek.douwen.top;# 我的公网域名
    listen 443 ssl; # managed by Certbot
    server_name deepseek.douwen.top; # 我的公网域名
    ssl_certificate /etc/letsencrypt/live/deepseek.douwen.top/fullchain.pem; # managed by Certbot 我的自签证书
    ssl_certificate_key /etc/letsencrypt/live/deepseek.douwen.top/privkey.pem; # managed by Certbot  我的自签证书私钥
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot 支持ssl的nginx配置
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location / {
        proxy_pass http://192.168.3.27:8080;  # 代理到内网服务 open-webui访问地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_connect_timeout 30s;  # 连接后端服务器的超时时间
        proxy_send_timeout 60s;     # 发送请求到后端的超时时间
        proxy_read_timeout 120s;    # 等待后端服务器响应的超时时间
    }

}

http://www.niftyadmin.cn/n/5868623.html

相关文章

uniapp通过概率实现一个随机抽奖

在很多电商平台或者活动中,都会有类似“抽奖赢优惠券”的功能。这个功能通常要求用户通过某些随机算法来决定是否中奖以及获得的优惠券内容。实现这一功能时,如何正确地处理中奖概率、抽取优惠券并返回抽奖结果是一个常见的问题。 本文将介绍如何通过一…

【初阶数据结构】树和二叉树

目录 前言树的概念与结构树的概念树的相关概念树的表示 二叉树的概念及结构二叉树的概念几种特殊的二叉树1.满二叉树2.完全二叉树 二叉树的性质二叉树的存储结构1、顺序存储2、链式存储 前言 前面我们学习了顺序表,单链表,栈和队列,它们在逻…

kotlin 知识点 七 泛型的高级特性

对泛型进行实化 泛型实化这个功能对于绝大多数Java 程序员来讲是非常陌生的,因为Java 中完全没有这个概 念。而如果我们想要深刻地理解泛型实化,就要先解释一下Java 的泛型擦除机制才行。 在JDK 1.5之前,Java 是没有泛型功能的,…

C语言学习笔记-初阶(13)scanf介绍

当我们有了变量&#xff0c;我们需要给变量输入值就可以使用 scanf 函数&#xff0c;如果需要将变量的值输出在屏幕上的时候可以使用 printf 函数&#xff0c;下面看⼀个例子&#xff1a; #include <stdio.h> int main() {int score 0;printf("请输⼊成绩:")…

探索超声波的奥秘——定时器与PCA

超声波技术的诞生灵感来源于大自然中的回声定位现象&#xff0c;尤其是蝙蝠的独特能力。蝙蝠通过发出高频超声波并捕捉回声来精确地探测周围的物体和猎物&#xff0c;即使在漆黑的夜晚也能轻松导航。 在单片机中&#xff0c;也有着超声波这个模块&#xff0c;它在单片机上的标识…

[实现Rpc] 客户端 | Requestor | RpcCaller的设计实现

目录 Requestor类的实现 框架 完善 onResponse处理回复 完整代码 RpcCaller类的实现 1. 同步调用 call 2. 异步调用 call 3. 回调调用 call Requestor类的实现 &#xff08;1&#xff09;主要功能&#xff1a; 客户端发送请求的功能&#xff0c;进行请求描述对服务器…

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决

IDEA关闭SpringBoot程序后仍然占用端口的排查与解决 问题描述 在使用 IntelliJ IDEA 开发 Spring Boot 应用时&#xff0c;有时即使关闭了应用&#xff0c;程序仍然占用端口&#xff08;例如&#xff1a;4001 端口&#xff09;。这会导致重新启动应用时出现端口被占用的错误&a…

Java进阶:Docker

1. Docker概述 1.1. Docker简介 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言开发。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱…