安装使用npm install --save hexo-blog-encrypt安装加密插件。 直接对文章进行加密在文章信息头中添加password为文章加密: 1234567---title: Hello Worldtags:- 作为日记加密date: 2016-03-30 21:12:21password: mikemessi--- 想要自定义提示内容,可以参考详细文章加密(根据需要自行修改): 1234567891011---title: Hello Worldtags:- 作为日记加密date: 2016-03-30 21:12:21password: mikemessiabstract: 有东西被加密了, 请输入密码查看.message: 您好, 这里需要密码.wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.--- 根据标签对文章进行加密在_config.yml中添加如下内容(根据需要进行修改): 12345678910# Securit ...
前言前段时间抛弃了QMsg酱的QQ提醒功能(感觉维护起来有一些繁琐)。 但是自从没有了QQ提醒之后,博客接收到的评论又不能及时回复,就打算使用QQ邮箱提醒。 Waline已经内置了邮箱提醒,配置起来特别容易,为了方便选择了QQ邮箱作为邮件发送服务提供商。 本教程基于使用Docker部署Waline评论服务端而做的功能增强。 启动容器使用以下命令启动容器,记得开放8360端口 需要将对应的参数修改为您自己的 1234567891011121314151617181920sudo docker run -d \ -e LEAN_ID=xxxx \ -e LEAN_KEY=xxxx \ -e LEAN_MASTER_KEY=xxxx \ -e LEAN_SERVER=waline-data.insectmk.cn \ -e SMTP_SERVICE=QQ \ -e SMTP_USER=3067836615@qq.com \ -e SMTP_PASS=xsxx \ -e SMTP_SECURE=true \ -e SITE_NAME="InsectMk's ...
前言之前已经完成了ChatGLM2-6B的本地部署,但是只能直接使用,而不能接入自己的程序。 官方也提供了API的启动文件,本文将会记录API的使用方法。 在阅读之前确保已完成本地部署开源语言模型ChatGLM2-6b。 准备官方提供两种格式的API启动脚本,一种是HTTP形式的接口,一种是OpenAI格式的流式API,分别是api.py与openai_api.py。 安装额外依赖 12# 使用openai_api.py需要安装这两个包pip install fastapi uvicorn 修改启动文件 如果系统为Windows则需要将api.py与openai_api.py中的THUDM/chatglm2-6b修改为THUDM\chatglm2-6b。 启动HTTP使用以下指令启动HTTP的API脚本(自行替换项目目录) 123456# 进入到项目目录cd D:\ChatGLM2-6B# 激活环境conda activate D:\ChatGLM2-6B\ENV# 运行python api.py 出现以下内容即表示启动成功 根据不同的终端测试API Windows-CMDWin ...
前言最近又要折腾人工智能了,又要狩猎新的领域了,头痛。 在学习过程中了解到了Anaconda这款软件,对于我来说就是用来进行Python的环境管理。 安装进入到Anaconda官方下载页进行下载。 根据需要安装即可,安装完成后打开终端输入conda --version回车,成功打印版本号则安装成功。 如果显示'conda' 不是内部或外部命令,也不是可运行的程序或批处理文件。,那可能是环境变量没有配上。 找到Anaconda的安装路径,我这里是E:\software-for-developer\anaconda3,然后在path环境变量下添加以下变量值: E:\software-for-developer\anaconda3 E:\software-for-developer\anaconda3\Scripts:加上这个不能使用conda activate <环境名>(不知道为什么),可以不加 E:\software-for-developer\anaconda3\Library\bin 然后再打开终端输入conda --version回车,验证是否安装 ...
前言最近有点儿游戏荒了,打算再次拾起我的世界,但是朋友想玩儿mod服,之前搭建的都是纯净官方服,没有插件和模组,看来又得踩踩坑了。 本片博文将会记录在ubuntu20上搭建我的世界1.20.1Java版混合服的步骤。 在搭建之前需要知道一些服务端的基本知识:MC是有许多不同的服务端启动核心的,不同的服务端启动核心有不同的功能,大致分为四类:官方服核心、插件服核心、模组服核心、混合服核心。 下面对这四种服务端作简要的说明: 官方服核心:即在官方服务端下载页下载的jar文件,其中包含了服务端最基础的功能。 插件服核心:在官方服核心的基础上又增加了插件功能,主要对服务器的功能进行扩展,例如传送、白名单等,插件只需要在服务端安装,客户端通常只需要在控制台输入指令即可使用。 模组服核心:在官方服核心的基础上又增加了mod功能,主要对服务器的玩儿法进行扩展,例如枪械、机械动力等,一般要服务器和客户端同时安装。 混合服核心:结合了以上三种核心的功能、既有插件又有模组。 注意:由于互联网更新频繁,注意灵活识别页面与文件名。 搭建首先需要在服务器上安装jre17,运行以下指令进行安装: 1234# ...
前言最近要开始忙毕业设计了,毕业设计的选题为《智能问答机器人的设计与实现》。 本来打算用一个国内的大语言模型的API做个对话网站就行了,结果开题答辩的时候导师说太简单了,能不能自己训练模型。 作为软件工程摆烂人,表示有点儿难为我了,就打算使用别人训练好的模型,降低学习成本。 然后就找到了ChatGLM这个开源语言模型项目,本来想使用ChatGLM3的但是教程太少了,不敢踩坑,就选择了ChatGLM2。 本地部署ChatGLM需要较好的硬件配置,否则会很慢,以下是我的电脑配置: 部位 型号 CPU i3 12100F GPU RTX 2060 super 内存 2 * 8G 3200MHz 系统 Windows 11 专业工作站版 之前在笔记本也部署成功了,只是响应很慢,大概1秒一个字,笔记本为联想拯救者Y7000P2022 12700H+3050ti。 部署安装conda 用于Python环境管理,可以参考Anaconda的安装与基本使用。 克隆项目 可先到官方仓库查看部署步骤。 1234# 克隆项目仓库git clone https://github.co ...
前言最近在浏览自己博客的时候发现一些问题。 博客的Waline评论系统服务端是托管在vercel平台的,因为是国外网站,所以访问会比较慢。 但是最近发现有时候还会出现访问不了的情况,这让我很头痛,所以打算自己本地部署Waline服务端。 如需使用Docker部署Waline评论服务端,请提前做好以下准备: LeanCloud 设置 (数据库) Docker的安装 启动容器使用以下命令启动容器,记得开放8360端口 123456789sudo docker run -d \ -e LEAN_ID=xxx \ -e LEAN_KEY=xxx \ -e LEAN_MASTER_KEY=xxx \ -e LEAN_SERVER=xxx \ -p 8360:8360 \ --restart=always \ --name waline-server \ lizheming/waline 参数解释 参数 解释 -e LEAN_ID=xxx LeanCloud的APP ID -e LEAN_KEY=xxx LeanCloud的APP KEY ...
案例代码导入JWT的Maven坐标 123456<!--跨域身份验证解决⽅案 Json web token包--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version></dependency> 创建JWTUtil工具包 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273package top.marken.onlineclass.util;import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jwts;import io.jsonwebto ...
案例代码登录验证案例 main.js 123456789101112131415//路由拦截,拦截全部路由,每次操作路由都是被拦截进⾏判断router.beforeEach((to, from, next) => { const token = localStorage.getItem("token"); //筛选需要传token的路由,匹配route⾥⾯需要登录的路径,如果匹配到就是true if (to.matched.some(record => record.meta.requiresAuth)) { //根据token是否有,判断是否需要调到登录⻚⾯ if (token) { next() } else { next({ path: '/login' }) } } else { next(); }}) router/index.js 1 ...