- 博客(64)
- 资源 (1)
- 收藏
- 关注
原创 Grafana + Prometheus 分级告警配置设计(P0/P1/P2)
一套生产常用的 P0/P1/P2 分级告警设计。。按"越严重:报警越即时、抑制越短、通知越显眼"来配。
2026-09-02 20:55:09
452
原创 Grafana 告警推送踩坑实录:把邮件送到 163 邮箱的全链路打通
这几天给 Grafana(k8s 单机版)配了一套监控告警,P0/P1/P2 共 17 条规则全指向推送。结果在"发邮件"这一最后一步卡了很久,特此记录,帮后来人避坑。
2026-09-02 20:45:46
350
原创 从 0 到 1:一套 GitHub + GHCR + k3s 的全自动 CI/CD 流水线(Flask 项目实战)
基于一台 轻量云服务器(k3s 单节点集群)上的真实部署经验总结。覆盖两个 Flask 项目:纯 Flask 无数据库和 Flask + MySQL 含数据库迁移。真正的"push 到 master 即自动上线",无需任何手动操作。
2026-09-01 20:42:32
472
1
原创 从零开始:我给 Ubuntu 服务器装上 K8s 监控全家桶(附避坑指南)
先说结论:用 kube-prometheus-stack 这个官方 Helm Chart 是最省心的方案,它把 Prometheus、Grafana、Alertmanager 打包在一起,还自带了一堆好用的告警规则。整个过程不算难,但坑也不少。- Grafana:`http://<服务器内网IP>:3000`,默认账号 admin,密码在 values.yaml 里设置,或者用 `kubectl get secret` 去查;如果你也准备部署,记住一句话:先检查,再计划,后执行,最后验证。
2026-09-01 12:48:08
319
原创 如何配置grafana
2,配置prometheus cluster-ip。导入监控仪表盘dashboard。其他的不需要修改,配置成功。监控面板就配置好了!1,登录grafana。
2026-08-31 18:11:59
245
原创 Flask 个人站 iProfile 上线笔记(k3s + Nginx + Let‘s Encrypt)
项目演示地址:[https://iprofile.liousa.site](https://iprofile.liousa.site)
2026-08-22 20:18:06
232
原创 多服务上线日记三:
用 Deployment/StatefulSet 跑 MySQL,这是云原生使用K8s 数据库的标准玩法:StatefulSet 给 MySQL 稳定网络标识,PVC 绑定存储,数据存存储卷,Pod 销毁数据不丢。属于练手、学习云原生数据库部署。但是常规的部署,数据库一般不放pod中,因为Pod 重启/漂移/升级都带来风险。出了问题排查链路长。滚动重启 web deployment。表数 48、大小 15.58MB。
2026-08-21 16:06:42
29
原创 大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
项目里有 src/llamafactory/v1/ 和 examples/v1/,代表新一代训练架构,YAML 风格和启动方式与经典路径略有不同,有时需要 USE_V1=1 等环境变量。典型写法是在 SFT 模型基础上继续训,stage 设为 dpo,model_name_or_path 指向 SFT 产出目录,dataset 指向偏好数据。如果你已经有一个能用的 SFT 模型,但仍然观察到:回答普遍太长太啰嗦,不该答的问题也瞎答,两种说法里总选更差的那个——这时可以在 SFT 之后做偏好对齐。
2026-07-06 07:46:27
166
原创 多服务上线日记二:
-from-literal=MYSQL_ROOT_PASSWORD='你的root密码' \。# 直到 STATUS=Running 且 READY=1/1---------无法成功换国内镜像。--from-literal=MYSQL_PASSWORD='你的***密码' \。# MySQL 密码(自己换成强密码,记下来)# ③ 再确认 k3s 里有。# ④ 最后删 Pod 重建。
2026-07-05 21:43:51
258
原创 多服务上线日记一:
下载docker----------------------------------------# 4. 永久指定kubectl只读取这个文件,不再去/etc/rancher。# 安装docker全套(自带buildx=内置BuildKit)# 2. 修改归属为当前用户ubuntu。# 1. 复制root配置到用户目录。# 当前用户免sudo用docker。# 导入腾讯云docker密钥。# 添加腾讯云docker源。# 3. 锁定文件权限。# 清理旧容器相关包。# 配置国内镜像加速。
2026-07-05 20:37:50
380
原创 大模型学习笔记 · 第七篇 · 导出合并与部署使用
LoRA 训练结束后,世界上多了一个小文件,通常叫 adapter_model.safetensors,外加一份 adapter_config.json。推理 yaml 里会写 model_name_or_path 指向基座,adapter_name_or_path 指向你训好的目录,template 和训练保持一致。执行完成后,export_dir 里是合并后的完整权重,可以单独拷贝、上传、挂载。LLaMA Factory 把训练、试聊、导出、API 串在一起,就是为了支持这种循环,而不是单次实验。
2026-07-05 15:46:28
433
原创 大模型学习笔记 · 第六篇 · SFT 实战与调参
调参的优先级是:先数据,再 epoch,再学习率,最后才是 cutoff_len 等细节。监督微调,Supervised Fine-Tuning,听起来学术,做的事却很具体:你给模型看大量「用户怎么问、理想情况下该怎么答」的样本,让它学会按这种方式回应。第一次用自有数据,建议加 max_samples 或先训一个 epoch,快速看方向对不对,再开全量长跑。准备二十到五十个真实业务问题,固定下来,训前训后各答一遍,人工对比:事实对不对,语气像不像你们,会不会胡编,边界问题该拒的是否乱答。
2026-07-03 09:37:09
307
原创 大模型学习笔记 · 第五篇 · LoRA 与省显存训练
LoRA 只训练一小部分附加参数,训完得到的是几十到几百 MB 的 adapter,基座模型不变,显存友好。第一步,把 per_device_train_batch_size 设为 1,同时增大 gradient_accumulation_steps。yaml 里典型写法是 finetuning_type: lora,lora_rank: 8,lora_target: all。全量微调则往往需要多卡。七 B 量级的大模型,如果所有参数都参与更新,显存占用非常可观,往往需要多张高端显卡。第四步,换更小模型。
2026-07-02 07:13:55
484
原创 大模型学习笔记 · 第四篇 · 准备数据与对话模板
真实项目里的训练数据,往往来自业务现场:客服系统导出的历史对话,内部 FAQ 和知识库整理成的问答对,运营或专家人工标注的「标准问—标准答」,Excel 清洗后转成的 JSON,或者用 Easy Dataset、DataFlow 等工具半自动生成再人工抽检。更隐蔽的一种错误是:训练用一种 template,推理换成另一种,试聊效果会突然变差,让人误以为是训练失败。这意味着,output 字段里写的每一个字,都是在给模型立规矩:语气正式还是活泼,回答简短还是详尽,是否用礼貌用语,是否带必要免责声明。
2026-07-01 07:18:15
386
原创 大模型学习笔记 · 第三篇 · 项目结构与训练是怎么跑起来的
如果以后要排查问题,可以按这个顺序想:是配置错了,是数据错了,是模型加载错了,还是训练本身的问题。七、训练完成后,output_dir 里有什么 以 saves/qwen3-4b/lora/sft/ 为例,常见内容有 adapter_config.json、adapter_model.safetensors、trainer_state.json,如果开了 plot_loss 还有 training_loss.png,以及 checkpoint-500 这类中间存档。搞清这条链,就不会在项目里迷路。
2026-06-29 14:56:26
309
原创 大模型学习笔记 · 第二篇 · 安装环境与第一次训练
先把这三步在官方示例上走一遍,后面换成自己的数据和配置,只是换 yaml 里的几个字段,流程不变。第一次训练,最重要的不是调参,而是确认:环境没问题、模型能下载、数据能读、训练能跑完、目录里能产出 checkpoint。在这个目标达成之前,不建议改学习率、改 batch、换大模型,否则一旦报错,你很难判断是环境的问题还是参数的问题。报错了,先看 GitHub 上的常见问题汇总,再把完整报错去 Issues 里搜,安装和环境类问题通常都有人踩过。跑通一次,后面改数据、换模型,都是同一套流程。
2026-06-27 17:32:10
279
原创 大模型学习笔记 · 第一篇 · LLaMA Factory 是什么,能帮你做什么
把历史客服对话、FAQ、产品手册整理成问答对,选一个合适的开源模型,训练若干小时,得到的不再是一个什么都聊的通用机器人,而是一个按你们话术回答的助手。你让它写一封正式又诚恳的道歉邮件,它也能写,但语气、细节、品牌感都不对,改稿成本比自己写还高。对个人学习者或学生来说,几百条对话数据,加一张租来的云 GPU,跑一晚上,就能做出一个可演示的聊天机器人,比如会讲某种方言、熟悉某款游戏、扮演某个角色。LLaMA Factory 要解决的,正是这个问题:拿一个开源大模型当底子,用你自己的材料,把它教成你要的样子。
2026-06-27 17:22:48
460
原创 Flask 笔记十九 · 完结篇:Redis 缓存入门
前面十八篇已经把「能写、能测、能部署、能查日志」走通了。线上跑久以后,还会遇到:同一个数字、同一段列表,每次打开页面都查一遍数据库——数据量一大就慢。这一篇做一件事:用 Redis 做缓存,把「读多写少」的结果暂存起来,减轻数据库压力。例子仍是通用的Note备忘录项目,不涉及任何真实业务。这也是本系列的 最后一篇。
2026-06-27 17:17:22
348
原创 Flask 笔记十八:日志与错误处理
上一篇我们用 Docker 把 Flask 和 MySQL 一键跑起来了。上线以后,用户说「刚才 500 了」,你打开服务器——如果没有日志,只能猜。这一篇做两件事:把该记的信息写进日志,以及 404 / 500 错误对用户友好、对开发者可查。例子仍是通用的Note备忘录项目,不涉及任何真实业务。
2026-06-27 07:05:05
202
原创 Flask 笔记十七:Docker 打包 Flask 应用
上一篇我们用 pytest 给路由和 API 加了自动化测试。第十四篇是在服务器上 手动装 Python、配 venv、起 Gunicorn——能跑,但换一台机器往往又要重来一遍。这一篇做一件事:用 Docker 把「应用 + 运行环境」打成一个镜像,再用 docker-compose 一键拉起 Flask 和 MySQL。例子仍是通用的Note备忘录项目,不涉及任何真实业务。
2026-06-26 10:40:01
350
原创 Flask 笔记十六:用 pytest 测 Flask 应用
上一篇我们把写进了部署流程。功能越堆越多,改一处、怕别处坏——手动点浏览器很快不够用了。这一篇做一件事:用 pytest + Flask 测试客户端,给路由和 JSON API 写自动化测试。例子仍是通用的Note备忘录项目,不涉及任何真实业务。
2026-06-26 10:34:09
322
原创 Flask 笔记十五:自定义 Flask CLI 命令
上一篇我们用 Gunicorn 把应用跑上了服务器。每次都要记一长串 shell,容易漏步骤。Flask 自带 CLI 扩展,可以把这些操作收成flask xxx一条命令。这一篇做一件事:学会写自己的 Flask CLI 命令,并理解flask db是怎么挂上去的。例子仍是通用的Note备忘录项目,不涉及任何真实业务。
2026-06-26 10:27:35
389
原创 Flask 笔记十四:用 Gunicorn 部署 Flask 应用
上一篇我们加了 JSON API,本地用或flask run就能跑。自己开发没问题,但 不能直接把这套方式原封不动丢到公网服务器。这一篇做一件事:用 Gunicorn 把 Flask 应用跑成「生产模式」,并知道 Nginx 大概怎么接在前面。例子仍是通用的Note备忘录项目,不涉及任何真实业务。
2026-06-26 10:08:01
532
原创 Flask笔记十三:写一个简单的 JSON API Blueprint
上一篇我们把SECRET_KEY、数据库地址挪到了环境变量。这一篇做一件事:在同一个项目里加第三个 Blueprintapi,返回 JSON,并且 复用第十篇的,不复制 SQL。例子仍是通用的Note备忘录,不涉及任何真实业务。
2026-06-26 10:03:30
231
原创 Flask 笔记十一:用 Blueprint 拆分 admin 后台
上一篇我们把查询逻辑抽到了views.py变薄了。但项目还会长大:前台用户看自己的备忘录,后台要能 管全部数据、用 另一套布局,全塞进又会乱。这一篇做一件事:用第二个 Blueprint 把 admin 后台拆出去,和前台home并列,各管各的路由和模板。例子仍是通用的Note备忘录,不涉及任何真实业务。
2026-06-25 06:37:39
354
原创 Flask 笔记十:把查询逻辑抽到 service,让 views 变薄
上一篇我们做了登录、Session 和。路由能保护了,但views.py往往还会越来越长:读参数、拼 SQL、分页、再全挤在一个函数里。这一篇做一件事:把「怎么查数据」从视图里挪出去,视图只负责「读请求 → 调函数 → 选模板」。例子仍是通用的Note备忘录,不涉及任何真实业务。
2026-06-24 16:37:28
272
原创 我在小程序“提交-后台验证-业务闭环”接口测试中的一些实战经验(Postman)
按业务链路组织测试,而不是接口用环境变量串联状态一定要验证状态流转关注异步处理过程不只看返回值,要看最终结果如果说一句话总结我的经验就是:接口测试的核心不是“请求成功”,而是“业务闭环成立”。
2026-06-24 09:11:11
276
原创 Flask 笔记九:登录、Session 与路由保护
列表、表单、Flash 都做好以后,常见需求是:有些页面只能登录后访问,比如后台管理、个人备忘录。session例子仍用通用的Note备忘录,不涉及任何真实业务。
2026-06-24 07:47:10
392
原创 Flask 笔记七:Flask-Migrate,改表结构不用删库重来
前面我们已经会用 SQLAlchemy 建表、做列表和表单。项目跑起来以后,几乎一定会遇到:想给表加一个字段,但库里已经有数据了。删 SQLite 文件重建,本地练手还行;一旦有真实数据就不能这么干。这一篇讲 Flask-Migrate:把表结构变更记成脚本,按顺序执行,保留原有数据。例子仍用通用的Note备忘录,不涉及任何真实业务。
2026-06-24 06:18:07
329
原创 Flask 笔记六:模板继承,告别每个页面复制一遍 HTML
下一页</a><a href="{{ url_for('home.note_edit', note_id=note.id) }}">编辑
2026-06-23 14:33:29
888
1
原创 Flask 笔记五:给列表加上搜索和筛选
a href="{{ url_for('home.note_list', page=page_data.prev_num, q=q) }}">上一页</a><input type="text" name="q" value="{{ q or '' }}" placeholder="搜标题或内容"><input type="text" name="q" value="{{ q or '' }}" placeholder="搜标题">一个入口读参数,多个小函数各查各的,模板分区展示结果。<a href="?
2026-06-23 12:20:29
294
原创 Flask 笔记四:用 WTForms 做新增、编辑和删除
新建文件,写NoteForm"标题",DataRequired("请输入标题"),Length(max=100, message="标题最多 100 个字"),],"内容",submit = SubmitField("保存")— 不能为空— 长度限制Optional— 可以为空。
2026-06-23 08:59:59
409
原创 Flask 笔记三:连接数据库,做一个简单的列表页
新建这个文件,写一个「备忘录」模型:字段含义id主键,每条记录的唯一编号title标题content正文(可以为空)addtime创建时间类 = 表,属性 = 字段。这是 ORM 最核心的想法。
2026-06-23 08:03:27
239
原创 Flask 笔记二:先把项目结构搭清楚
这篇不讲复杂架构,只讲一件事:Flask 项目怎么从「一个文件」变成「几个文件夹」。下面例子来自我自己的练习项目,但会把具体业务名字都拿掉,只保留 Flask 本身该怎么组织。整个网站的「总入口」。你可以理解成:Flask 程序从这里启动。from flask import Flaskapp = Flask(__name__)用户访问某个网址时,该执行哪段代码。@app.route("/")def index():return "Hello"当路由变多以后,不要全写在一个文件里。Blueprint 就是:把
2026-06-23 07:02:57
260
原创 我真的惊呆了!半小时搞定的Codex,竟让我告别OpenClaw的配置地狱
当我在使用openclaw的时候,我没有啥紧迫的,我当时用的比较稳定的openclaw20260331版本,并配置了两个飞书bot,两个qqbot,但是最近我点了升级到20260606版本,很多配置文件都不再兼容,又不得不回退版本,好麻烦。又想用最新的版本又不想修改配置,openclaw doctor fix又不能解决我的问题,又得一行一行扒配置。所以我去找了一些教程,花了半个小时配置上codex,并让它给我干活了。这套前端,比我自己搞的简单前端要更专业更高大上!
2026-06-22 17:31:05
394
原创 工具分享之Termius:一款让我爱不释手的 SSH 客户端,效率翻倍的秘密武器
取而代之的,是一个清爽的主界面,连接列表清晰可见,分组管理一目了然。我在 Mac 上配置好的连接,在 Windows 电脑上自动同步,甚至在我的 iPhone 上也能无缝访问。Termius 真正的魅力,在于它对细节的打磨。每次打开 Termius,那种流畅的交互、清晰的布局,都会让我心情愉悦。说实话,市面上不缺 SSH 客户端,但 Termius 让我心甘情愿付费的原因,是它把「优雅」和「效率」平衡到了极致。现在就去下载吧,免费版已经足够好用,但如果你和我一样,愿意为效率投资,付费版绝对物超所值。
2026-06-22 09:14:28
572
1
原创 vibecoding日记三:
ai落地电商,应该现在很多人在做的,我自己的铺货也借助了ai的辅助,我先获取相关的数据,然后,筛选修改,再铺货到我的电商独立站,可以减少运营的很多工作量,相关数据,我本地存一份,进行商品货存管理,线上数据也可以灵活的一件修改铺货。最近我的选品环节遇到了一点问题,简单跟cursor聊天就帮我解决了。
2026-06-22 06:30:06
666
原创 Django笔记一
在控制台对django项目要使用的命令: 1、python manage.py migrate 2、python manage.py makemigrationsDjango项目中settings.py要配置的内容有: 1、DATABASES = { 'default': { 'ENGINE': 'dja...
2026-06-22 06:07:20
158
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