部署脚本编写相关
部署验证流程跑通验证的 6 个步骤12345678910111. 本地执行部署脚本 ↓2. 代码上传到生产服务器 (47.242.65.47) ↓3. Docker 容器启动 ↓4. Nginx 配置生效 ↓5. 访问 http://www.chronode.net/ 能正常打开 ↓6. 确认功能 OK 核心思想:别纸上谈兵,先实际部署一次看看 执行步骤Step 1:本地准备12345678910# 1. clone 项目git clone https://github.com/xiaoxijin/gf_v3cd gf_v3# 2. 安装依赖bun install# 3. 检查部署脚本ls -la deploy.shcat deploy.sh # 确认配置(服务器 IP、端口等) Step 2:执行部署123# 运行部署脚本(需要设置密码环境变量)export SERVER_PASSWORD="你的服务器密码"bash deploy.sh Step 3:验证结果12345678910111213# 1. SSH 连上服务器ssh r...
服务器与部署相关
可以,而且这套东西你一旦理顺,后面做项目就不会一直“哪里都懂一点,但一上手就慌”。 你现在遇到的,本质上是 开发环境、测试环境、生产环境 三套东西混在一起了。先给你一句最核心的话: 写代码可以在服务器上,但“调试前端、联调接口、连数据库、发版部署”通常都要区分清楚你现在到底在操作哪一个环境。 我用最接地气的方式带你搭框架。 一、你现在到底在做什么你现在说的场景,一般是这样的: 代码放在服务器上你通过 VSCode Remote SSH、终端、跳板机之类连到服务器开发。 前端想在本机浏览器看效果因为浏览器在你电脑上,不在远程服务器上,所以你需要: 要么把前端项目在本机跑起来 要么把服务器上的前端端口转发到本机 后端和数据库可能在不同地方常见组合有: 前端在本机,后端在测试服务器,数据库也在测试服务器 前后端都在服务器,数据库单独一台 前端本机,后端本机,数据库 Docker / 本机 / 远程库 部署到测试环境不是“写完代码自动就有了”,而是把你改的代码发到测试环境机器上,再启动服务。 上线把测试通过的版本发布到生产环境。 二、你先建立这 4 个...
并发编程与数据隔离
并发编程与数据隔离核心问题并发场景下的典型数据问题: 问题 描述 例子 竞态条件 多个线程同时读写同一数据,结果依赖执行顺序 两个请求同时修改用户余额 脏读 读到未提交的事务数据 A 修改未提交,B 读到了 丢失更新 后提交的覆盖先提交的 两人同时编辑同一文档 幻读 同一查询在不同时间返回不同行数 统计用户数时有人新注册 数据库层面解决方案事务隔离级别: 隔离级别 脏读 丢失更新 幻读 默认数据库 Read Uncommitted ❌ ❌ ❌ - Read Committed ✅ ❌ ❌ Oracle, PostgreSQL Repeatable Read ✅ ✅ ❌ MySQL Serializable ✅ ✅ ✅ - 乐观锁 vs 悲观锁: 12345678-- 悲观锁(先锁再改)SELECT * FROM users WHERE id = 1 FOR UPDATE;UPDATE users SET balance = balance - 100 WHERE id = 1;-- 乐观锁(先改再检查版本号)UPDATE u...
LoRA+QLoRA
LoRA是什么?LoRA(Low-Rank Adaptation)是一种用于微调大模型(LLM / Diffusion / Transformer)的技术。 冻结原始模型参数,只训练一个低秩矩阵来表示权重更新。 这样可以让权重变化 ΔW 不需要完整矩阵,在极少训练参数的情况下,让模型学到新任务能力。 为什么需要?lora的设计亮点参数少,速度快,模块化 模块化的本质: LoRA 将“任务能力”封装成一个 独立的参数模块,可以在 不改变原模型 的情况下加载或卸载。 在代码层面 LoRA 是一个 外挂模块: 1234567Base Model │ ├── W (冻结权重) │ └── LoRA Module ├── A └── B 训练时: 1只训练 LoRA Module 推理时: 1Base Model + LoRA 可以随时加载/卸载能力例如一个基础模型: 1LLaMA 不同能力可以变成不同 LoRA: 123456base_model │ ├── finan...
Scaling Law
Scaling LawScaling Laws for Neural Language Models Chain of Thought (CoT) 是让模型把逻辑推导过程写出来 Instruction Tuning 是教模型听懂并执行人类指令 Scratchpad 就是给模型一块“草稿本”,让它在最终输出答案前先在大脑(上下文)里打草稿。 CoT (思维链):是行为方式,像是在说“请步步为营地思考”。 Instruction Tuning (指令微调):是训练手段,通过海量“指令-回复”对让模型变乖、变聪明。 Scratchpad (草稿纸):是技术实现,通过在输出中强制包含中间步骤,利用已生成的 Token 来辅助生成后续更复杂的 Token(即“以空间换逻辑”)。 Scratchpad 定义Scaling Law(规模法则) 是 AI 界的“大力出奇迹”指南。它告诉我们:如果你投入更多的算力、更多的数据、更大的模型参数,AI 的性能就会预测性地变得更强。 它揭示了模型性能并不是随机增长的,而是遵循严格的数学幂律关系。 为什么要学这个?理解 Scaling Law 能...
RUST笔记一(基础与变量)
RUST-基础与变量第一章:基础入门与环境配置🔧 核心概念:CargoCargo 是 Rust 的构建系统和包管理器(类似 npm/pip)。 常用命令: cargo new project_name:创建新项目 cargo build:编译项目 cargo run:编译并运行(日常开发最常用) cargo check:快速检查语法错误(不生成二进制文件,速度快) 📁 项目结构Plaintext 1234567hello_cargo/├── Cargo.toml # 项目配置文件(依赖、元数据)├── src/│ └── main.rs # 源代码入口└── target/ # 构建输出目录(自动生成) └── debug/ └── hello_cargo # 编译后的可执行文件 💻 VS Code 远程开发 (Remote-SSH) 🔥推荐方案:直接在云服务器上开发。 扩展:安装 Remote - SSH。 连接:Ctrl+Shift+P -> Remote-SSH: Connect...
aboutRAG
RAG的定义给定知识库,从知识库中检索出合适的参考内容,让大模型据此回答。 AI客服|政策查询|AI搜索 RAG(Retrieval-Augmented Generation)是将检索外部知识库与大语言模型(LLM)生成相结合的技术,核心是让LLM基于精准的参考知识回答问题,避免幻觉。 简易流程 简易流程可分为知识库构建(离线阶段) 和问答推理(在线阶段) 两大核心环节,具体分点详解如下: 一、知识库构建阶段 (离线准备,核心是将原始知识转化为可检索的向量数据) 该阶段为后续问答提供数据支撑,完成后知识将以向量形式存储在数据库中,具体步骤: 原始知识输入准备需要用于问答的基础信息(如产品保修条款、专业文献、行业资料等),作为RAG流程的数据源。 切割器处理:生成知识块利用切割器将海量、完整的原始知识拆分为大小适中、逻辑独立的知识块。 ◦ 作用:解决原始知识篇幅过长、无法被模型高效处理的问题,让检索更精准。 Embedding模型处理:生成文本向量将拆分后的知识块输入Embedding(嵌入)模型,模型会将非结构化的文本知识转化为计算机可识别的数值型文本向量(如...
爬虫学习
以爬取 Binance Research 为例的 Python 爬虫系统学习一、学习目标与背景本文以爬取 https://www.binance.com/zh-CN/research 为例,系统学习一个真实可运行的 Python 爬虫项目,目标包括: 正确分析接口而非盲目爬 HTML 自动判断分页数量,彻底摆脱 range(1,6) 正确处理 JSON / 非 JSON 响应 理解并应对 403 反爬 构建健壮、可扩展的爬虫结构 二、为什么不能直接爬 HTML 页面1. 问题本质Binance Research 页面是前端渲染页面: HTML 中几乎没有文章数据 真实数据来自 后端 API 接口 浏览器通过 JavaScript 请求接口并渲染 2. 正确做法 打开浏览器开发者工具(F12) 切换到 Network → Fetch/XHR 翻页观察请求变化 定位返回 JSON 的接口 三、接口分析与分页机制1. 核心接口示例1https://www.binance.com/bapi/composite/v1/public/cms/article/...
Prompt优化技巧(一)
原文链接: https://mp.weixin.qq.com/s/3CmpCz2jrjGG2q44qMHf6g 本文收集并总结此文中prompt 优化技巧,从 prompt 运行过程探究一个优秀的 prompt应该如何写作。 Prompt的运行过程1. 输入与终端捕获当你把Prompt丢给模型时,系统就开始了第一步:解析你的“子台词”。无论是任务指令还是背景背景,模型都会将其视为一个待处理的原始信号,从而后续生成的边界。 Prompt 可以是:“写一篇关于气候变化的文章,包括其原因、影响和解决方案。” 2. 文本分拆与数字化编码句子模型无法直接读取字符,因此需要进行Tokenization(分词)。将你的拆解成最小语义单元(Tokens),将其映射为一串Token ID。这些数字附加进入嵌入层,转化为高维空间的处理,让文字变成计算机能处理的数学特征。 3. 核心计算:Transformer架构的逻辑推演这是模型“思考”的最深层,变压器神经网络中的数据经历了一系列复杂的化学反应: 注入位置信息:由于模型本质上是零件的,它必须通过位置编码(位置编码)给每个Token标记“...









