【网络与代理】使用 Tailscale 搭建虚拟局域网
什么是 TailscaleTailscale 是基于 WireGuard 协议构建的零配置 VPN 解决方案(zero-config VPN solution)。它可以: 自动建立点对点加密连接(peer-to-peer encrypted connection) 无需复杂的防火墙配置(firewall configuration) 支持 NAT 穿透(NAT traversal) 提供简单的设备管理界面 环境概览在我们的场景中: 公司 Windows 工作站:内网 IP 172.22.26.185,作为 Subnet Router 家中 Mac:通过 Tailscale 访问工作站和公司内网 iPhone:移动端访问 安装 Tailscale在 Windows 工作站上安装 访问 Tailscale 官网 下载 Windows 版本安装包 运行安装程序,按提示完成安装 首次运行时会要求登录,可以使用 Google、Microsoft 或 GitHub 账号 登录后,工作站会自动加入你的 Tailscale 网络(Tailscale network) 在 Mac 上...
【博客搭建】将博客与图床从自建 Nginx 迁移到宝塔面板的Nginx
虽然自建 Nginx 纯净高效,但为了追求可视化管理和企业级安全特性,我决定将 Web 服务迁移到 宝塔面板 Nginx! 迁移前备份宝塔面板的 Nginx 和 Ubantu 系统 apt 安装的 Nginx 会引起冲突,因此需要先卸载系统上安装的 Nginx 。首先将所有旧的 Nginx 配置文件(/etc/nginx)打包,确保数据无失: 1234# 停止旧服务并创建备份文件sudo service nginx stopmkdir ~/nginx_confsudo cp -r /etc/nginx ~/nginx_conf/ 卸载系统 Nginx使用 purge 确保移除所有旧 Nginx 文件和配置,为宝塔环境腾出干净空间: 12sudo apt purge nginx nginx-common -ysudo apt autoremove -y 部署宝塔 Nginx 与站点创建登录宝塔面板,安装 LNMP 环境,然后创建两个站点。 由于需要维持 Cloudflare Tunnel 的自定义端口,需要在宝塔的 “添加站点” 时使用 “另加端口格式”: 站点 宝塔...
【LLM】深入理解LLM的 Chat Template
为什么需要 Chat Template?大语言模型本质上是文本续写器(text continuation model)。它们并不天然理解”对话”这个概念,只能处理纯文本。因此,我们需要一种标准化的方式来告诉模型: 哪段文本是系统提示(system prompt) 哪段文本是用户输入(user input) 哪段文本是助手回复(assistant response) 如何处理工具调用(tool calls) Chat Template 就像是对话的格式说明书,确保训练和推理时使用完全一致的格式。 Chat Template 的结构让我们看一个来自 Qwen3-4B-Instruct 模型的真实例子: 1234567{ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}...", "eos_token": "...
【Linux】重温vim
Vim的模式系统Vim最独特的特性是其模式系统 (modal system)。理解这些模式是掌握Vim的关键: 1. 普通模式 (Normal Mode)这是Vim的默认模式,用于导航和执行命令。在这个模式下,键盘上的每个按键都是一个命令。 2. 插入模式 (Insert Mode)在这个模式下,你可以像在传统文本编辑器中一样输入文本。按 i 进入插入模式,按 Esc 返回普通模式。 3. 可视模式 (Visual Mode)用于选择文本。按 v 进入字符可视模式,V 进入行可视模式,Ctrl+v 进入块可视模式。 4. 命令模式 (Command Mode)按 : 进入命令模式,可以执行复杂的命令,如保存文件、查找替换等。 常用操作启动和退出12345vim filename # 打开文件:q # 退出:q! # 强制退出不保存:wq # 保存并退出:w # 保存文件 基本导航 命令 描述 0 移动到当前行的第1个字符 ^ 移动到当前行第一个非空白字符 $ 移动...
【旅行】2025国庆丽水
D1 - 10月4日 9:11 G7349 → 11:47到丽水 午餐:「卢银亮缙云烧饼」烧饼好吃! hcy 开车 100km+ 到龙泉,给出大大好评👍! 晚上去了龙泉西街,古街道依江而建,街区的氛围非常好,人不多,并且有很多的非遗元素和表演,还有网红咖啡店 MOJ,hcy 发出来自沪姐的肯定🤓 丽水 → 龙泉源底村 住宿:龙泉市区:锻造青年公寓 - ¥276/晚 [{"url":"http://img.tianlejin.top/2025-10/20251004_193938.webp","alt":"","title":""},{"url":"http://img.tianlejin.top/2025-10/20251004_194535.webp","alt":"","title":""},{"url":"http://img.tianlejin.top/2025-10/20251004_200605.webp","alt":"","title":""},{"url":"http://img.tianlejin.top/2025-10/202510...
【Linux】重温tmux
tmux是我在大四时接触到的终端复用工具,之前一直都是那几个新建/切换窗格的操作,最近折腾gemini被迫又学了几个,在此记录一下 tmux配置文件1vim ~/.tmux.conf 输入以下配置: 123456789101112# 启用 256 色支持set -g default-terminal "screen-256color"# 添加 True Color (24-bit color) 支持# 这会告诉 tmux,对于像 xterm-256color 这样的终端,请启用 Tc (True Color) 能力set-option -ga terminal-overrides ",xterm-256color:Tc"# mouse mode# 用鼠标点击来切换并激活不同的窗格 (pane)。# 用鼠标滚轮来上下滚动当前窗格内的内容(就像在普通的终端里一样)。# 用鼠标拖动窗格的边框来调整它们的大小。set -g mouse on 在tmux任意窗格中: 1tmux source-file ~/.tmux.conf 即可启用...
【网络与代理】Linux Clash 安装与配置
使用Gemini CLI必须要服务器有外网环境,这也是我一直想搞的,开整!Github上找了个开源项目:https://github.com/nelvko/clash-for-linux-install 下载项目12git clone --branch master --depth 1 https://gh-proxy.com/https://github.com/nelvko/clash-for-linux-install.gitcd clash-for-linux-install 修改默认配置文件 复制Mac中的配置文件到resources/config.yaml文件 Mac的文件地址为/Users/tianlejin/.config/clash/阿里加速器.yaml 1vi resources/config.yaml 安装1sudo bash install.sh 要求输入订阅,订阅获得方法如下: 订阅地址形如:http://14.33.74.21:2668/api/v1/client/subscribe?token=e82240589dc3&bu...
【AI工具】Vibe Coding方案总结
最近尝试了很多 AI 工具进行 vibe coding,这几天折腾了Cursor、Claude Code,Claude Code Router,Cline,Gemini CLI,Github Copilot,Cherry Studio。感觉折腾还挺浪费时间的,其实用下来应该都能满足我现在的使用场景。在此做个总结! Cursor当我第一次在B站上看到这个工具的介绍时,简直惊为天人,感觉自己有了这玩意儿已经无敌了。前期一直在用这个,换了三个号各白嫖了14天,轻度使用了6周,从难以驾驭到开发了第一个应用,算是我 Vibe Coding的启蒙软件。后来Cursor因为计费问题风评下降。刚好我的白嫖的三个号也已经到期,一直白嫖也不是办法,充钱又不太可能😂,就没再用啦。 【对于充钱方案的评价】代码能力:强使用成本:高(充钱)/低(白嫖)折腾成本:低(充钱)/高(白嫖,每14天要重新设置rules,MCP等)推荐指数:⭐️⭐️⭐️ Claude Code + GLM 4.5Claude Code + GLM 4.5是我使用的第二套 Vibe Coding组合,使用智...
【AI工具】Claude Code 安装和使用指南
Claude Code 是一个强大的命令行工具,允许开发者直接在终端中与 Claude AI 进行交互,并委托编程任务。 安装全局安装1npm install -g @anthropic-ai/claude-code 配置 GLM4.5 接入修改 ~/.bashrc 文件,添加以下环境变量: 1234export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropicexport ANTHROPIC_AUTH_TOKEN=e9b52fc2cc26478198ac676f708ee5b9.OmzYBLQdNJhX6WUJexport ANTHROPIC_MODEL=glm-4.5export ANTHROPIC_SMALL_FAST_MODEL=glm-4.5-air 参考文档:https://docs.bigmodel.cn/cn/guide/develop/claude 20250912补充,其实这些环境变量最好是放在文件~/.claude/settings.json中 基本用法常用命令 命令 功能描...
【LLM】ChatGPT 训练范式
Stage 1: PT(Continue PreTraining),增量预训练 使用百科类文档类数据集,用来在领域数据集上增量预训练或二次预训练,期望能 把领域知识注入给模型 ,以医疗领域为例,希望增量预训练,能让模型理解感冒的症状、病因、治疗药品、治疗方法、药品疗效等知识,便于后续的SFT监督微调能激活这些内在知识。 这里说明一点,像GPT3、LLaMA这样的大模型理论上是可以从增量预训练中获益,但增量预训练需要满足两个要求:1)高质量的预训练样本;2)较大的计算资源,显存要求高,即使是用LoRA技术,也要满足block_size=1024或2048长度的文本加载到显存中。 其次,如果你的项目用到的数据是模型预训练中已经使用了的,如维基百科、ArXiv等LLaMA模型预训练用了的,则这些数据是没有必要再喂给LLaMA增量预训练,而且预训练样本的质量如果不够高,也可能会损害原模型的生成能力。 tips:PT阶段是可选项,请慎重处理。 训练数据集示例(相关领域的大段文本即可):1传染病是指由病原微生物,如朊粒、病毒、衣原体、立克次体、支原体(mycoplasma)细菌真...
【Linux】Docker的使用
核心概念:容器、镜像与仓库 镜像 (Image): Docker 镜像打包了运行应用程序所需的一切,包括代码、函数库、环境变量和配置文件。 容器 (Container): 容器是镜像运行中的实例。如果将镜像视为面向对象编程中的“类 (Class)”,容器则是这个类的“对象 (Object)”。我们可以通过一个镜像创建任意数量的容器。每个容器都在一个隔离的环境中运行,拥有自己的文件系统、网络和进程空间,但它们共享主机的操作系统内核。这使得容器非常轻量且启动迅速。 仓库 (Registry): 镜像仓库是专门用来集中存放和分发 Docker 镜像的地方。最知名的公开仓库是 Docker Hub,它托管了海量的官方和用户分享的镜像。此外,还有许多国内的镜像仓库(或称为“镜像站”),它们可以提供更快的镜像下载速度。 Docker 安装与配置1. 一键安装可以参考 Docker 官方的示例:https://get.docker.com。 下载安装脚本1curl -fsSL https://get.docker.com -o install-docker.sh 执行安装脚本...
【开发工具】Linux安装JupyterLab
引言JupyterLab相对于jupyter notebook来说是用过之后就再也不想换回去的存在。Linux安装jupyter lab的过程如下 安装方法 pip安装 12pip install jupyterlab # 安装jupyterpip install jupyterlab-language-pack-zh-CN # 安装汉化包,需要自己选择语言 生成jupyterlab配置文件,路径为~/.jupyter/jupyter_lab_config.py 1jupyter lab --generate-config 创建并确认密码,会生成~/.jupyter/jupyter_server_config.json 1jupyter lab password 查看文件内容,如下图,复制password后的一串字符 1less ~/.jupyter/jupyter_server_config.json 修改配置文件 1vim ~/.jupyter/jupyter_lab_config.py 添加以下内容 12345678c.ServerApp.allow_remo...
【开发工具】通过 VS Code Tunnel远程登陆服务器
引言VS Code Tunnel 功能可以让我们通过安全隧道连接到远程机器 连接程Linux服务器:使用 Code CLI 命令1. 在远程机器安装 CLI 下载12curl -Lk 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' --output vscode_cli.tar.gztar -xf vscode_cli.tar.gz 解压后直接是一个名为code的可执行程序 创建隧道1./code tunnel 首次运行时,会提示接受服务器许可条款,或者可以使用:1./code tunnel --accept-server-license-terms 安装为服务,这样就可以后台持续运行1234567# 需要先安装 D-Bus 服务sudo apt install dbus-user-session# 启动 D-Bus 服务systemctl --user enable dbus --now# 重启系统# 启动 code cli 服务./code t...
【Agent】MCP协议介绍
什么是MCP?MCP(Model Context Protocol)是由Anthropic开发的开放标准协议,旨在让AI助手能够安全、标准化地连接到各种外部数据源和工具。简单来说,MCP就像是AI助手的“工具箱”,通过这个协议,AI 大模型可以访问文件系统、数据库、API服务等外部资源,大大扩展了AI的能力边界。 MCP架构原理MCP采用客户端-服务器架构: MCP Client:通常是AI助手(如Claude Desktop、Cline、Cursor等) MCP Server:提供特定功能的服务程序 传输层:负责客户端和服务器之间的通信 MCP传输层模式1. Stdio (Standard Input/Output) 工作原理:使用标准输入/输出流进行进程间直接通信,提供最优性能且无网络开销 需要自己装mcp server的环境 配置示例1234567891011{ "mcpServers": { "github": { "command": ...
【LLM】兼容OpenAI API服务使用指南
引言 在本地部署好 vLLM 之后,它会启动一个 兼容 OpenAI 格式的 API 服务。 vLLM 在内部用 FastAPI 写了一个 Web 服务,挂载了和 OpenAI API 风格一致的路由,比如: /v1/completions /v1/chat/completions /v1/models 本文将以部署在 http://172.22.215.77:6080 的服务为例,详细介绍 vLLM 的 API 路由结构、各个地址的含义,以及常用接口的调用示例。 在 http://172.22.215.77:6080/docs 可以查看由 FastAPI 自动生成的交互式 API 文档界面。 API 路由结构vLLM 的接口分为以下几类: 1. 基础运维类 GET /health → 健康检查,返回服务状态。(一般不需要 Key) GET /ping / POST /ping → Ping 测试。 GET /load → 查看服务负载信息。 GET /metrics → 导出监控指标。 GET /version → 查看服务版本。 2. Token ...
【LLM】使用vLLM本地部署大模型
本文以最新的医学领域最强模型Baichuan-M2-32B为例,记录使用vLLM部署大模型并创建API服务。 创建uv环境123uv init# 添加modelscope包uv add modelscope 下载模型 去modelscope官网,找到对应模型的网页:https://www.modelscope.cn/models/baichuan-inc/Baichuan-M2-32B 自定义模型下载位置: 1uv run modelscope download --model baichuan-inc/Baichuan-M2-32B --local_dir /mnt/nfs_share/tlj/llms/models/ 如果不指定--local_dir,默认情况下,模型被下到了这里: 1~/.cache/modelscope/hub/models/baichuan-inc/Baichuan-M2-32B 安装环境 uv安装pytorch uv pip install 会在当前 uv 管理的虚拟环境中调用 pip 去安装 Python 包 1uv pip instal...
【LLM】OpenAI的response API介绍
背景 此前已经介绍过了OpenAI的 Chat Completions API 或 Assistants API。然而从 2024 年底开始,OpenAI 推出了 Responses API,并且明确这是未来的统一入口。 官方规划是: Responses API 将逐步取代 Assistants API,并可能在几年内覆盖 Chat Completions 的大部分场景。 本文将介绍新 API 与旧 API 再功能与用法伤的区别。 功能对比 对比维度 Chat Completions API / Assistants API(旧) Responses API(新) 功能覆盖 文本/多轮对话(Chat),Assistants API 支持工具调用、文件搜索等,但 API 分散 单一接口统一支持对话、多模态、工具调用、文件处理等 多模态输入 GPT-4 Turbo 等支持图片输入,但调用方式不统一 原生支持文本 + 图片 + 文件 + 语音输入 工具调用 function_call(Chat)或 Assistants API 内置工...
【LLM】OpenAI的Chat Completions API 和 Assistants API
背景Chat Completions API 和 Assistants API 都是 OpenAI 提供的大语言模型交互 API。 Chat Completions API 是 无状态对话接口 Assistants API 是 有状态智能体接口 核心定位对比 API 核心用途 特点 Chat Completions API 直接调用语言模型进行单轮或多轮对话生成 轻量、灵活、无状态(默认不保存上下文) Assistants API 构建持久化、有工具能力的“智能助手” 有状态(自动保存上下文)、支持工具和文件管理 功能对比 对比维度 Chat Completions API Assistants API 会话管理 默认无状态,需要客户端手动管理 messages 内置 threads 和 messages,自动保存会话历史 工具调用 通过 function_call 手动声明和解析 内置工具(code interpreter、file search 等)+ 自定义工具 文件处理 不直接支持,需要外部逻辑 内置文件上传、搜索、引用 任...
【LLM】通过API调用LLM的三种方式
本文将以OpenAI接口为例,介绍调用大模型API的三种方式,从最高级的封装到最原始的http请求,依次介绍LangChain、OpenAI官方SDK、requests请求。 LangChain 封装调用代码示例: 12345678910111213import osfrom langchain_openai import ChatOpenAIllm = ChatOpenAI( temperature=0.2, model_name=os.environ.get("QWEN_MODEL_NAME"), openai_api_key=os.environ.get("QWEN_API_KEY"), openai_api_base=os.environ.get("QWEN_API_URL"), max_tokens=int(os.environ.get("MAX_TOKENS", 1000)))response = llm.invoke("你是谁?")...
【LLM】LLM的量化与微调方法
引言 现代大语言模型(如 LLaMA、ChatGLM、Qwen)动辄拥有数十亿甚至上万亿参数。以 FP16 精度存储时: 模型规模 显存占用 7B 参数 ~14 GB 13B 参数 ~26 GB 70B 参数 ~140 GB 这意味着多数人无法在消费级显卡(如 RTX 3090/4090,24GB)上加载完整模型,并且推理延迟高,难以部署到边缘设备 量化(Quantization) 就是解决这一问题的关键技术:通过降低模型权重的精度(如从 16 位压缩到 4 位),大幅减少模型体积和显存需求。 模型量化的概念 量化是将高精度数值(如 FP32/FP16)转换为低精度表示(如 INT8、INT4)的过程。 常见量化方式对比 精度 每参数位数 压缩比(相比 FP32) 显存需求(以7B 模型为例) FP32 32 bit 1x 28 GB FP16 16 bit 2x 14 GB INT8 8 bit 4x 7 GB INT4 4 bit 8x 3.5 GB 4-bit 量化可将模型体积压缩至原来的...




