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

【如何使用云服务器与API搭建专属聊天系统:宝塔面板 + Openwebui 完整教程】

文章目录

  • 不挑电脑、不用技术,云服务器 + API 轻松搭建专属聊天系统,对接 200 + 模型,数据全在自己服务器,安全超高
    • 一、前置准备:3 分钟快速上手指南
      • 云服务器准备
      • 相关账号注册
    • 二、手把手部署教程(含代码块)
      • 1.部署宝塔面板
        • 什么是宝塔面板
        • 一键安装宝塔面板
        • 如何放行13012端口?
      • 2.登录宝塔面板
      • 3.基于docker安装Openwebui
        • 使用宝塔面板安装docker+Openwebui
          • 安装docker
          • 安装Openwebui
        • 在服务器命令行直接安装docker+Openwebui
          • docker命令安装
          • OpenWebUI 命令部署
        • 服务器安全组放行3003端口
        • 访问Openwebui
      • 4.Openwebui使用
        • 注册管理员账号
        • 1. 硅基流动 API 集成(实现2000万tokens内免费使用)
        • 2. OpenRouter 接入
    • 三、后话
      • 利用flux进行文生图
      • 调用本地Deepseek+comfyui服务进行文生图
      • 调用纯文本模型进行文生图
      • 联网进行搜索并结合语言模型输出结果

不挑电脑、不用技术,云服务器 + API 轻松搭建专属聊天系统,对接 200 + 模型,数据全在自己服务器,安全超高

在人工智能浪潮汹涌的当下,与 AI 对话已成为许多人获取信息、激发灵感的重要方式。然而,常见的 AI 聊天工具往往存在数据隐私担忧,毕竟个人对话数据在他人服务器流转,总让人心里不踏实。你是否渴望拥有一个完全属于自己的聊天系统,既能畅享丰富多样的 AI 模型交互体验,又能将数据安全牢牢掌控在手中?现在,无需担忧复杂的技术难题,也不用购置高端电脑设备,借助云服务器与 API,哪怕是技术小白,也能轻松搭建起专属聊天系统,无缝对接 200 + 强大的语言模型。接下来,就一同开启这场零门槛、高安全的专属 AI 聊天系统搭建之旅吧。

这篇文章,我就想跟大伙唠唠,怎么利用现有的资源,搭建一个私有聊天平台。既安全,又能不断扩展,还特别实用的 AI 应用平台,把我这一路技术探索的成果,变成大家都能用得上的解决方案。
最最重要的是:API调用 免费!!!免费!!!免费!!!
机不可失,大家快跟我冲!

一、前置准备:3 分钟快速上手指南

云服务器准备

我个人使用的是 【阿里云】的云服务器,配置为:2核(vCPU)2 GiB 带宽为3M。之前99活动的时候购入的,99元/年。

这是轻量级的服务器,咱们来玩基本上就够用了,而且一年不到100元的费用,也是非常良心了,最主要的是阿里云的服务器相对来说也稳定一些。

关于云服务器,如果是没有使用过的小伙伴,大都可以申请免费试用一两个月的,操作也不复杂,只是到期之后续费比较贵,挺坑,喜欢折腾的小伙伴可以自己搞一搞,反正是白嫖。

如果已经有云服务器的小伙伴,那应该是有一定的技术基础的,照着本文的教程依葫芦画瓢,应该也可以成功部署起来。

需要购买阿里云服务器的小伙伴,可以点击进行购买:点击直达。

这个链接是我在平台申请推广大使。然后给出的推广链接,通过这个链接进入购买,可以享受8.5折优惠。我自己已经对比过了,这个性价比确实还可以。
进来页面之后,点击立即领取,领取到8.5折优惠券

在这里插入图片描述

领取到优惠券之后,会提示需要实名认证,这里需要进行认证,否则无法正常购买使用云服务器。大家常规进行个人认证就可以,认证过程也很简单,照着步骤来就可以了。
在这里插入图片描述
之后在页面可以看到很多服务器,有能力的小伙伴自己根据自己的情况进行选购即可。不懂的直接无脑选99元/年的,我已经帮你们试过了:
配置相对68元的好一些,跑起来应用表现也好一些,另外续费也是同样的价格,不容易被续费刺客。
在这里插入图片描述
在这里插入图片描述
点击立即购买,然后进行相应的填写和支付就可以开通了,这里要记住自己的服务器用户名和密码,等会儿登录的时候要用到。
在购买完之后,ESC服务里面应该就可以看到自己的云服务器实例,
在这里插入图片描述

