简单3步部署本地国产大模型DeepSeek大模型
简单3步部署本地国产大模型DeepSeek大模型
DeepSeek是最近非常火的开源大模型,国产大模型 DeepSeek 凭借其优异的性能和对硬件资源的友好性,受到了众多开发者的关注。
无奈,在使用时候deepseek总是提示服务器繁忙,请稍后再试。
本文将介绍如何通过简单 3 步在本地部署 DeepSeek 大模型,让你能够轻松体验这一强大的 AI 工具。
Deepseek对世界的影响
改变AI行业格局
-
冲击国际AI竞争态势:打破了美国等西方国家的AI巨头长期领先的局面,使全球AI竞争进入技术多极化时代,如微软、亚马逊云科技、英伟达等国际科技巨头纷纷宣布接入DeepSeek。
-
引发行业洗牌:其他AI公司感受到压力,加快技术研发和创新步伐,如OpenAI紧急上线新一代推理模型,阿里云发布升级版通义千问旗舰模型。
影响全球科技股市场
-
引发股价波动:英伟达等芯片制造商以及美国的微软、Meta和谷歌母公司Alphabet等科技巨头的股价受到冲击。
-
改变投资风向:吸引了大量资本的关注,让投资者对中国的AI产业有了更高的期待,可能会导致更多的资金流向中国的AI企业。
推动全球AI技术发展
-
提供技术思路:在模型架构、算法等方面实现了多项创新,如采用创新性的混合专家架构等,为全球AI研究人员提供了新的思路。
-
加速技术普及:开源策略让更多的开发者和企业能够接触到先进的AI技术,降低了AI技术的使用门槛,加速其在各个领域的普及。
影响社会文化领域
-
改变工作生活方式:在自然语言处理等方面的能力,可提高翻译、写作、代码生成等工作效率,在制定旅行攻略、翻译外语等日常生活场景中也广泛应用。
-
引发伦理监管讨论:国际社会对AI伦理问题关注度提升,数据安全、隐私保护和内容监管等问题成为焦点,促使各国制定更严格的AI大模型监管政策。
环境准备
部署方案:Ollama + DeepSeek-R1 + Open WebUI
笔者的电脑硬件配置如下:
系统: Window11
CPU: 13th i7-13700KF
内存: 32G
显卡:Nvidia GeForce RTX 4070Ti
可以运行大模型deepseek-r1的哪个版本的大模型?
问deepseek得到的回答:
最佳选择:优先尝试 DeepSeek-R1-7B 4-bit量化版,平衡速度和性能;若需要更高精度,可测试 DeepSeek-R1-13B 4-bit量化版(需确保显存无其他占用)。建议关注官方发布的轻量化版本或社区优化方案(如GPTQ)。
什么是Ollama
Ollama是一个开源项目,旨在让用户能够轻松地在其本地计算机上运行大型语言模型(LLM),是一个开源的大型语言模型服务。它支持各种LLM,包括Llama 3、Mistral和Gemma。
提供了类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。
Ollama官网: https://ollama.com/
Ollama GitHub仓库:https://github.com/ollama/ollama
第一步、安装Ollama
下载Ollama
Ollama下载地址:https://ollama.com/download
支持macOS、Linux、Windows系统,根据自己的系统,下载安装包:
Download for windows
安装Ollama
windows系统下安装也比较方便,双击打开 install
安装完成没有提示,我们打开一个终端,本文以Windows PowerShell为例,大家也可以使用其他的:
现在Ollama已经安装完了,我们需要在终端中输入下方命令运行一个大语言模型进行测试,这里以对在中文方面表现相对好些的千问为例,大家也可以使用其他的模型。
ollama run qwen
安装成功,随便问几个问题。
理论上就安装完成了,可以只在命令行中使用大模型了。
修改路径文件保存路径
可以不用改,如果C盘空间不够用,建议修改。
可以看到,系统正在下载qwen的模型(并保存在C盘,C:\Users.ollama\models 如果想更改默认路径,可以通过设置OLLAMA_MODELS进行修改,然后重启终端,重启ollama服务。)
setx OLLAMA_MODELS "D:\ollama\model"
运行DeepSeek
https://ollama.com/library/deepseek-r1
DeepSeek-R1模型有多个版本,可以根据需要选择不同版本,例如 ollama run deepseek-r1:671b,详情如下(模型参数越大,需要配置越高):
在DeepSeek-R1系列中,还有1.5B、7B、8B、14B、32B、70B、671B等不同参数规模的型号。这些不同规模的模型在模型能力、资源需求和应用场景上有所不同。
ollama run deepseek-r1:1.5b 【电脑配置低的可以运行此版本,根据文件大小和网络情况,下载时间也不确定】
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b
我这里选择运行7b(70亿参数)
Ollama常用命令(可忽略)
省流版命令: ollama list
和 ollama rm [模型名称] 。
模型管理
- 创建模型
- 命令:
ollama create [Modelfile路径]
- 功能:使用包含模型信息的Modelfile来创建一个新模型。
- 命令:
- 显示模型信息
- 命令1:
ollama show [模型名称]
- 功能:显示特定模型的详细信息,如模型名称、版本等。
- 命令2:
/show
(在会话界面中使用)
- 命令1:
- 列出所有模型
- 命令1:
ollama list
- 命令2:
ollama ls
- 功能:列出本地所有可用的模型,可以在这里查找模型名称。
- 命令1:
- 从注册表中拉取模型
- 命令:
ollama pull [模型名称]
- 功能:从模型注册表中拉取一个模型到本地使用。
- 命令:
- 将模型推送到注册表
- 命令:
ollama push [模型名称]
- 功能:将本地模型推送到模型注册表中,以便他人或其他系统使用。
- 命令:
- 复制模型
- 命令:
ollama cp [原模型名称] [新模型名称]
- 功能:复制一个模型到另一个位置或给定名称的地方。
- 命令:
- 删除模型
- 命令:
ollama rm [模型名称]
- 功能:删除一个已安装的模型。
- 命令:
模型运行与会话管理
- 运行模型
- 命令:
ollama run [模型名称]
- 功能:运行一个已安装的模型,执行某些任务。可以根据需要指定模型的参数和配置。
- 命令:
- 加载模型
- 命令:
/load <model>
- 功能:在会话界面中加载一个特定的模型或会话。可以指定一个模型的名称或路径来加载它。
- 命令:
- 保存模型或会话状态
- 命令:
/save <model>
- 功能:在会话界面中保存当前的会话状态或模型。可以将当前会话或模型的配置保存为一个文件,以便以后使用。
- 命令:
- 清理上下文
- 命令:
/clear
- 功能:清除会话上下文。这将删除当前会话中的所有历史记录或对话内容。
- 命令:
- 退出对话模型
- 命令:
/bye
- 功能:退出当前与模型的对话,并退出程序。
- 命令:
其他命令
- 获取帮助信息
- 命令1:
ollama help [命令名称]
- 命令2:
ollama --help
- 功能:获取有关Ollama任何命令的帮助信息。如果指定了命令名称,则显示该命令的详细帮助信息。
- 命令1:
- 查看版本信息
- 命令1:
ollama version
- 命令2:
ollama -v
- 命令3:
ollama --version
- 功能:显示当前Ollama工具的版本信息。
- 命令1:
- 查看快捷键
- 命令:
/?shortcuts
- 功能:在会话界面中查看键盘快捷键的帮助信息,帮助更快速地进行操作。
- 命令:
- 设置会话参数和配置
- 命令:
/set 参数名 参数值
- 功能:用于设置会话参数和配置,例如设置消息格式、启用或禁用历史记录等。
- 命令:
第二步、安装Docker
Open WebUI是一个用于在本地运行大型语言模型(LLM)的开源Web界面。
Open WebUI是在docker中安装的,所以要先安装docker。
在window下安装docker
1.启动Hyper-v
打开控制面板,在程序与功能页面选择启用或Windows功能
然后,重启计算机。
2.安装WSL
打开 powershell,以管理员的身份启动命令窗口,输入
wsl --install
如果不是已管理员身份启动则会报错:请求的操作需要提升
然后再次重启电脑。
3.下载Docker软件
点击下载链接:https://docs.docker.com/desktop/install/windows-install/
4.安装Docker
第三步、使用Docker部署Open WebUI
开源地址: https://github.com/open-webui/open-webui
参考: https://github.com/open-webui/open-webui?tab=readme-ov-file#installation-with-default-configuration
可以看到,如果你的Ollama和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由于我的电脑有GPU此时我使用的是:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
现在我们打开终端,比如powershell,然后输入docker,回车
然后将上边在docker中部署Open WebUI的命令复制后粘贴到终端中,回车。
docker安装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
要运行支持 Nvidia GPU 的 Open WebUI,请使用以下命令:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
如果您仅使用 OpenAI API,请使用以下命令:
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果仅适用于 CPU,不使用 GPU,请改用以下命令:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
使用浏览器Open WebUI
安装完成后,在Docker Desktop中可以看到Open WebUI的web界面地址为:http://localhost:3000
或者内网IP+端口,这样局域网的其他人也可以访问到,甚至是通过内网穿透,让其他人也可以访问。
注册账号点击 sign up
登录
设置为简体中文
点击右上角的设置,可以修改当前界面的语言为简体中文:然后点击保存即可。
点击上方选择一个模型旁边的加号+可以增加大模型,点击下拉按钮可以选择当前使用哪一个已安装的模型,接下来就可以愉快的跟ai聊天了!
结束语
从环境准备到获取模型文件,再到加载并运行模型,整个过程清晰明了,适合初学者和有一定经验的开发者。
使用Ollama在本地搭建DeepSeek具有充分利用本地算力、保护数据隐私、便捷更新模型等优点,但同时也存在硬件要求高、技术门槛高、部署过程繁琐等缺点。用户在选择是否进行本地部署时,应根据自己的实际需求和技术水平进行权衡。
写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊
相关文章:
简单3步部署本地国产大模型DeepSeek大模型
简单3步部署本地国产大模型DeepSeek大模型 DeepSeek是最近非常火的开源大模型,国产大模型 DeepSeek 凭借其优异的性能和对硬件资源的友好性,受到了众多开发者的关注。 无奈,在使用时候deepseek总是提示服务器繁忙,请稍后再试。 …...
Redis常见数据类型与编码方式
⭐️前言⭐️ 本小节围绕Redis中常见的数据类型与编码方式展开。 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 🍉博客中涉及源码及博主日常练习代码均已上传GitHu…...
利用matlab寻找矩阵中最大值及其位置
目录 一、问题描述1.1 max函数用法1.2 MATLAB中 : : :的作用1.3 ind2sub函数用法 二、实现方法2.1 方法一:max和find2.2 方法二:max和ind2sub2.3 方法对比 三、参考文献 一、问题描述 matlab中求最大值可使用函数max,对于一维向量࿰…...
解锁云电脑爽玩TGA游戏,ToDesk、海马云等多款云电脑游戏横测
作为一名游戏爱好者,我深入研究了云电脑技术在游戏娱乐中的应用。通过对比传统游戏机与云电脑的成本效益,我发现云电脑以其低成本和灵活性脱颖而出。我以自身为例,分析了云电脑如何满足对游戏体验的高要求。在测评中,我选择了ToDe…...
蓝桥杯思维训练(五)
文章目录 子集II1191.K次串联后最大子数组之和 子集II 子集II 思路分析: 求解子集的问题的关键就是,通过递归与回溯,我们就是得确定以某个元素开始的子集,对于这个题目来说,比较麻烦的一点就是,存在重复的…...
kaggle视频行为分析1st and Future - Player Contact Detection
这次比赛的目标是检测美式橄榄球NFL比赛中球员经历的外部接触。您将使用视频和球员追踪数据来识别发生接触的时刻,以帮助提高球员的安全。两种接触,一种是人与人的,另一种是人与地面,不包括脚底和地面的,跟我之前做的这…...
2025 CCF BDCI|“基于TPU平台的OCR模型性能优化”一等奖作品
2024年12月,中国计算机学会在海南博鳌成功举办了第十二届CCF大数据与计算智能大赛(简称2024 CCF BDCI)。本届比赛的算能赛道吸引了1748名选手报名,经过激烈角逐,北京航空航天大学的“常务副SOTA”团队脱颖而出…...
结合深度学习、自然语言处理(NLP)与多准则决策的三阶段技术框架,旨在实现从消费者情感分析到个性化决策
针对电商个性化推荐场景的集成机器学习和稳健优化三阶段方案。 第一阶段:在线评论数据处理,利用深度学习和自然语言处理技术进行特征挖掘,进而进行消费者情感分析,得到消费者偏好 在第一阶段,我们主要关注如何通过深度学习和自然语…...
Linux系统安装Nginx详解(适用于CentOS 7)
目录 1. 更新系统包 2. 安装EPEL仓库 3. 安装Nginx 4. 启动Nginx服务 5. 设置Nginx开机自启 6. 检查Nginx状态 7. 配置防火墙 8. 访问Nginx默认页面 9. 配置Nginx(可选) 10. 重启Nginx 解决步骤 1. 检查系统版本 2. 移除错误的 Nginx 仓库 …...
Qt常用控件 输入类控件
文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1,录入用户信息1.4 例子2,正则验证手机号1.5 例子3,验证输入的密码1.6 例子4,显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1,获取输入框的内容2.4 例…...
[LeetCode]全排列I,II
全排列I 给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入࿱…...
力扣.270. 最接近的二叉搜索树值(中序遍历思想)
文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的中序遍历) 本题的难点在于可能存在多个答案,并且要返回最小的那一个,为了解决这个问题,我门则要利用上二叉搜索树中序遍历为有序序列的特性,具体到代码中&a…...
Spring 核心技术解析【纯干货版】- VIII:Spring 数据访问模块 Spring-Tx 模块精讲
在企业级开发中,事务管理是保障数据一致性和完整性的重要手段。Spring 作为 Java 生态中广泛使用的框架,其事务管理模块(Spring-Tx)不仅提供了强大的功能,还极大地简化了开发者在不同技术栈中的事务处理工作。无论是编…...
Vue混入(Mixins)与插件开发深度解析
Vue混入(Mixins)与插件开发深度解析 Vue混入(Mixins)与插件开发深度解析1. Vue混入(Mixins)核心概念1.1 什么是混入1.1.1 本质定义与技术定位1.1.2 混入与相关概念的对比1.1.3 适用场景分析1.1.4 设计哲学与…...
Linux里的容器被OOM killed的两种情况
生产上遇到过几次容器实例被OOM的现象,总结一下LInux OOM的两种触发条件。我的虚拟机是ubuntu 24.0.4版本,分配4G内存,在我的虚拟机上复现这两种case。 一 宿主机物理内存不够 当linux上所有应用程序的内存需求加起来超出了物理内存&#x…...
十一、CentOS Stream 9 安装 Docker
一、Docker 环境安装 1、软件源(仓库)信息 使用如下命令可列出当前系统配置的所有软件源(仓库)信息 # 列出所有软件源 dnf repolist 这表明系统有三个仓库 AppStream 、 BaseOS、Extras-Common 被启用 2、配置软件源镜像 使用如下命令可配置 Docker 软件包下载的镜像地址 …...
【数据结构】链表应用-链表重新排序
重新排序 反转链表预期实现思路解题过程code力扣代码核心代码完整代码 总结 删除链表中间节点代码解惑 链表重新排序题目描述解题思路解题过程复杂度代码力扣代码完整代码 反转链表 预期实现 思路 你选用何种方法解题? 我选用了迭代法来反转链表。这是一种经典且高…...
e2studio开发RA2E1(9)----定时器GPT配置输入捕获
e2studio开发RA2E1.9--定时器GPT配置输入捕获 概述视频教学样品申请硬件准备参考程序源码下载选择计时器时钟源UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()printf输出重定向到串口定时器输入捕获配…...
qt使用MQTT协议连接阿里云demo
qt使用Mqtt协议连接阿里云。 在配置好qt关于MQTT的环境之后,主要就是根据MQTT的连接参数进行连接即可。 环境配置推荐链接QT编译并部署QtMqtt相关环境跑测demo【超详细教程】_mqtt qt开发教程-CSDN博客 连接核心代码,主要就是根据阿里云的MQTT相关参数进行配置实现连…...
Python分享20个Excel自动化脚本
在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式。通过Python,我们可以实现对Excel文件的各种自动化操作,提高工作效率。 本文将分享20个实用的Excel自动化脚本,以帮助新手小白更轻松地掌握这些技能。 1. Excel单…...
DNN(深度神经网络)近似 Lyapunov 函数
import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt # from torchviz import make_dot import torchviz# 1. Lyapunov 函数近似器(MLP 结构) class LyapunovNet(nn.Module):def __init__(self, input_dim…...
什么是数据库代理
数据库代理(DB Proxy)是一种位于应用程序和数据库服务器之间的中间件,充当两者之间的“中间人”。它的核心目标是优化数据库访问、提升性能、增强安全性,并简化数据库架构的复杂度,尤其在高并发、分布式或云环境中应用…...
深入浅出 DeepSeek V2 高效的MoE语言模型
今天,我们来聊聊 DeepSeek V2 高效的 MoE 语言模型,带大家一起深入理解这篇论文的精髓,同时,告诉大家如何将这些概念应用到实际中。 🌟 什么是 MoE?——Mixture of Experts(专家混合模型&#x…...
【创建模式-单例模式(Singleton Pattern)】
赐萧瑀 实现方案饿汉模式懒汉式(非线程安全)懒汉模式(线程安全)双重检查锁定静态内部类 攻击方式序列化攻击反射攻击 枚举(最佳实践)枚举是一种类 唐 李世民 疾风知劲草,板荡识诚臣。 勇夫安识义,智者必怀仁…...
计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
6. 【Vue实战--孢子记账--Web 版开发】-- 主币种设置
从这篇文章开始我们将一起实现孢子记账的功能,这篇文章实现主币种设置。这个功能比较简单,因此我们从这个功能开始做。 一、功能 根据项目前期的需求调研,用户需要在设置主币种的时候查看汇率信息(别问为什么有这么个需求&#…...
RabbitMQ深度探索:前置知识
消息中间件: 消息中间件基于队列模式实现异步 / 同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合 传统的 HTTP 请求存在的缺点: HTTP 请求基于响应的模型,在高并发的情况下,客户端发送大量的请求…...
【文件上传、秒传、分片上传、断点续传、重传】
文章目录 获取文件对象文件上传(秒传、分片上传、断点续传、重传)优化 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inp…...
设计模式Python版 组合模式
文章目录 前言一、组合模式二、组合模式实现方式三、组合模式示例四、组合模式在Django中的应用 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式…...
python开发:爬虫示例——GET和POST请求处理
一、Get请求 import json import requests#输入示例:urlhttps://www.baidu.com #RequestHeader:F12标头-请求标头-原始-复制到这(忽略第一句) def GetRequest(url,RequestHeader""):try:dic{}RequestHeaderList RequestHeader.s…...
【3分钟极速部署】在本地快速部署deepseek
第一步,找到网站,下载: 首先找到Ollama , 根据自己的电脑下载对应的版本 。 我个人用的是Windows 我就先尝试用Windows版本了 ,文件不是很大,下载也比较的快 第二部就是安装了 : 安装完成后提示…...
【归属地】批量号码归属地查询按城市高速的分流,基于WPF的解决方案
在现代商业活动中,企业为了提高营销效果和资源利用效率,需要针对不同地区的市场特点开展精准营销。通过批量号码归属地查询并按城市分流,可以为企业的营销决策提供有力支持。 短信营销:一家连锁餐饮企业计划开展促销活动…...
大数据sql查询速度慢有哪些原因
1.索引问题 可能缺少索引,也有可能是索引不生效 2.连接数配置:连接数过少/连接池比较小 连接数过 3.sql本身有问题,响应比较慢,比如多表 4.数据量比较大 -这种最好采用分表设计 或分批查询 5.缓存池大小 可能是缓存问题ÿ…...
安卓路由与aop 以及 Router-api
安卓路由(Android Router)和AOP(面向切面编程)是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。 一、安卓路由 安卓路由主要用于在应用程序中管理不同组件之间的导航和通信。它可以简化…...
游戏引擎学习第89天
回顾 由于一直没有渲染器,终于决定开始动手做一个渲染器,虽然开始时并不确定该如何进行,但一旦开始做,发现这其实是正确的决定。因此,接下来可能会花一到两周的时间来编写渲染器,甚至可能更长时间…...
备战蓝桥杯-洛谷
今天打算写一些洛谷上面的题目 P10904 [蓝桥杯 2024 省 C] 挖矿 https://www.luogu.com.cn/problem/P10904 看了大佬写的题解才写出来这道题的:题解:P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷专栏 思路: 这是一道贪心的题目,用…...
动手学图神经网络(9):利用图神经网络进行节点分类 WeightsBiases
利用图神经网络进行节点分类Weights&Biases 引言 在本篇博客中,将深入探讨如何使用图神经网络(GNNs)来完成节点分类任务。以 Cora 数据集为例,该数据集是一个引用网络,节点代表文档,推断每个文档的类别。同时,使用 Weights & Biases(W&B)来跟踪实验过程和…...
如何在 FastAPI 中使用本地资源自定义 Swagger UI
要自定义 FastAPI 中的 Swagger UI,且使用本地资源来代替 CDN。只是需要稍微修改一下。 修改后的代码: 步骤: 挂载本地静态文件目录:我们将本地的 Swagger UI 资源文件(如 .js, .css, favicon.png 等)放…...
Swift 进阶:Observation 框架中可观察(@Observable)对象的高级操作(上)
概述 在 WWDC 24 中苹果推出了全新的 Observation 框架,借助于它我们可以更加细粒度的监听可观察(@Observable)对象 。同时,SwiftUI 自身也与时偕行开始全面支持 @Observable 对象的“嵌入”。 然而在这里,我们却另辟蹊径来介绍 @Observable 对象另外一些“鲜为人知”的故…...
aws(学习笔记第二十七课) 使用aws API Gateway+lambda体验REST API
aws(学习笔记第二十七课) 使用aws API Gatewaylambda体验REST API 学习内容: 使用aws API Gatewaylambda 1. 使用aws API Gatewaylambda 作成概要 使用api gateway定义REST API,之后再接收到了http request之后,redirect到lambda进行执行。…...
UE学习日志#23 C++笔记#9 编码风格
注:此文章为学习笔记,只记录个人不熟悉或备忘的内容 1 为代码编写文档 1.1 使用注释的原因 1.说明用途的注释 应该注释的信息:输入,输出含义,参数的类型含义,错误条件和处理,预期用途&#x…...
vue2-vue自定义指令
文章目录 vue2-vue自定义指令1. 什么是指令2. 自定义指令2.1 全局注册2.2 局部注册 3. 自定义指令的钩子函数4. 钩子函数的参数4. 用例 vue2-vue自定义指令 1. 什么是指令 在vue中提供了一套为数据驱动视图更为方便的操作,这些操作被称为指令系统我们平时使用的v-…...
[250202] DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择 | Jekyll 4.4.0 发布
目录 DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择DocumentDB 的使命DocumentDB 的架构 Jekyll 4.4.0 版本发布🆕 新特性与改进 DocumentDB 开源发布:基于 PostgreSQL 的文档数据库新选择 微软近日宣布开源 DocumentDBÿ…...
matplotlib绘制三维曲面图时遇到的问题及解决方法
在科学计算和数据可视化中,三维曲面图是非常有用的工具,可以直观地展示数据的三维分布和关系。Matplotlib是Python中广泛使用的数据可视化库之一,提供了强大的三维绘图功能。然而,在实际使用过程中,用户可能会遇到各种…...
【数据结构】(4) 线性表 List
一、什么是线性表 线性表就是 n 个相同类型元素的有限序列,每一个元素只有一个前驱和后继(除了第一个和最后一个元素)。 数据结构中,常见的线性表有:顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…...
简单React项目从0到1
文章目录 项目搭建基于CRA创建项目调整项目目录结构 使用scss预处理器组件库antd使用配置基础路由配置别名路径路径编译配置VsCode提示配置 基本结构搭建表单校验实现获取登录表单数据封装request工具模块使用Redux管理token安装Redux相关工具包配置Redux 实现登录逻辑token持久…...
IM 即时通讯系统-46-OpenIM 提供了专为开发者设计的开源即时通讯解决方案
IM 开源系列 IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术,提供优质可控的IMRTC能力 IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统 IM 即时通讯系统-43-简单的仿QQ聊天安卓APP IM 即时通讯系统-44-仿QQ即…...
MFC 学习笔记目录
序章 MFC学习笔记专栏开篇语-CSDN博客 下载与安装 VS2010 下载与安装 VS2019...
一文讲解Java中的ArrayList和LinkedList
ArrayList和LinkedList有什么区别? ArrayList 是基于数组实现的,LinkedList 是基于链表实现的。 二者用途有什么不同? 多数情况下,ArrayList更利于查找,LinkedList更利于增删 由于 ArrayList 是基于数组实现的&#…...
【Linux系统】线程:线程的优点 / 缺点 / 超线程技术 / 异常 / 用途
1、线程的优点 创建和删除线程代价较小 创建一个新线程的代价要比创建一个新进程小得多,删除代价也小。这种说法主要基于以下几个方面: (1)资源共享 内存空间:每个进程都有自己独立的内存空间,包括代码段…...