点击进入之后,然后点击远程连接:

在这里插入图片描述
在这里插入图片描述

点击立即登录,然后就进入到登录界面
在这里插入图片描述
这里输入购买时候填写的用户名和密码,然后就可以登录进入。

进入之后就可以在服务器输入命令,进行操作了。输入以下命令,并且回车:

lscpu

这个命令是查看服务器配置的,如果返回下图类似的结果,说明服务器已经可以成功执行命令了,就可以进入下一步了!
在这里插入图片描述

购买完云服务器不会操作的小伙伴,可以私信我,我来指导帮你操作。

注:此处我只是提供一个购买渠道,给没有渠道的小伙伴们提供个方便,如果有行家,对服务器很了解,就自行搞定即可。

相关账号注册

  1. 硅基流动 API 密钥获取
    目前硅基流动的赠送token活动还在有效期,有效期内,通过邀请链接注册的新用户,可以立刻获得 2000万 Tokens。
    趁着活动还没过,大家抓紧时间冲!
    专属邀请链接:https://cloud.siliconflow.cn/i/vw3nVPPI
    重要!如果界面上没有展示出来邀请码,记得手动填写:
    邀请码:vw3nVPPI
    在这里插入图片描述
    注册成功之后,就可以登录进入,然后获取自己的apikey了。
    在这里插入图片描述
    记好自己的apikey,后续会用到。

硅基流动提供了 40+模型,可以直接调用api进行使用,在你的2000万token没有消耗完之前,都是免费的。(如果不是大批量的使用,2000万token挺耐用的!)

  1. OpenRouter 免费账号注册(可选)
    如果你觉得模型种类不够,还想用更多,OpenRouter 平台是个不错的选择,它目前囊括了350个模型,其中有一些模型还是可以免费使用的,非常不错。但是相对来说,使用门槛也较高,需要有VISA信用卡进行绑定,然后才可以使用,并且需要能科学上网才能正常访问这个网站。如果有需要的小伙伴,可以直接私信我,如果需要的人多的话,我到时候再做个专题,专门讲解一下。

二、手把手部署教程(含代码块)

1.部署宝塔面板

什么是宝塔面板

宝塔面板(BT-Panel)是一款在中国非常流行的服务器管理软件,它为用户提供了一个简单、高效的服务器管理解决方案。宝塔面板支持多种操作系统,如CentOS、Ubuntu、Debian等,并且适用于虚拟主机、VPS、独立服务器等多种服务器环境。以下是宝塔面板的一些主要特点和功能:

  • 图形化操作界面:宝塔面板提供了一个直观的Web界面,用户可以通过浏览器轻松管理服务器,无需繁琐的命令行操作。
  • 一键式安装:宝塔面板支持一键安装常见的服务和应用,如Apache、Nginx、PHP、MySQL、FTP等,极大地简化了部署流程。
  • 软件管理:用户可以通过宝塔面板轻松管理服务器上的软件,包括安装、卸载、更新等操作。
  • 网站管理:宝塔面板允许用户快速创建和管理多个网站,支持一键部署SSL证书,实现网站的HTTPS化。
  • 安全管理:提供防火墙、安全组、登录日志等安全功能,帮助用户保护服务器不受外部攻击。
  • 备份与恢复:宝塔面板支持网站数据和服务器系统的备份,可以在出现问题时快速恢复。
  • 监控与统计:提供服务器资源使用情况的实时监控,包括CPU、内存、磁盘空间、网络流量等,以及网站访问统计。
  • 扩展性强:宝塔面板支持插件扩展,用户可以根据需要安装额外的功能模块。
  • 跨平台支持:宝塔面板不仅支持Linux系统,还推出了Windows版本的宝塔面板,满足不同用户的需求。

宝塔面板因其易用性和强大的功能,受到了许多服务器管理员和开发者的欢迎,特别是对于那些希望简化服务器管理流程的用户来说,宝塔面板是一个非常好的选择。

总结起来就是说,只要安装了这个宝塔面板,就算是运维小白,基本也可以将服务器玩转啦! 那么具体怎么安装呢?

一键安装宝塔面板

宝塔官网提供了多种系统的一键安装命令:
在这里插入图片描述

使用以下命令进行一键安装:

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

安装效果:
在这里插入图片描述
根据指引,确认后,输入y进行安装,稍等几分钟就安装完成了。
在这里插入图片描述
安装完成后,里面有一些提示,大家根据需要调整即可。上图圈住的两个地方需要特别注意:

  • 一个是外网面板地址,这个就是可以访问到宝塔面板的公网地址。(前提是必须在服务器的安全组放行13012端口)
  • 另外一个就是宝塔面板的用户名(username)和密码(password)了。
如何放行13012端口?

首先登录到服务器控制台,根据下图操作进入到安全组配置页面
在这里插入图片描述
点击管理规则,然后进入到规则配置页面,选择 入方向规则,选择手动添加,然后将端口 13012配置到其中,确定即可。
在这里插入图片描述
如下图所示:
在这里插入图片描述
然后点击保存即可。

2.登录宝塔面板

在浏览器输入宝塔面板的外网面板地址,然后回车进行访问。(可能会提示不安全的链接,点击高级,选择继续访问即可)
这里在宝塔面板安装完成的时候,也给过我们相应的操作提示。
在这里插入图片描述
访问成功后,页面为:
在这里插入图片描述
输入自己的用户名和密码,即可进行登录。
在这里插入图片描述
登录成功后,同意协议即可正常进入面板。
进入面板后,绑定完自己的账号,就会弹窗让你选择常用的环境进行安装。
在这里插入图片描述
这里我选择推荐的LNMP四件套,点击一键安装,然后就耐心等待安装完成。
在这里插入图片描述

安装完成之后,网站需要的基本的环境基本就都有了,正所谓:工欲善其事必先利其,咱们已经把工具都准备好了,接下来就可以搭建自己需要的服务或者网站啦!
在这里插入图片描述

至此,宝塔面板搭建完成,进度已经一大半了,终于要到最关键的部分了!大家加把劲!

3.基于docker安装Openwebui

使用宝塔面板安装docker+Openwebui
安装docker

在宝塔面板中,左边的菜单栏里面有docker一项,点击进入页面,如果尚未安装docker,会提示进行安装,点击之后就可以一键安装,稍微等一会儿就安装成功了。
在这里插入图片描述

安装Openwebui

安装成功后,在里面的应用商店,搜索openwebui。可以看到两个搜索结果,因为我们只需要Openwebui+apikey,并不需要ollama本地运行大模型,所以选择第二个。点击安装,进行相应的配置:
在这里插入图片描述
在这里插入图片描述

直接使用默认值安装即可,但是此处为了让大家有参与感,将web端口那里改为3003,然后点击确定即可。
在这里插入图片描述
稍等一会儿,容器就启动成功了,显示为运行中的话,就说明已经启动完毕了,服务就已经可用了。
在这里插入图片描述

在服务器命令行直接安装docker+Openwebui

当然,有的小伙伴不想安装宝塔面板,那就可以直接在命令行进行安装docker以及 Openwebui ,这个大家量力而行,如果是小白用户,建议直接安装有界面的进行操作安装。

docker命令安装

在云服务器的操作界面中,打开命令行终端,复制以下代码并回车运行:

curl -fsSL https://get.docker.com | bash -s docker

这行代码会通过官方脚本快速安装 Docker 环境,为后续的部署做好准备。请确保在云服务器上执行此步骤,避免在本地环境中出现兼容性问题。

OpenWebUI 命令部署

Docker 环境安装完成后,继续在命令行终端输入以下代码进行 OpenWebUI 的一键部署:

docker run -d -p 3003:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

这段代码会在后台运行一个容器,将容器的 8080 端口映射到云服务器的 3003 端口,并设置了数据卷挂载和容器名称等参数。

服务器安全组放行3003端口

和之前的操作一样,由于我们需要让Openwebui在3003端口上运行,所以需要在服务器的安全组放行这个端口,之前已经做过一次了,不废话,直接上图:
在这里插入图片描述
这里添加好了之后,我们的服务就准备好了!

访问Openwebui

访问你自己的 服务器公网ip:端口号, 就可以看到openwebui已经可以成功访问了!
如我的服务器公网ip是:126.7.21.8,咱们刚配置的端口号是3003,那么就直接在浏览器访问:126.7.21.8:3003,就可以看到Openwebui的界面了,这步就成功了!
在这里插入图片描述

4.Openwebui使用

注册管理员账号

点击开始使用,然后进行注册,登录即可使用。首次注册的账号即为管理员账号。

注册成功之后,就可以用管理员账号登录进入,然后配置api进行调用了!
在这里插入图片描述
此处可以看到,模型选择的列表,目前是空的,没有可用的模型进行对话,接下来我们就开始集成我们的API

1. 硅基流动 API 集成(实现2000万tokens内免费使用)

依次进行操作:
点击头像-选择管理员面板

在这里插入图片描述
在管理员面板中,找到设置-外部连接这个页面
在这里插入图片描述
然后将OpenAIAPI打开,Ollama API关闭,然后点击OpenAI API后面的设置按钮,如下图所示:
在这里插入图片描述
打开编辑连接页面,将硅基流动的baseurl和apikey填入其中:
baseurl:

https://api.siliconflow.cn/v1

APIkey:你自己之前申请的APIkey
在这里插入图片描述
添加模型的那里,可以不填,不填的话默认就是加载所有模型,如果你觉得模型太多了,就可以在这里填入模型名称,然后就只会显示你填入的模型。

比如,我这里先不填模型,然后保存,然后新建对话,可以看到模型列表已经出来很多可选的模型了,其中就有Deepseek系列的,以及通义千问系列的。
在这里插入图片描述

这里我先选择Deepseek2.5进行对话,可以看到效果如下:
在这里插入图片描述
配置一下自己喜欢的模型,不然每次选择模型都很麻烦。
在硅基流动平台的模型广场页面,选择自己喜欢的模型,然后点击复制按钮,即可复制模型的名称:
在这里插入图片描述
然后粘贴到模型中,先点击+号,再点击保存即可。
在这里插入图片描述
这样在对话的时候,可以选择的就只有这里添加的模型了。
在这里插入图片描述
下面的Arena Model模型,不是个真实的模型,是根据用户使用的模型情况,自动选择用户使用反馈比较好的模型,一般可以不用。

2. OpenRouter 接入

知道了硅基流动API的接入,Openrouter的APIkey接入也是如出一辙,难点在于如何获取Openrouter的APIkey,这里就不展开讲了,以免偏题。
只提一下,Openrouter支持的模型更多,目前已有350个模型,包括OpenAI的接口以及谷歌的接口,国外的主流接口都有,而且调用API都无需魔法,在国内可以直接进行调用,也很丝滑。

三、后话

至此,任务已经成功达成! 撒花~
Openwebui还有很多不错的功能,我把我探索到的,放到下面,可以一起进行学习,探索,欢迎大家一起来讨论!

利用flux进行文生图

在这里插入图片描述
在这里插入图片描述

调用本地Deepseek+comfyui服务进行文生图

deepseek调用comfyui绘画

调用纯文本模型进行文生图

可以实现聊天和生图同时进行
在这里插入图片描述

联网进行搜索并结合语言模型输出结果

可以实现本地部署的模型也可以实现联网功能,或者调用api的模型也可以实现联网功能。
支持联网搜索功能
这些都只是表面的冰山一角,如果潜心进行研究的话,可以搭建出不亚于deepseek官方网站的功能,甚至可以有更多的功能!
语音播报,知识库,工作流等等,都是支持的,等着我们去研究~

更多精彩内容,下期再见~


相关文章:

【如何使用云服务器与API搭建专属聊天系统:宝塔面板 + Openwebui 完整教程】

文章目录 不挑电脑、不用技术,云服务器 API 轻松搭建专属聊天系统,对接 200 模型,数据全在自己服务器,安全超高一、前置准备:3 分钟快速上手指南云服务器准备相关账号注册 二、手把手部署教程(含代码块&a…...

Oracle数据库存储结构--逻辑存储结构

数据库存储结构:分为物理存储结构和逻辑存储结构。 物理存储结构:操作系统层面如何组织和管理数据 逻辑存储结构:Oracle数据库内部数据组织和管理数据,数据库管理系统层面如何组织和管理数据 Oracle逻辑存储结构 数据库的逻…...

C++ 左值(lvalue)和右值(rvalue)

在 C 中,左值(lvalue)和右值(rvalue)是指对象的不同类别,区分它们对于理解 C 中的表达式求值和资源管理非常重要,尤其在现代 C 中涉及到移动语义(Move Semantics)和完美转…...

《实战AI智能体》DeepSearcher 的架构设计

DeepSearcher 的架构设计 一个通往搜索AGI的Agentic RAG应该如何设计? 从架构上看,DeepSearcher 主要分为两大模块。 一个是数据接入模块,通过Milvus向量数据库来接入各种第三方的私有知识。这也是DeepSearcher相比OpenAI的原本DeepResearc…...

Kotlin 继承

Kotlin 继承 概述 Kotlin 是一种现代的编程语言,它具有简洁、安全、互操作性等特点。在面向对象编程中,继承是一种非常重要的特性,它允许我们创建具有共同属性和方法的类。本文将详细介绍 Kotlin 中的继承机制,包括继承的基本概…...

【6】树状数组学习笔记

前言 树状数组是我学的第一个高级数据结构,属于 log ⁡ \log log 级数据结构。 其实现在一般不会单独考察数据结构,主要是其在其他算法(如贪心,DP)中起到优化作用。 长文警告:本文一共 995 995 995 行…...

【RISCV LAB】0x01-安装实验仿真辅助工具

安装实验辅助工具 实验环境搭建安装 Verilator编译依赖下载源码编译安装测试安装 安装 RISC-V 交叉编译工具链编译依赖下载源码编译安装编译并安装添加环境变量并测试 安装 GTKWave其他模拟器推荐RARSemulsiV FAQ 实验环境搭建 Verilator 是一款开源的支持 Verilog 和 SystemV…...

OSPF-2 邻接建立关系

上一期我们说了OSPF的邻居建立关系以及OSPF邻居关系建立中建立失败的因素以及相关实验案例 这一期我们来说说OSPF的邻接关系建立时需要交互哪些报文以及失败因素及原因和相关实验案例 一、概述 在运行了OSPF的网络当中为了交互链路状态信息和路由信息,互相之间需要建立邻接关…...

操作系统知识点29

1.当用户使用外部设备时,其控制设备的命令传递途径依次为用户应用层->设备独立层->设备驱动层->设备硬件 2.通常用于管理空闲物理内存的方法:空闲快链表法;位示图法;空闲页面表 3. 可用于文件的存取控制和保护的方法&a…...

【Java篇】行云流水,似风分岔:编程结构中的自然法则

文章目录 Java 程序逻辑控制:顺序、分支与循环结构全面解析一、顺序结构二、分支结构2.1 if 语句2.1.1 基本语法2.1.2 if-else 语句2.1.3 if-else if-else 语句 2.2 switch 语句 三、循环结构3.1 while 循环3.2 break 语句3.3 continue 语句3.4 for 循环 四、输入输…...

代码块与设计模式

文章目录 1.代码块1.1基本介绍基本语法 1.2代码块的好处和案例演示1.3代码块使用注意事项和细节讨论!!! 2.单例设计模式2.1什么是设计模式2.2什么是单例模式2.2.1饿汉式2.2.2懒汉式2.2.3比较 1.代码块 1.1基本介绍 代码化块又称为初始化块,属于类中的成员[即是类的一部分]&am…...

要登录的设备ip未知时的处理方法

目录 1 应用场景... 1 2 解决方法:... 1 2.1 wireshark设置... 1 2.2 获取网口mac地址,wireshark抓包前预过滤掉自身mac地址的影响。... 2 2.3 pc网口和设备对接... 3 2.3.1 情况1:... 3 2.3.2 情…...

CentOS 系统安装 docker 以及常用插件

博主用的的是WindTerm软件链接的服务器,因为好用 1.链接上服务器登入后,在/root/目录下 2.执行以下命令安装docker sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.reposudo…...

统计字符(字符串)(gets与fgets的区别)

统计字符 #include<stdio.h> #include<string.h> int main(){char str1[5],str2[80];while(gets(str1)){if(strcmp(str1,"#")0)break;gets(str2);for(int i0;i<strlen(str1);i){int sum0;for(int j0;j<strlen(str2);j){if(str1[i]str2[j])sum;}p…...

Node.js REPL 深入解析

Node.js REPL 深入解析 引言 Node.js 作为一种流行的 JavaScript 运行环境,在服务器端开发中扮演着重要角色。REPL(Read-Eval-Print Loop,读取-求值-打印循环)是 Node.js 的一个核心特性,它允许开发者在一个交互式环境中执行 JavaScript 代码。本文将深入探讨 Node.js R…...

【测试语言基础篇】Python基础之List列表

一、Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置&#xff0c;或索引&#xff0c;第一个索引是0&#xff0c;第二个索引是1&#xff0c;依此类推。 Python有6个序列的内置类型&#xff0c;但最常见的是列表和元组。序列都可…...

中山六院团队发表可解释多模态融合模型Brim,可以在缺少分子数据时借助病理图像模拟生成伪基因组特征|顶刊解读·25-02-14

小罗碎碎念 在癌症诊疗领域&#xff0c;精准预测患者预后对临床决策意义重大。传统的癌症分期系统&#xff0c;如TNM分期&#xff0c;因无法充分考量肿瘤异质性&#xff0c;难以准确预测患者的临床结局。而基于人工智能的多模态融合模型虽有潜力&#xff0c;但在实际临床应用中…...

《基於Python的网络爬虫抓包技术研究与应用》

## 摘要 本文探讨了基于Python的网络爬虫抓包技术及其应用。随着互联网数据的快速增长&#xff0c;网络爬虫技术在数据采集和分析中扮演着越来越重要的角色。本研究首先介绍了网络爬虫的基本概念和Python在爬虫开发中的优势&#xff0c;然后深入分析了抓包技术的原理和常用工具…...

从零开始探索C++游戏开发:性能、控制与无限可能

一、为何选择C开发游戏&#xff1f; 在虚幻引擎5渲染的次世代画面背后&#xff0c;在《巫师3》的庞大开放世界中&#xff0c;在《毁灭战士》的丝滑60帧战斗里&#xff0c;C始终扮演着核心技术角色。这门诞生于1983年的语言&#xff0c;至今仍占据着游戏引擎开发语言使用率榜首…...

TypeScript 高级类型 vs JavaScript:用“杂交水稻”理解类型编程

如果把 JavaScript 比作乐高积木&#xff0c;TypeScript 就是一套智能积木系统。本文将用最生活化的比喻&#xff0c;带你理解 TypeScript 那些看似复杂的高级类型。 一、先看痛点&#xff1a;JavaScript 的“薛定谔类型” // 场景&#xff1a;用户信息处理 function getUserI…...

几款可用于绘制工艺原理图的开源框架

一、LogicFlow 由滴滴团队开发的开源流程图框架&#xff0c;支持高度定制的工艺原理图绘制。 • 核心特性&#xff1a; • 提供拖拽式界面和丰富的节点类型&#xff08;矩形、圆形、多边形等&#xff09;&#xff0c;支持自定义节点形状、样式和交互逻辑。 • 支持插件扩展&am…...

STM32如何精准控制步进电机?

在工业自动化、机器人控制等场合&#xff0c;步进电机以其高精度、开环控制的特性得到了广泛应用。而在嵌入式系统中&#xff0c;使用STM32进行步进电机的精确控制&#xff0c;已成为开发者的首选方案之一。 本文将从嵌入式开发者的角度&#xff0c;深入探讨如何基于STM32 MCU…...

Go语言入门基础详解

一、语言历史背景 Go语言由Google工程师Robert Griesemer、Rob Pike和Ken Thompson于2007年设计&#xff0c;2009年正式开源。设计目标&#xff1a; 兼具Python的开发效率与C的执行性能内置并发支持&#xff08;goroutine/channel&#xff09;简洁的类型系统现代化的包管理跨…...

WPF窗口读取、显示、修改、另存excel文件——CAD c#二次开发

效果如下&#xff1a; using System.Data; using System.IO; using System.Windows; using Microsoft.Win32; using ExcelDataReader; using System.Text; using ClosedXML.Excel;namespace IfoxDemo {public partial class SimpleWindow : Window{public SimpleWindow(){Initi…...

Ubuntu 服务器安装 Python 环境 的详细指南

以下是 在 Ubuntu 上安装 Python 3.10 的详细步骤&#xff08;兼容 Ubuntu 20.04/22.04&#xff09;&#xff1a; 方法一&#xff1a;通过 PPA 仓库安装&#xff08;推荐&#xff09; 1. 添加 deadsnakes PPA sudo apt update sudo apt install software-properties-common s…...

鸿蒙next 多行文字加图片后缀实现方案

需求 实现类似iOS的YYLabel之类的在文字后面加上图片作为后缀的样式&#xff0c;多行时文字使用…省略超出部分&#xff0c;但必须保证图片的展现。 系统方案 在当前鸿蒙next系统提供的文字排版方法基本没有合适使用的接口&#xff0c;包括imagespan和RichEditor,根据AI的回…...

STM32---FreeRTS队列集

一、简介 一个队列只允许任务间传递的消息为同一种数据类型&#xff0c;如果需要在任务间传递不同数据类型的消息时&#xff0c;那么就可以使用队列集 &#xff01; 作用&#xff1a;用于对多个队列或信号量进行“监听”&#xff0c;其中不管哪一个消息到来&#xff0c;都可让…...

oracle11.2.0.4 RAC 保姆级静默安装(二) DB数据库软件

1.响应文件配置 [rootdb11g1 software]# su - oracle [oracledb11g1 ~]$ cd /software/database/ [oracledb11g1 database]$ cd response/ [oracledb11g1 response]$ vi db_install.rsp oracle.install.optionINSTALL_DB_SWONLY ORACLE_HOSTNAMEdb11g1 UNIX_GROUP_NAME…...

用python代码将excel中的数据批量写入Json中的某个字段,生成新的Json文件

需求 需求&#xff1a; 1.将execl文件中的A列赋值给json中的TrackId&#xff0c;B列赋值给json中的OId 要求 execl的每一行&#xff0c;对应json中的每一个OId json 如下&#xff1a; {"List": [{"BatchNumber": "181-{{var}}",// "Bat…...

【每日学点HarmonyOS Next知识】状态变量、动画UI残留、Tab控件显示、ob前缀问题、文字背景拉伸

1、HarmonyOS 怎么用一个变量观察其他很多个变量的变化&#xff1f; 有一个提交按钮的颜色&#xff0c;需要很多个值非空才变为红色&#xff0c;否则变为灰色&#xff0c;可不可以用一个变量统一观察这很多个值&#xff0c;去判断按钮该显示什么颜色&#xff0c;比如Button().…...

【第五节】windows sdk编程:windows 控件基础

目录 一、控件概述 二、标准控件 三、通用控件 四、控件的创建 五、控件风格 六、控件相关的消息 6.1 控件控制消息 6.2 控件通知消息 一、控件概述 控件是 Windows 系统内置的窗口类&#xff0c;它们只能是某个窗口的子窗口。因此&#xff0c;创建控件时必须使用 WS_C…...

架构师论文《论云原生架构及其应用》

【摘要】 2022年3月&#xff0c;我作为系统架构师参与了某大型零售企业“智能化供应链管理平台”项目的设计与实施工作。该平台旨在整合企业分散在不同区域的仓储、物流、库存及订单系统&#xff0c;构建统一管理的云原生架构&#xff0c;以应对业务季节性峰值带来的弹性伸缩需…...

Centos 7 安装达梦数据库

一、环境准备 1. 确认操作系统的版本和数据库的版本是否一致 cat /etc/redhat-release 2. 关闭防火墙 查看防火墙状态 firewall-cmd --state 停止firewall systemctl stop firewalld.service 禁止firewall开机启动 systemctl disable firewalld.service 3. 修改文件l…...

46.全排列

46.全排列 力扣题目链接 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a…...

RabbitMQ (Java)学习笔记

目录 一、概述 ①核心组件 ②工作原理 ③优势 ④应用场景 二、入门 1、docker 安装 MQ 2、Spring AMQP 3、代码实现 pom 依赖 配置RabbitMQ服务端信息 发送消息 接收消息 三、基础 work Queue 案例 消费者消息推送限制&#xff08;解决消息堆积方案之一&#…...

2-002:MySQL 索引的最左前缀匹配原则是什么?

MySQL 索引的最左前缀匹配原则 最左前缀匹配原则&#xff08;Leftmost Prefix Matching&#xff09; 是指&#xff1a; 当 查询使用了复合索引&#xff08;联合索引&#xff09; 时&#xff0c;MySQL 会优先匹配索引的 最左列&#xff0c;然后逐步向右匹配&#xff0c;直到遇到…...

【Python 数据结构 15.哈希表】

目录 一、哈希表的基本概念 1.哈希表的概念 2.键值对的概念 3.哈希函数的概念 4.哈希冲突的概念 5.常用的哈希函数 Ⅰ、直接定址法 Ⅱ、平方取中法 Ⅲ、折叠法 Ⅳ、除留余数法 Ⅴ、位与法 6.哈希冲突的解决方案 Ⅰ、开放定址法 Ⅱ、链地址法 7.哈希表的初始化 8.哈希表的元素插…...

校园安全用电怎么保障?防触电装置来帮您

引言 随着教育设施的不断升级和校园用电需求的日益增长&#xff0c;校园电力系统的安全性和可靠性成为了学校管理的重要课题。三相智能安全配电装置作为一种电力管理设备&#xff0c;其在校园中的应用不仅能够提高电力系统的安全性&#xff0c;还能有效保障师生的用电安全&am…...

疗养院管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xf…...

基于 Redis Stream 实现消息队列功能

好长时间没更新了。。。。。。 背景&#xff1a;举个例子在某个接口执行完成后只需要前半段返回结果&#xff0c;后半段可能是日志记录、下游系统调用等功能的情况下&#xff0c;将耗时的消息进行异步发送就显得很有必要&#xff0c;这时就有很多种选择&#xff0c;单体项目甚至…...

单元测试、系统测试、集成测试、回归测试的步骤、优点、缺点、注意点梳理说明

单元测试、系统测试、集成测试、回归测试的梳理说明 单元测试 步骤&#xff1a; 编写测试用例&#xff0c;覆盖代码的各个分支和边界条件。使用测试框架&#xff08;如JUnit、NUnit&#xff09;执行测试。检查测试结果&#xff0c;确保代码按预期运行。修复发现的缺陷并重新测…...

深入理解 HTML 中的<div>和元素:构建网页结构与样式的基石

一、引言 在 HTML 的世界里&#xff0c;<div>和元素虽看似普通&#xff0c;却扮演着极为关键的角色。它们就像网页搭建过程中的万能积木&#xff0c;能够将各种 HTML 元素巧妙地组合起来&#xff0c;无论是构建页面布局&#xff0c;还是对局部内容进行样式调整&#xff…...

网络安全信息收集[web子目录]:dirsearch子目录爆破全攻略以及爆破字典结合

目录 一、dirsearch 工具详细使用攻略 1. 安装 前提条件 安装步骤 可选&#xff1a;直接下载预编译版本 2. 基本用法 命令格式 参数说明 示例 3. 核心功能与高级用法 3.1 多线程加速 3.2 自定义字典 3.3 递归扫描 3.4 过滤响应 3.5 添加请求头 3.6 代理支持 3…...

Mybaties批量操作

1、批量插入 <!--批量操作-插入--><!-- 相当于INSERT INTO t_goods (c1,c2,c3) VALUES (a1,a2,a3),(b1,b2,b3),(d1,d2,d3),...--><insert id"batchInsert" parameterType"java.util.List">INSERT INTO t_goods (title,sub_title,origina…...

27.卷2的答案

CSP-J离我们不远了&#xff0c;加加油啦&#xff01; 1.堆排序最坏时间复杂度是&#xff1f; 解析&#xff1a;平时多多练习可知&#xff0c;最坏时间复杂度是O(n log n)。 2.哪条能将s中的数值保留一位&#xff0c;并将第二位四舍五入&#xff1f; 解析&#xff1a;经过试…...

【 Manus平替开源项目】

文章目录 Manus平替开源项目1 OpenManus1.1 简介1.2 安装教程1.3 运行 2 OWL2.1 简介2.2 安装教程2.3 运行 3 OpenHands&#xff08;原OpenDevin&#xff09;3.1 简介3.2 安装教程和运行 Manus平替开源项目 1 OpenManus 1.1 简介 开发团队: MetaGPT 核心贡献者&#xff08;5…...

【WEB APIs】DOM-事件基础

目录 1. 事件监听&#xff08;绑定&#xff09; 案例—关闭广告 案例-随机点名 2. 事件类型 2.1 鼠标事件 2.2 焦点事件 2.3 文本事件 3. 事件对象 案例—评论回车发布 4. 环境对象 5. 回调函数 6. 综合案例—tab栏切换 1. 事件监听&#xff08;绑定&#xff09; …...

66.Harmonyos NEXT 图片预览组件使用指南

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; Harmonyos NEXT 图片预览组件使用指南 文章目录 Harmonyos NEXT 图片预览组件使用指南效果预览一、组件使用概述1. 组件功能特点2. 组件依赖关系 二…...

linux系统安装和激活conda

安装 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shbash ./Miniconda3-latest-Linux-x86_64.sh回车到最后按照输入yes&#xff0c;之后按提示操作。 激活 conda activate如果没有反应或者返回&#xff1a; bash: conda: command not found则…...

Java 集合框架大师课:集合框架的暗黑料理(六)

&#x1f52e;Java 集合框架大师课&#xff1a;集合框架的暗黑料理&#xff08;六&#xff09;——弱引用与幽灵队列 第一章 弱引用&#xff1a;Java世界的塑料兄弟情 &#x1f494; 四大引用类型生死簿 // 四类引用生死实验 Object strongObj new Object(); …...