让技术革命触手可及
AutoGen 多智能体协作开发:让多个 AI Agent 分工对话
导读 你用过 Claude、GPT-4 写代码吗?单个 AI 助手确实能干不少活,但遇到复杂项目时——比如同时需要编写代码、审查 bug、撰写文档——单一模型往往力不从心。这时候就需要**多智能体(Multi-Agent)**方案了:把不同任务分配给专门的 AI Agent,让它们像团队成员一样互相对话、协作完成任务。 微软开源的 AutoGen(读作"auto-gen")就是这个领域的代表框架。它不让你硬编码复杂的调度逻辑,而是让你用"对话"的方式组织多个 Agent 合作——就像一个主持人协调几个专家一起讨论,最终产出高质量成果。 本文面向零基础读者,假设你会一点 Python 就能看懂。我们从一个最简单的两人对话例子开始,逐步升级到多人协作群聊模式,最后教你怎么接入自己的 API(省钱妙招在后头)。 注意:AutoGen v0.2+ 是全新架构,包名改成了 autogen-agentchat,API 和旧版(v0.1.x)差异很大。不要用 pip install autogen 装旧版。以下所有代码基于 autogen-agentchat 最新版,以官方文档为准。 为什么需要多智能体? 先对比两种方案: 单模型方案 多 Agent 协作方案 角色 一个 AI 包揽所有工作 每个 Agent 专精一项任务 质量 AI 既要写代码又要检查,容易疏漏 各管一段,互相监督 成本 一轮超长对话消耗大量 token 分工明确,token 利用更高效 适用场景 小任务、快速原型 复杂项目、持续迭代 举个实际场景:你想让 AI 帮你开发一个小工具。 单模型:你把需求一股脑丢给 GPT-4o,等它写出代码。如果代码有 bug,你得再问一次让它修。整个过程就像一个人既当程序员又当测试员还当产品经理——容易顾此失彼。 多 Agent:你建三个 Agent——“编码专家"负责写代码,“审查员"专门挑毛病,“文档官"写说明。它们轮流发言讨论,主持人统筹全局。效果类似一个小团队,但全部由 AI 驱动。 这就是 AutoGen 的核心思想。 安装:一行命令搞定 AutoGen 新版采用分模块设计,核心包叫 autogen-agentchat(注意带连字符),模型适配器单独放在 autogen-ext 里。 ...
Chroma 向量数据库入门:从 Embedding 到最小 RAG 问答
导读:这篇要带你做什么? 如果你听说过 RAG(检索增强生成) 但不知道数据到底存在哪——答案就是向量数据库。它不存普通的文本或表格,而是把文字转成一串数字坐标点(叫作 Embedding / 嵌入向量),然后通过"距离近就相似"的规则找到最相关的文档片段。 本文将围绕 Chroma 这款开源向量数据库展开——它只需几行 Python 就能跑起来,不需要 Docker、不需要外部服务。我们从"向量到底是什么"的白话讲起,一步步完成安装 → Collection CRUD(增删改查)→ Embedding 自定义 → 相似检索,最终拼出一个最小 RAG 问答系统:用户提问 → 在向量库里找到相关文档 → 喂给大语言模型 → 得到答案。 💡 本文示例默认使用本地免费模型做 Embedding,零配置即可跑通全文代码。如果你后面需要 LLM 能力来回答用户问题(RAG 部分),可以接入任何 OpenAI 兼容的云端 API——脚本里会提供配置引导。 一、向量是什么?白话版 想象你有一堆书。你想找"如何做番茄炒蛋"的食谱。 传统搜索方式是关键词匹配——你的查询里有"番茄"和"炒蛋"吗?有就返回。但如果一篇教程写的是"西红柿鸡蛋做法",因为字不一样就没命中。 向量搜索的思路完全不同: 把每段文字通过一个模型(Embedding 模型)变成一组数字。比如:“如何做番茄炒蛋” → [0.12, -0.35, 0.87, ..., 0.04](通常 384 维或更高)。 这组数字就是这段文字的"坐标点"(也叫向量)。语义相近的文字,生成的坐标点在空间里也会挨得很近。 当用户问"西红柿怎么做菜"时,同样把它变成向量,然后计算它和库里所有向量的距离——离得最近的那几条就是你想要的结果。 "番茄炒蛋" "西红柿鸡蛋做法" ●──────────────● ← 这两个语义接近,距离近 ● ● ← "机器学习入门"距离很远 这就是向量数据库要做的事:存向量、查最近邻。 ⚠️ 术语速记 Embedding / 嵌入向量:把文字变成坐标点的过程及其结果。 Collection(集合):Chroma 中数据的容器,类似数据库中的"表"。 Query(检索):传入一段文字,返回语义最相似的 N 条记录。 二、安装 Chroma Chroma 是一个 Python 库,直接 pip 即可安装(Python 3.9+): ...
ComfyUI 本地 AI 绘画工作流:从安装到出图的全新手册
导读:为什么你需要 ComfyUI? 如果你用过 Stable Diffusion 的 WebUI(也就是大名鼎鼎的 AUTOMATIC 那个界面),你会习惯「输入一段文字 → 点生成 → 等图片出来」的流程——简单粗暴,但可定制性有限。ComfyUI 走的是另一条路:它把整个绘图过程拆成一个个「节点」(Node),你用鼠标把这些节点连起来,像搭积木一样定义每一步要做什么。 这种设计的优势是灵活度极高——你想用两个不同的模型接力?想在采样中途插一个超分节点?能在 WebUI 里折腾半天甚至写插件的事,在 ComfyUI 里就是多拖几个节点、连几条线。 本文将带你走完一遍:安装 ComfyUI → 理解模型目录结构 → 掌握最小文生图工作流 → 导入模板开始创作。全程不需要写代码,适合有基本电脑操作能力的零基础用户。 ⚠️ 硬件要求:ComfyUI 的核心是稳定扩散(Stable Diffusion)模型推理,需要一块 NVIDIA 独立显卡(显存建议 ≥4GB)。苹果 M 系列芯片也可运行,Windows 用户在 WSL2 中体验最佳。显卡配置不够?文末会提到云端替代方案。 一、ComfyUI 是什么:节点式 AI 绘图工具 先给概念做个翻译: 术语 白话解释 节点(Node) 一个小功能模块,比如"加载模型"“编码提示词"“采样去噪”。每个节点有输入端口和输出端口。 工作流(Workflow) 把所有节点按逻辑连起来形成的流水线,决定了"数据从哪来→经过哪些处理→最终产出什么”。 潜空间(Latent Space) 图片在神经网络里的压缩表示,比原始像素小很多,模型在潜空间上做修改效率远高于直接改像素。 采样器(Sampler) 把随机噪声一步步变成清晰图片的算法,常见有 Euler、DPM++、Euler a 等。 对比一下和传统 WebUI 的差异: WebUI (AUTOMATIC):提供固定表单,你填提示词、选参数、点按钮。所有内部步骤被封装好,你看不见也改不了底层链路。 ComfyUI:每个步骤都是一个可见的节点。你能看到数据流向的每一环,任意替换或插入新节点。 简单来说:WebUI 像是餐厅点餐套餐,ComfyUI 像是自助厨房——你能自己决定每道菜怎么做。 上图:最简文生图的 5 步核心链路。每个方框是一个节点,箭头是数据流向。点击正文末尾导出的 .json 文件即可在工作流管理器中一键导入。 ...
CrewAI 角色化多智能体框架:让 AI 员工分工协作
导读 如果你已经用过 ChatGPT、Claude 等单轮对话工具,但发现复杂任务——比如"调研竞品并写出一篇完整报告"——需要反复来回拉扯,那就可以试试 CrewAI。它把每个 AI 模型当作一名"员工",你只需定义他们的角色(谁来做)、任务(做什么)、流程(按什么顺序做),整个团队就会自动跑起来。 本篇面向零基础读者,不要求任何 Agent 框架经验。我们会用一个**“调研 + 写作"双角色示例**贯穿全文,让你直观理解 CrewAI 的三要素如何拼装。 什么是 CrewAI? CrewAI 是一个开源的 Python 框架,核心理念是角色化多智能体编排——不是让一个大模型干所有事,而是拆成多个专业化的小 Agent,各自扮演不同角色,组成 Crew 协同完成任务。 它和同类框架的区别在于: LangGraph 走的是"状态机"路线,你需要画完整的流转图来控制每一步; AutoGen 走的是"对话协作"路线,多个 Agent 互相发消息来推进; CrewAI 走的是**“角色分工"路线**——你定义好每个人的岗位 JD,剩下的交给 Crew 调度。 对于日常自动化场景(数据收集 → 分析 → 写报告),CrewAI 是最直观的选择。 环境准备 前置条件 依赖 版本要求 说明 Python ≥ 3.10,< 3.14 当前最新兼容范围 pip / uv 任意一种 包管理器 如果你还没装 Python 3.10+,去 python.org 下载即可。国内用户也可以用清华镜像加速: # macOS / Linux / WSL curl https://pyenv.run | sh 安装 CrewAI # 方式一:用 pip(推荐新手) pip install crewai # 如果想自带一些常用工具链(网页搜索、文件读取等),安装完整套装: pip install "crewai[tools]" 💡 国内网络如果下载慢,加 -i https://pypi.tuna.tsinghua.edu.cn/simple 换清华镜像源。失败后再试官方源就行。 ...
Docker 容器化部署实战:从概念到一键部署 MySQL+Redis
导读 你是否遇到过这种场景:“在我电脑上明明能跑啊”?代码换了台机器就报各种缺库报错。传统解决方式是重装系统或手动配置环境,但效率极低。Docker 就是来解决这个问题的——它把程序和所有依赖打包成一个"集装箱",搬到任何地方开箱即用。本篇教程从零讲起,不需要你有运维经验,只要会用命令行就能跟完全程。 参考基准:本教程内容结构参考 Runoob Docker 教程,命令均经过验证。国内访问 Runoob 慢的话可以用浏览器直接搜索"runoob docker"找到镜像站阅读。 一、什么是容器?和白话对比虚拟机 在说 Docker 之前,先看看传统的**虚拟机(VM)**是怎么工作的: 想象你要同时运行两个不同的操作系统应用。虚拟机的做法是:在每个 VM 里安装一个完整的操作系统(叫 Guest OS),然后再装你的程序。每个 VM 都要占用几 GB 空间和几分钟启动时间——就像每栋楼都带一个独立的发电厂。 Docker 容器的思路完全不同。容器不模拟整个操作系统,而是直接共享宿主机的内核(Linux 内核),只隔离出进程所需的资源。结果呢? 维度 虚拟机(VM) Docker 容器 是否自带完整 OS 是(几百 MB ~ GB 级) 否,共享宿主机内核 启动速度 数分钟 秒级(通常 < 1s) 单个应用的内存开销 几个 GB 几十到几百 MB 一台机器能跑的实例数 几个到十几个 上百个 画个图直观理解 Docker 的架构层次(从下往上): 宿主机:你实际操作的电脑或服务器(可以是 Linux、Windows 或 macOS) Linux 内核:提供命名空间(隔离)和 cgroup(资源限制) Docker 运行时:负责创建和管理容器 容器:你的应用程序在其中运行的轻量级沙箱 💡 一句话总结:虚拟机 = 完整的房子;Docker 容器 = 公寓里的独立房间。后者更省资源、更快落地。 ...
FastAPI 高性能 API 实战:从安装到 LLM 聊天接口
导读 如果你用过 Flask、Django REST Framework 或者 Node.js/Express 写过 API,一定会觉得"每次都要手写参数校验、返回格式、接口文档"很繁琐。FastAPI 就是来解决这个痛点的——你只需要在函数上写几行 Python 类型注解(比如 item_id: int),它就能自动帮你做参数校验、错误提示,甚至连一份带交互界面的 OpenAPI 文档都给你生成好了。 本篇面向零基础但有 Python 基础的小白。不需要了解什么是 WSGI、ASGI、JSON Schema……跟着步骤走,半小时后你就能跑起来自己的第一个 FastAPI 服务,并在文末看到一个可以对接大模型的 /chat 接口示例。 核心优势一句话总结:类型注解即校验 + 自动 OpenAPI 文档 + 性能对标 NodeJS/Go——这就是为什么越来越多团队选型 FastAPI。 一、为什么选 FastAPI? 1.1 类型注解即校验 以前写接口,你要手动写类似这样的代码: # 传统写法(以 Flask 为例) def create_user(): data = request.get_json() name = data.get("name") age = data.get("age") if not name or not isinstance(age, int): return {"error": "name 必填且 age 必须是整数"}, 400 在 FastAPI 里,类型注解直接写在函数签名上: from fastapi import FastAPI app = FastAPI() @app.post("/users/") def create_user(name: str, age: int): return {"name": name, "age": age} 如果请求传入 age 不是一个整数(比如 "abc"),FastAPI 会自动返回 422 错误,并给出清晰的错误信息,根本不需要你写任何校验逻辑。 ...
Flask Web 应用开发实战——从安装到部署的完整入门
导读 如果你已经会写 Python 函数和类,但从来没自己搭过能让人在浏览器里访问的网页服务,这篇教程就是为你准备的。Flask 是 Python 生态里最轻量级的 Web 框架之一——它不强迫你学复杂的 ORM、迁移工具或项目脚手架,你只需要学会几行代码就能让一个网站跑起来。 本文会带着你一步步完成一件事:搭建一个简易的留言板。你能在其中输入昵称和内容发布留言,页面实时显示所有留言,点击单条留言还能查看详情。通过这个项目,你会掌握 Web 开发中最核心的六个概念: # 概念 白话解释 1 安装与环境隔离 别把库装到系统 Python,用虚拟环境隔离每个项目 2 路由与视图 网址路径 /about 对应哪个函数来处理请求 3 URL 参数 像 /message/1 里的 1 怎么传到函数里 4 Jinja2 模板 把数据塞进 HTML 骨架自动生成完整页面 5 表单与 POST 用户提交数据时怎么用 <form> + HTTP POST 传过来 6 SQLite 存储 用内置数据库保存留言而不是存在内存里(一关就丢) 配图在上面那张图里你可以看到完整的「请求生命周期」流程图——读完本文后回看这张图,你会对每个环节都一目了然。 下面按步骤来,从环境准备一路走到生产部署。中间会穿插一些实用建议,其中关于 AI 功能接入的内容放在后面的部署章节统一说明。 第一步:安装 Python 并创建虚拟环境 检查 Python 是否已安装 打开终端(macOS/Linux 用 Terminal,Windows 用 PowerShell 或 CMD),输入: python3 --version # macOS / Linux # 或 python --version # Windows(可能只写 python) 期望输出类似 Python 3.10.x 或 Python 3.11.x。如果输出了版本号就说明 OK。如果提示 command not found 或未识别命令,先去 python.org/downloads 下载安装(Windows 用户记得勾选"Add Python to PATH")。 ...
Git 版本控制实战:分支、合并与回滚
导读 你是不是经历过这样的场景:改代码改到一半,老板突然说"先别动了,做个紧急修复"?或者更惨——改完发现代码全乱了,想回到昨天的版本却找不到路了? 这就是版本控制要解决的问题。Git 是目前最流行的版本控制工具,几乎所有开源项目(从 Linux 内核到 React)都在用它。学完本篇你不仅能管好自己的代码,还能参与团队协作、在分支上独立开发、甚至处理复杂的合并冲突。 本文以「日常开发」为主线,从克隆仓库开始,一步步走通:创建分支 → 提交更改 → merge 合并 → 必要时用 rebase 或 reset 回滚 → push 到远程。每个命令都附带解释,小白也能跟练。 参考基准:Runoob Git 教程(国内可直接访问)。如需更权威的官方文档,可参考 Git 中文文档 (git-scm.xyz) 或 GitHub Docs(国内用户可用 ghfast.top 代理加速)。 第一步:把代码 Clone 下来 打开终端(Windows 用 PowerShell 或 Git Bash),运行: # 把远程仓库克隆到本地,<url> 替换为实际地址 git clone https://github.com/用户名/项目名.git # 进入项目目录 cd 项目名 白话解释:clone 就是把服务器上的整个项目(包括所有历史提交记录)复制到你的电脑里。之后你所有的操作都在本地完成,不需要联网。 国内提示:如果 github.com 连接慢或超时,可以用 ghfast.top 代理加速,把 URL 中的 github.com 替换为 ghfast.top/github.com 即可。 第二步:理解 Git 的三大区域 这是学习 Git 最重要的概念——理解了就不再死记硬背命令。 Git 的工作区分为三个区域: ...
LangGraph 构建 AI Agent 工作流:从状态机到智能客服(零基础 Python 教程)
📌 新手提示:本文结尾提供了一键脚本(Windows / macOS / Linux 通用),会自动装好依赖、配好 API Key、生成可直接跑的"客服分流"Demo。动手党直接拉到文末。 导读:为什么需要 Agent “工作流”? 你可能用过 ChatGPT 或 Claude——你问一句它答一句,这叫单次问答。它的"大脑"不知道你是连续对话里的第几句,也不知道上一轮说过的话,除非你把历史记录一起发过去。 但现实中的 AI 应用往往不是简单的"一问一答"。客服系统需要先判断用户意图(咨询?投诉?退款?),再路由到不同处理流程;翻译助手需要先提取原文、翻译成目标语言、再做格式润色。AI Agent 的工作流就是把一系列步骤编排成一张"流程图"——每一步的输出一部分交给下一步,像流水线一样传递信息。 这篇教程教你用 LangGraph 来做这件事。LangGraph 是 LangChain 团队开源的状态机框架:你把业务逻辑拆成"节点"(函数),用"边"把它们连起来,遇到分支就加"条件边"让 LLM 自己决定走哪条路。一句话总结——用状态机的方式组织 AI 的流程,而不是写一堆 if-else。 📚 参考文档:https://github.com/langchain-ai/langgraph(GitHub 主页,国内访问可能需要镜像:ghfast.top/https://github.com/langchain-ai/langgraph)。官方文档:https://docs.langchain.com。 一、核心概念速览(3 分钟看懂术语) 术语 白话解释 StateGraph(状态图) 你的整个工作流程的"蓝图"——规定了有哪些步骤、每步怎么处理数据 Node(节点) 一个个功能小函数(比如"分类用户意图"、“调用大模型回答”) Edge(边) 节点的连接线——“做完 A 之后去做 B” Conditional Edge(条件边) 带条件的分叉路口——让 LLM 判断:“根据当前内容,决定去节点 X 还是节点 Y” START / END 固定入口和出口。每张图必须有明确的起点和终点 compile() 把画好的蓝图变成可运行的程序(类似 Python 编译代码) invoke() 执行程序、给它输入数据 checkpointer(检查点) 记忆的"记事本"——记住上一次聊到什么,下次接着来 MessagesState:这是 LangGraph 内置的一种状态类型,自带一个消息列表(messages),每次调完 LLM 的结果自动追加进去。相当于给每个节点都发了同一份"聊天记录"。 ...
Linux 常用命令实战速查:文件、权限、进程、网络、日志、磁盘全覆盖
导读 很多刚接触 Linux 的人都有同一个困扰:命令太多记不住。其实你只需要记住一个规律——Linux 命令是按"场景"分的,把常用操作归到六类里,每类掌握 3~4 个最常用的,日常 90% 的工作都能搞定。 本文覆盖这六类场景:文件与目录(增删改查)、权限管理(谁能读写执行)、进程管理(谁在跑、怎么关)、网络连接(传下载测连通)、日志文本(找内容看变化)、磁盘空间(哪占满了)。每个命令都给出最常用的参数组合,直接复制就能跑。国内用户请注意:文中涉及 GitHub 等海外链接时已附带国内镜像加速说明。 一、文件与目录:ls / cp / mv / rm / tar / find 这是每天都会用到的基础操作,先看懂再上手。 ls — 列出文件与目录 ls -lh # 长格式 + 人类可读大小(-l),显示 KB/MB/GB 而非字节数 ls -la # 加上 -a:显示隐藏文件(以 . 开头的) ls -lt # 按修改时间排序,最新的在最前面 小白提示:-h 是 human-readable 的缩写,看到 -rw-r--r-- 这种一串字符别慌——后面会详细解释。 cd — 切换当前目录 cd ~ # 回到自己的家目录(等价于 cd /home/你的用户名) cd .. # 退回上一级目录 cd - # 回到上一次所在的目录(来回切换很方便) cd /var/log # 绝对路径跳转到系统目录 pwd — 显示当前你在哪个目录 pwd # 打印完整路径,如 /home/user/project cp — 复制文件或目录 cp source.txt dest.txt # 复制单个文件 cp -r /data/project ./backup # 复制整个目录(-r = recursive,递归) cp -v *.log /tmp/logs/ # 加 -v(verbose)显示复制了哪些文件 cp -p file1.txt file2.txt # 保留原文件的权限和时间戳(-p = preserve) mv — 移动或重命名文件 mv old_name.txt new_name.txt # 重命名(其实就是移到同名目标) mv file.txt /tmp/ # 移动到另一个目录 mv -i old.txt new.txt # 如果目标已存在,先问一句"确定覆盖?"(安全开关) rm — 删除文件或目录 ⚠️ 警告:Linux 的 rm 没有回收站!删了就真没了,执行前一定要看清楚路径。 ...
MongoDB 文档数据库入门实践
导读 你用过 MySQL 吗?MySQL 的数据存在一张一张的表里——每行必须对齐相同的列。MongoDB 换了一种思路:数据以"文档"为单位存储,每个文档是一段类 JSON 的结构,字段可以自由增减。这篇教程不讲深奥的理论,而是手把手带你装好 MongoDB、学会最常用的增删改查操作,最后回答一个实际问题——什么时候该用 MongoDB 而不是 MySQL。 全程使用 mongosh(MongoDB 官方命令行工具),命令逐行带注释,复制粘贴即可运行。 一、文档模型 vs 关系表:先搞懂"长什么样" 在动手之前,先看 MongoDB 数据长什么样,跟 MySQL 的区别是什么。 下图直观对比了两种存储方式: MySQL 的思路像 Excel: 所有行必须有相同的列(id、姓名、年龄、邮箱) 想关联用户和地址?得建两张表再用 JOIN 拼起来 结构固定,加个新字段要改表结构(ALTER TABLE) MongoDB 的思路像一个装满文件夹的柜子: 每个文档是独立的 JSON 块,字段可以完全不同 上面第二个例子中,李四多了个 address 嵌套对象(城市、邮编),张三没有——没问题,各自独立 不需要 JOIN:相关数据直接嵌套在同一个文档里 术语解释:JSON(JavaScript Object Notation)是一种轻量级数据格式,用 {} 包起来的键值对,几乎所有编程语言都能直接读写。 这就是 MongoDB 被称为"文档型数据库“的原因——数据的基本单位叫 Document(文档),不是 Row(行)。 二、安装 MongoDB Community 2.1 Linux(Ubuntu / Debian) 以下步骤适用于 Ubuntu 20.04+、Debian 11+、WSL2。 第 1 步:导入 MongoDB 官方 GPG 密钥 ...
MySQL 索引与 SQL 优化实战:让查询从分钟级降到毫秒级
导读 你是否遇到过这种场景:一条 SQL 查出来要好几秒,数据量再大一点直接超时?90% 的性能问题都出在索引没用对。 这篇文章从零开始——先装好 MySQL,然后一步步讲清楚怎么建表、怎么加主键和外键、B+ 树为什么快、怎么读懂 EXPLAIN 的执行计划、怎么用慢查询日志找到拖后腿的 SQL,最后讲到事务和隔离级别。每个命令都带注释,复制粘贴就能跑。 预计阅读时间 15 分钟,配合同步操作约 30 分钟即可掌握全流程。文末附 Linux/macOS 和 Windows(WSL)双平台一键脚本,开箱即用。 一、安装 MySQL(Linux / macOS / WSL) 1.1 Debian / Ubuntu 系 # 更新软件包列表(apt 必须先做这一步,否则会报"找不到软件包") sudo apt update # 安装 MySQL 服务器(默认会装最新版,当前最新稳定版为 8.0.x) sudo apt install -y mysql-server # 启动并设置开机自启 sudo systemctl start mysql sudo systemctl enable mysql # 检查运行状态 sudo systemctl status mysql 国内镜像提示:如果 apt update 很慢,可以替换为清华源。编辑 /etc/apt/sources.list,把 deb http://archive.ubuntu.com/ubuntu 改成 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu。修改后重新 sudo apt update。 ...
Nginx 配置实战:静态站、反向代理与 HTTPS
📌 新手提示:本文结尾提供了一键部署脚本(Windows WSL / macOS / Linux 通用),自动检测网络环境并完成安装、配置生成和验证,不想手动操作的同学直接拉到文末运行。 导读:Nginx 是什么? Nginx(读作 “engine-x”)是一个开源的 HTTP 服务器。你可以把它理解成互联网的"门卫 + 快递员"——用户发来请求时,它负责判断:“这个请求我要自己处理,还是交给别的程序处理?” 最常见的三个用途: 托管静态网站:放 HTML/CSS/图片,Nginx 直接返回给用户(速度快、占用资源少) 反向代理:把请求转发给后端的应用服务器(比如 Node.js、Python Flask/Django),实现动静分离 负载均衡:同一份服务跑在多台机器上,Nginx 把流量合理分配给每台机器,避免单点压力过大 本教程面向零基础读者,从零开始:安装 → 配置静态站 → 理解匹配规则 → 反向代理 → 负载均衡 → HTTPS 加密,每个步骤都附带可复制的命令和注释。 第一步:安装 Nginx Debian / Ubuntu 系 # 更新软件包列表(相当于手机应用商店刷新可用应用列表) sudo apt update # 安装 nginx 稳定版 sudo apt install -y nginx 安装完成后会自动启用并启动。验证是否成功: # 查看版本号和编译选项 nginx -v # 输出示例:nginx version: nginx/1.26.3(版本号以实际为准) # 检查服务状态 systemctl status nginx 国内加速:如果 apt update 很慢,可以换成国内镜像源(如阿里云、清华 Tuna)。搜索"Nginx 官方 deb 源"即可找到对应配置方法。 ...
Node.js 后端开发实战:从安装到接入 AI API
导读 如果你是第一次接触后端开发,可能会觉得"服务器"“API"“请求-响应"这些词很抽象。这篇文章的目标就是让你亲手写出一个能跑的 Web 服务。我们将从零开始:先安装 Node.js 运行环境,再学习它最基础的 HTTP 服务——几行代码就能让浏览器收到你返回的 JSON 数据。接着引入 Express 框架(行业标配),学会按路径分发请求(路由)、在请求经过时做统一处理(中间件)。最后,我们会给服务接上一个 AI 大模型 API,让你的网站能「说话」。 全文不依赖任何编辑器或 GUI 工具,只用命令行 + 文本文件就能完成。Windows 用户可以用 PowerShell 或 WSL(Windows Subsystem for Linux),macOS / Linux 用户直接用终端即可。 一、安装 Node.js(推荐 nvm) 为什么不用安装包? 官网 nodejs.org 提供 .msi(Windows)和 .dmg(Mac)安装包,装完就全局可用。但问题来了:一个项目可能需要 Node 18,另一个要 Node 22,换版本就要重新下载安装包,非常麻烦。 所以业界普遍使用 nvm(Node Version Manager —— Node 版本管理器)。它可以在同一个机器上同时装多个 Node 版本,用一行命令切换: nvm use 22 # 切换到 22.x nvm use 20 # 切到 20.x 国内安装步骤 Step 1:安装 nvm 本体 nvm 是一个 shell 脚本,运行在终端里。打开终端(PowerShell 不适合——推荐 WSL 或 cmd),执行: ...
Python3 从零到脚本自动化:安装、语法、批量处理与依赖管理
导读 你电脑里大概率已经装着 Python——它是目前全球最流行的编程语言之一,小到自动整理文件夹、批量改文件名,大到搭建网站和训练 AI 模型,都离不开它。本篇教程从零开始:先在你的系统上装上 Python3,搞清楚为什么要用虚拟环境(venv),快速过一遍核心语法,然后实战写一个批量处理文件的脚本。全程命令带注释,读完就能上手。 目标读者:完全没有编程经验的小白,或者用过 Python 但被报错劝退的朋友。 预计用时:阅读约 25 分钟 + 动手 30 分钟。 一、安装 Python3 1. Windows:官网安装包(推荐勾选 PATH) 打开浏览器访问 python.org/downloads,下载 Windows installer(64-bit)(页面会自动识别你的系统)。 双击运行安装程序时,务必勾选底部的「Add python.exe to PATH」(见截图标注位置)。如果漏勾也没关系——点「Modify」重新添加即可。 国内镜像提示:python.org 直连偶尔慢或超时,可以改用华为云镜像站 https://mirrors.huaweicloud.com/python/,里面也有最新的 Windows 安装包,下载速度通常更快。 2. macOS:brew 一行搞定 如果你已经装过 Homebrew(macOS 的包管理器),只需在终端输入: brew install python3 # 下载并安装最新 Python3 python3 --version # 验证:应显示 Python 3.x.x 如果没有 brew:运行 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装后再执行上面的 brew install python3。 3. Linux:系统包管理器 大多数发行版已经把 Python3 作为默认组件: # Debian / Ubuntu: sudo apt update && sudo apt install python3 python3-venv python3-pip -y # Fedora: sudo dnf install python3 -y # Arch Linux: sudo pacman -S python python-pip 安装完成后同样用 python3 --version 验证。 ...
Redis 缓存实战:穿透、击穿与雪崩
导读 如果你在做 Web 应用或者小程序后端,大概率会听到"加一层缓存"的说法。最常见的选择就是 Redis——一个跑在内存里的"超级字典"。本文先带你看清它的五种数据结构(别被名字吓到,都是日常能理解的),然后重点讲缓存系统最容易踩的三个坑:穿透、击穿、雪崩——为什么会出现、怎么解决。最后还会覆盖持久化(RDB vs AOF)、过期策略与内存淘汰,以及用 Python(redis-py)快速上手。全文面向零基础读者,每个术语出现时都会给一句白话解释。 一、Redis 是什么?为什么快? Redis(REmote DIctionary Server)是一个开源的 key-value 内存数据库。你可以把它理解成一个"超大号的字典"——你告诉它一个关键字(key),它就立刻告诉你对应的值(value)。 # 往 Redis 存一条数据:key = name, value = 笑尘主人 127.0.0.1:6379> SET name "笑尘主人" OK # 取出来 127.0.0.1:6379> GET name "笑尘主人" 为什么比传统数据库快? 对比项 MySQL 等传统数据库 Redis 数据存储位置 硬盘(磁盘 I/O 慢) 内存(速度是硬盘的数万倍) 查询方式 SQL 语句(需要解析和执行计划) 直接 key → value 查找 典型延迟 毫秒级 ~ 几十毫秒 微秒级 ~ 1 毫秒 一句话:Redis 把最常被访问的数据放在内存里,请求来了不用去硬盘翻找,所以极快。 二、五种数据结构,对应不同场景 Redis 不只是简单的 SET/GET,它提供了丰富的数据结构,每种都适合不同的使用场景。 2.1 String(字符串)—— 最基础的类型 String 是最常用的类型,可以存文本、数字,甚至图片的二进制数据。 ...
Shell 脚本编程实战:从变量到定时任务
导读 如果你用过 Linux 或 Mac 的终端,一定接触过命令行的交互方式——你输一条命令,系统回一个结果。但如果要把几十条命令组合起来,按条件自动执行、循环遍历文件、甚至每天定时跑一次呢?这时候就需要 Shell 脚本。 本文从零开始,带你掌握 Shell 脚本最核心的六大知识板块:变量与引号、条件判断(if/case)、循环(for/while)、函数封装、参数传递、错误处理,最后用 crontab 定时任务把这些能力串联成一个完整的系统健康检查脚本。无论你是刚接触 Linux 的小白,还是想系统化补上 Shell 功底的开发者,这篇都能覆盖。 一、你的第一个 Shell 脚本 Shell 脚本本质上就是一个包含多条命令的纯文本文件。系统在读取第一行时,会判断用哪个解释器来执行它。 1.1 Hello World 新建 hello.sh,写入以下内容: #!/bin/bash # 告诉系统用 bash 解释器执行(这叫 shebang) echo "Hello, CleanResolver!" # 输出文字到终端 然后给它可执行权限并运行: chmod +x hello.sh # 让文件变成"可执行程序"的样子 ./hello.sh # 在当前目录下运行它 # 输出:Hello, CleanResolver! 白话解释:chmod +x 相当于给文件贴一张"可以执行"的标签;./ 表示"当前目录下的这个文件"。如果不加 ./,系统会在环境变量 $PATH 指定的系统目录里去找这个名字。 国内镜像提示:如果你在中国大陆下载 bash 相关教程,推荐 Runoob Shell 教程(直连)。国内打不开时用代理:ghfast.top 代理。 二、变量与引号 2.1 定义变量 Shell 中的变量就像快递柜的储物格编号——你把数据"存"进去,需要时再"取"出来。赋值时不加 $,取值时加 $。 name="CleanResolver" # 定义变量 name version=1.0 # 数字也可以直接赋值(不用引号) echo $name # 取值:CleanResolver echo "${name}_v${version}" # 用大括号区分边界:CleanResolver_v1.0 重要规则: ...
Vim 编辑器实战入门:从零基础到离开鼠标写代码
📌 新手提示:本文结尾提供了一键安装脚本(Windows / macOS / Linux 通用),自动检测网络源、安装 Vim 并生成基础配置文件。想省时间的朋友直接拉到文末运行即可。 导读:为什么学 Vim? Vim 是一个运行在终端里的文本编辑器——也就是说你不需要点鼠标,只需要键盘就能完成所有编辑工作。它在程序员中非常流行,因为一旦熟练了,编辑速度远超鼠标 + 图形界面。更重要的是:绝大多数远程服务器(尤其是 Linux 服务器)都自带 Vim,当你通过 SSH 连到一台空荡荡的机器时,Vim 几乎是你唯一可用的编辑器。 学习 Vim 的最大门槛是"打破直觉":它不像 Word 或 VS Code 那样用按钮操作,而是靠模式切换 + 快捷键组合。好消息是,你其实只需要掌握不到 30 个命令就能完成日常编辑——剩下的都是进阶玩法,可以慢慢积累。 下面我们从最基础的三大模式讲起,一步步带你上手。 参考文档:Runoob Vim 教程(国内可直接访问,内容详尽) 官方网站:https://www.vim.org/(国内用户如果打开慢,可以用镜像 https://ghfast.top/https://www.vim.org/ 先逛逛介绍页) 一、三大核心模式:Vim 的灵魂 Vim 的核心思想是"每种模式有每种模式的职责"。你不可能在打字的时候同时执行删除命令——必须切换到对应模式。这听起来麻烦,但熟练后会发现非常清晰高效。 1. 普通模式(Normal Mode)—— 默认模式 启动 Vim 后自动进入此模式。这里的每一个按键都是一条命令,而不是输入字符。 按键 功能 白话解释 h / j / k / l 左 / 下 / 上 / 右 不摸方向键也能精准移动 w 跳到下一个词开头 word = “单词"的意思 b 跳到上一个词开头 back = 回退 $ 跳到行尾 end of line 0(数字零) 跳到行首 zero G 跳到文件末尾 Go to end gg 跳到文件开头 Go to top(连按两次 G) nG(如 5G) 跳到第 n 行 比如 42G 直接跳到第 42 行 2. 插入模式(Insert Mode)—— 像记事本一样打字 想要打字、粘贴内容?先切换到插入模式。这是唯一的"写入"模式。 ...
Vue3 组合式 API 实战:从 jQuery 小白到现代前端
导读:你还在手动操控 DOM 吗? 如果你是从 jQuery、Zepto 那个年代过来的前端开发者,一定有过这样的经历:数据变了,你要手动去找元素、改文本、加 class、绑事件——改一处牵全身,项目越大越像一团乱麻。 Vue3 的核心理念就一句话:你只管写数据,页面会自动更新。 这叫"响应式编程"——当你的 JavaScript 变量发生变化时,Vue 自动帮你把页面对应的部分刷新掉。你不需要再操心"哪个 DOM 需要改"。 此外,Vue3 引入了组合式 API(Composition API),核心语法是 <script setup>。它让你按"功能"组织代码(而不是按"生命周期钩子"拆散),代码更紧凑、更容易复用。 这篇教程会带着你从头搭建一个 Vue3 项目,一步步了解关键概念,最后做一个完整的 TodoList 小应用收尾。全程无废话,只讲你需要用的。 前置知识:基本的 HTML、CSS、JavaScript(ES6 箭头函数和解构赋值就够了)。如果你会用 npm 装过一个工具包,那就足够了。 一、Vue3 对比 jQuery:一张表说清楚 维度 jQuery 时代(传统写法) Vue3 组合式 API 更新页面 $('#box').text(newData) 手动操作 DOM 变量变了,{{ data }} 自动更新 事件绑定 .on('click', handler) 到处散布 @click="handleClick" 写在模板里 组件化 靠约定或第三方库(如 React 风格封装) 内置 .vue 单文件组件,开箱即用 状态管理 全局变量 / $bus 事件总线 ref / reactive 响应式系统 + Pinia 构建方式 CDN 直接引入即可 推荐 Vite 脚手架(开发快、打包小) jQuery 不是不好——它是那个时代的最佳实践。但在今天的项目复杂度面前,手动操作 DOM 成了最大的维护负担。Vue3 的思路是:声明式地描述"数据长什么样",让框架负责"DOM 怎么变"。 ...
Whisper 本地语音转文字:从零搭建开源 ASR 转写环境
导读 如果你有一段录音(会议、播客、课堂笔记),想快速把它变成文字稿——以前你可能要花钱买在线转写服务,或者花好几天搭一套复杂的深度学习系统。今天我们要用的 Whisper 正好解决了这个问题:它是 OpenAI 在 2022 年开源的多语言语音识别模型,可以在你自己的电脑上离线运行,免费、隐私有保障,支持中文在内的 99 种语言。 本篇从零开始,帮你把整个环境搭起来。只需要一个前置依赖 ffmpeg,剩下的通过 pip 一行命令搞定。文末提供一键脚本,Windows / macOS / Linux 都能跑。 一、Whisper 是什么? Whisper 是 OpenAI 发布的一个自动语音识别(ASR,Automatic Speech Recognition)模型。它用来自 68 万小时多语言+多标签数据的训练数据训练的,核心特点包括: 开源免费:Apache 2.0 许可,可以随意修改和商业使用 多语言:支持中文、英文、日语等 99 种语言的识别和翻译 本地运行:不需要联网调用 API,装好就在本机跑,保护隐私 开箱即用:命令行工具 + Python API 双接口,小白也能上手 GitHub 仓库地址:https://github.com/openai/whisper (国内用户访问不畅时,可以加 ghfast.top 前缀代理:https://ghfast.top/https://github.com/openai/whisper) 模型规格一览 Whisper 提供了多个规格(规格越大,准确率越高,但需要的内存和速度越慢)。官方共有以下模型供选择: 模型 参数量 VRAM 需求 参考速度 适用场景 tiny 39M ~1 GB 最快 快速原型验证 base 74M ~1 GB 快 日常轻度使用 small 244M ~2 GB 中等 较好中文效果 medium 769M ~5 GB 较慢 高准确率要求 large-v1/v2/v3 1.5B ~10 GB 很慢 最高精度 distil-small/en / distil-medium/en 量化蒸馏版 — 比原版快 2~6 倍 英文加速(非官方完整版) 推荐起步策略:先用 tiny 或 base 确认流程畅通,再按需换 small 或更大的模型。 ...
Claude API 开发实战:从零调用 Anthropic 官方接口(Python 完整教程)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),会自动完成 Python 环境、SDK 安装与 API Key 配置,不想手动逐条敲命令的同学可以直接拉到文末运行。 前言 你大概已经听说过 Claude 这个名字——它是在编程、写作、长文本分析上口碑最好的大模型之一,来自 Anthropic 公司。 但你可能不知道的是:Claude 不只可以在网页上聊天,它还开放了 API(Application Programming Interface,应用程序编程接口)——简单说,就是一个"程序调用通道":你可以写几行代码,让 Claude 变成你自己软件里的"大脑",自动完成总结文档、写代码、翻译、客服问答这些事。 这篇文章面向完全没有编程经验的零基础读者:只要求你有一台电脑、能复制粘贴命令。我会带你完成以下四件事: 拿到一把 API Key(钥匙) 装好 Python 和 Anthropic 官方 SDK(软件开发工具包,可以理解为"官方写好的调用插件") 写出并运行你人生中第一段 AI 调用代码 学会按需调整参数、看懂报错 官方文档地址:海外用户可直连 https://platform.claude.com/docs;国内用户访问需要科学上网,也可以参照本文第八节用国内可直连的中转方式接入。 好,我们现在开始。 一、准备工作(三样东西) 1. 一台装了 Python 的电脑 文章用 Python 3(版本 ≥ 3.8 即可)写调用代码。怎么确认装没装?打开终端(macOS 叫"终端",Linux 由发行版决定,Windows 建议用 WSL,即"Windows 自带的 Linux 子系统"),输入: python3 --version 看到 Python 3.x.x 就说明有了。如果没有,去 https://www.python.org/downloads/ 下载安装,Windows 用户安装时记得勾选"Add Python to PATH"。 ...
Claude Code 进阶实战:CLAUDE.md、子代理与规则,把 AI 编程助手调教成团队老兵
📌 新手提示:还没装 Claude Code 的同学请先阅读本站《Claude Code 快速上手教程》;本文假设你已经能用 claude 命令在终端里和 AI 结对编程,现在要把它调教成"懂你项目"的老兵。 前言 用过几周 Claude Code 你会遇到同一个困惑:这个 AI 每次开工都像第一天入职——不知道你的代码规范、记不住你的偏好、每次都得重新交代。 Claude Code 官方给的答案是三个机制: CLAUDE.md:你写的"项目说明书",每次会话自动加载 Auto memory:AI 自己记的"工作笔记",根据你的纠正自动积累 子代理(subagents):给 AI 配一群"专家同事",各司其职,互不干扰 本文基于 Claude Code 官方文档(https://code.claude.com/docs)编写,走完三件事:把记忆体系配好、给项目立规矩、给团队加专家。 官方文档是海外站点,国内访问需要科学上网;配置过程需要调用 Claude API(或国内的 Anthropic 兼容中转),文末脚本会带你配好。 一、CLAUDE.md:每次会话自动加载的"项目说明书" CLAUDE.md 是纯文本 Markdown 文件,Claude Code 每次启动会话都会自动读取它——把你的约定写进去,AI 就不用每次重新问。 放哪里?四个等级 级别 位置 管什么 谁看 组织级 Linux/WSL:/etc/claude-code/CLAUDE.md;macOS:/Library/Application Support/ClaudeCode/CLAUDE.md;Windows:C:\Program Files\ClaudeCode\CLAUDE.md 公司标准、安全规范 全公司 用户级 ~/.claude/CLAUDE.md 你的个人偏好 你所有的项目 项目级(最常用) ./CLAUDE.md 或 ./.claude/CLAUDE.md 项目架构、规范、工作流 项目团队(随仓库提交) 本地级 ./CLAUDE.local.md(记得加进 .gitignore) 只属于你的项目偏好 只有你 优先级:加载顺序从宽到窄(组织→用户→项目→本地),越靠近你当前项目、越"后读",权重越高。 ...
DeepSeek API 使用教程:国产大模型从注册到调用(Python 实战)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),自动完成 Python 环境、SDK 安装与 API Key 配置,想省事的同学直接拉到文末运行即可。 前言 DeepSeek 是中国本土的大模型团队,做出来的模型在代码、推理、中文理解上一直处于第一梯队——而且相比海外大厂,国内用户注册、充值、调用全都畅通无阻,不需要海外信用卡,也不需要科学上网。这是它最"亲民"的地方。 和 Claude 一样,DeepSeek 也开放了 API(应用程序编程接口)——就是"程序调用通道":写几行代码,就能让 DeepSeek 的模型住进你自己的程序里,自动写代码、做分析、当客服。 本教程面向零基础读者,四步走: 注册账号,拿到 API Key(钥匙) 装好 Python 环境 跑通第一个 DeepSeek 调用 看懂定价、常见报错,把它用起来 官方文档:https://api-docs.deepseek.com/(国内可直接访问)。 一、注册账号并获取 API Key 打开 https://platform.deepseek.com,用手机号或邮箱注册 登录后点左侧「API Keys」,创建一个新 Key,立刻复制保存(形如 sk- 开头的一长串,只显示一次,丢了要重建) 如果需要调用付费模型,先去「充值」页充一点钱(按量扣费,充多少用多少,没有月租;充值与赠送余额并存时系统会优先扣赠送余额) ⚠️ Key 相当于你的"钱包钥匙",别截图发给别人,别提交到公开的代码仓库(GitHub 会扫描并提示风险)。 二、准备 Python 环境 确认终端里 python3 可用(不会开终端的同学见文末脚本,全部自动化): python3 --version 看到 Python 3.x.x 即可。然后装官方示例用的 OpenAI 官方 Python 包(deepseek 复用 OpenAI 的 SDK,所以不用装 deepseek 自己的包): ...
Dify 零代码 AI 应用开发:不写代码也能做出自己的 AI 机器人(2026 完整教程)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),帮你把 Dify 完整装起来,配好模型就能动手搭应用。 前言 前两篇文章我们聊的是"用代码调 API"(Claude API / DeepSeek API)和"用框架写程序"(LangChain RAG)——适合喜欢写代码的同学。但如果你不想写代码,或者你想在一个可视化界面里快速把应用搭出来、直接复用成熟组件,那 Dify 是你的菜。 Dify 是一个用于构建 AI 应用的开源平台(GitHub 46k+ 星):网页界面 + 拖拽编排,不写一行代码就能做出聊天机器人、知识库问答、自动化工作流、Agent(能调用工具的 AI 助手)……做完还能一键发布成网页应用,或用 API 接入你自己的系统。 一句话定位: 写代码搭 AI 应用 = 自己买菜做饭;用 Dify 搭 AI 应用 = 用厨房智能炒菜锅——功能覆盖面 90%,上手只要十分钟。 本教程面向零基础读者,走完四步: 用 Docker 一键部署 Dify(自托管,数据完全归你) 接入大模型(一个 Key 搞定) 拖拽做出第一个聊天机器人 挂上你自己的知识库(RAG 能力内置) 官方文档:https://docs.dify.ai/zh-hans(中文);GitHub:https://github.com/langgenius/dify(社区版开源)。 一、Dify 能做什么(先看能力地图) 官方首页点名的核心能力: 聊天机器人:对话式应用,配上系统提示词(给 AI 立人设)就是客服/助理 Agent 编排:AI 可以调用工具(查数据库、发邮件、传 API),不止"聊天",还能"办事" Agentic 工作流:可视化流程编排,条件分支、循环、多步调度都拖出来 知识库(基于自有数据的应用):上传 PDF/Word/网页,自动切分向量化,聊天时"现查现答"——这正是 RAG(Retrieval-Augmented Generation,检索增强生成,“给 AI 塞专属资料、让它只依据资料作答"的技术),Dify 把它做成了上传即用,不用写任何代码 插件扩展:官方插件市场,扩展工具和模型 发布方式:一键发布为 Web 应用(独立链接),或通过 API 集成到你的系统 二、部署 Dify(社区版,Docker 一键装) Dify 社区版完全开源、数据自持。部署需要 Docker(容器技术,可以理解成"一键打包运行软件的盒子”)与 Docker Compose(管理多个容器组合的工具)。 ...
LangChain RAG 实战:三小时给自己的 AI 装上"知识库"(零基础 Python 教程)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),会自动装好全部依赖、配置 API Key、生成一个可直接运行的知识库问答 Demo,动手党直接拉到文末。 前言 一个扎心的事实:大模型(ChatGPT、Claude、DeepSeek 这类 AI 的大脑)并不知道你的私有资料。你的公司规章、产品手册、个人笔记,模型一概没学过——你问它,它只能靠"编"来回答,这就是著名的"一本正经地胡说八道"(AI 圈叫"幻觉")。 RAG(Retrieval-Augmented Generation,检索增强生成) 就是解决这个问题的标准方案。一句话解释: 给 AI 塞一个你专属的资料库,每次提问先从这个库里"检索"相关片段,再让 AI 基于检索到的内容回答。 效果是:AI 只依据你的资料作答,不乱编、不认错人,还永远跟得上资料的最新版本(资料更新,答案自动变)——因为它每次都是"现查现答"。 官方对 RAG 的定义是:在推理(回答)时把外部文档作为上下文喂给模型,避免幻觉与过时信息。 本教程基于 LangChain 官方 RAG 教程编写(https://docs.langchain.com/oss/python/langchain/rag),面向零基础读者,一步步跑通一个"公司制度问答机器人"。 一、RAG 的五步流水线(先看懂再动手) 把整个过程想象成"图书馆查资料": 入库(加载文档):把你的资料搬进系统——Document 对象,每个文档带"来源"标签(哪个文件/网页) 切分(拆成块):长文档切成 1000 字一块的小段——图书馆把书拆成一页页,检索才知道翻哪页 向量化(编号上架):每一段文字变成一串数字(叫"向量"),语义相近的文字,数字也相近——检索"迟到怎么处理"能找到"考勤制度"那段 检索:用户提问→把问题也变成向量→找出库里最相近的前几段 回答:把"问题 + 检索到的片段"一起发给大模型,让模型只依据这些片段回答 五步里,1-4 是"资料库",5 用到了大模型能力。我们一步步来。 二、准备工作(三样东西) Python 3(终端执行 python3 --version 确认;Windows 建议用 WSL) 一把 OpenAI 兼容的 API Key——本文代码按 OpenAI 格式写(这也是整个 AI 生态里最通用的格式:DeepSeek、Ollama、各种中转站都兼容)。还没 Key 的同学先注册一个(国内推荐 DeepSeek 官方平台 https://platform.deepseek.com,注册即送少量体验额度;或者运行文末一键脚本,脚本会带你把 Key 配好) 一个文本资料(随便拿一个 .txt 文件:公司制度、产品说明、学习笔记都行) 三、安装依赖 mkdir rag-demo && cd rag-demo python3 -m venv .venv && source .venv/bin/activate pip install "langchain[openai]" langchain-text-splitters requests numpy python3 -m venv .venv:建虚拟环境(独立目录装依赖,不污染系统) langchain[openai]:LangChain 主包 + OpenAI 兼容适配([openai] 是"附加组件"标记,一次装齐) langchain-text-splitters:切分文档的官方组件 requests:发 HTTP 请求(抓网页用);numpy:向量计算底层依赖 pip 慢或失败:加 -i https://pypi.tuna.tsinghua.edu.cn/simple。 ...
MCP 生态使用大全:现成工具服务器,10 分钟让 AI 能用上你的文件、Git 和数据库
📌 新手提示:本文的"用 MCP",面向想快速给 AI 接上文件系统、Git 仓库、数据库等能力的读者(不是教写 MCP 服务端——那是本站《MCP Server 开发实战》的内容)。所有命令复制粘贴即可。 前言 你有没有遇过这样的尴尬:AI 编程助手写得飞起,但让它"看一下我桌面上那个 Excel"或者"把这个仓库的历史提交统计出来",它只会说**“我无法访问你的文件”**。 MCP(Model Context Protocol,模型上下文协议)就是来解决这个问题的——它是 Anthropic 于 2024 年末提出的开放标准,官方定位是: AI 应用的"USB-C 接口"——就像 USB-C 统一了充电口一样,MCP 统一了"AI 连接外部世界的接口"。AI 应用通过 MCP 可以接入数据源(本地文件、数据库)、工具(搜索、计算器)和工作流。 一句话版本:装一个 MCP 服务器,你的 AI 就能用上那个工具;同一个服务器,Claude、ChatGPT、VS Code、Cursor 等所有支持 MCP 的客户端都能用——“一次接入,到处使用”。 本文从零开始,带你 10 分钟把最常用的几类 MCP 服务器接进 Claude Code。 官方文档:https://modelcontextprotocol.io(海外站点,国内访问需科学上网);官方参考服务器仓库:https://github.com/modelcontextprotocol/servers。 一、MCP 的骨架:host / client / server 三个角色,用"点外卖"理解: 角色 是什么 比喻 Host(宿主) 你正在用的 AI 应用(如 Claude Code、Claude 桌面版、VS Code) 点餐的食客 Client(客户端) 宿主内部负责与服务器通信的组件 外卖 App Server(服务器) 暴露"工具/数据"给 AI 用的小服务(如"文件系统服务器"暴露读写文件的工具) 后厨 你的 AI = 食客,MCP 服务器 = 后厨。食客想吃什么(要用什么工具),后厨现做(执行操作)再端上来(把结果喂回 AI 的上下文)。 ...
Ollama 本地部署大模型:零基础把 AI 跑在自己的电脑上(2026 完整教程)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),自动安装 Ollama 并引导你运行第一个模型,不想手动操作的同学直接拉到文末运行。 前言 这几年"大模型"(能对话、能写代码的人工智能模型,像 ChatGPT、DeepSeek 背后的大脑)都是云端服务——你的问题发到别人服务器上,算完再传回来。好处是效果强,坏处是你得注册、充值、排队,还有隐私顾虑:所有对话都经过第三方。 Ollama 是另一条路:它把开源大模型装到你自己的电脑上,本地运行,不联网、不花钱、数据不出门。它的定位可以这么理解: 云端模型像"点外卖",本地模型像"自己家做饭"——外卖(云端)省事但付钱、排队;做饭(本地)要一次投入食材和设备(下载模型、占内存),但之后无限吃、私密、断网也能吃。 本教程面向零基础读者,走完五步: 明白 Ollama 是什么 在自己的电脑上装好它 跑起人生第一个本地大模型 学会用代码调用它(本地 API) 弄清"本地 vs 云端"怎么选 官方文档:https://docs.ollama.com/;模型库列表:https://ollama.com/search。 一、Ollama 是什么 一句话:Ollama 是一个"大模型运行工具"——装好后,你在命令行输入一条命令,它就从官方模型库下载一个开源模型到本地(几 GB 到几十 GB),然后在你的电脑上把它跑起来,你就能像和 ChatGPT 聊天一样和它对话。 几个关键事实: 开源免费:Ollama 本身是开源项目,模型也大多是开源模型(如 Qwen、DeepSeek、Llama、Gemma、GPT-OSS 等系列) 离线可用:模型下载完成后完全本地运行,不需要网络(断网也能聊) 有 API:暴露一个本地接口(默认端口 11434),你可以用普通 HTTP 请求或 OpenAI 兼容的 SDK 调用它——也就是说,你在云端 API 写过的调用代码,改一行地址就能指向本地模型 跨平台:macOS / Windows / Linux / WSL2 / Docker 都支持 二、安装 Ollama(三平台) 打开终端(macOS"终端"、Linux"终端"、Windows 建议 WSL,即 Windows 自带的 Linux 子系统),按你的系统执行一行命令: ...
Streamlit LLM 应用实战:200 行代码把你的 AI 变成网页应用(零基础教程)
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),自动装好 Python 环境、配好 API Key、生成一个能直接跑的 AI 聊天网页应用。 前言 你已经学会了调 Claude API(本站《Claude API 开发实战》),但都是"黑乎乎的终端输出"——能不能把自己写的 AI 变成一个带聊天框、带按钮、别人点开就能用的网页? Streamlit 就是干这个的:一个开源的 Python 库,纯 Python 写网页——没有 HTML、没有 CSS、没有前后端分离,几十行代码就能出一个漂亮的 Web 工具。 它的口号很诚实:“The fastest way to build and share data apps”(构建和分享数据应用的最快方式)。对 AI 应用来说尤其合适:你有 API 逻辑,Streamlit 帮你把外壳(输入框/聊天气泡/按钮/状态)全包了。 本文基于官方教程(https://docs.streamlit.io/develop/tutorials/llms/build-conversational-apps,海外站点国内访问需科学上网)编写,最终产出:一个 ChatGPT 式的聊天网页应用,可以在浏览器里和 AI 连续对话。 一、安装与首跑(30 秒) pip install streamlit 写一个 app.py: import streamlit as st st.title("我的第一个 AI 应用") name = st.text_input("你叫什么?") if st.button("打招呼"): st.write(f"你好,{name}!") 运行: ...
vLLM 生产级部署实战:一条命令把开源大模型变成 OpenAI 兼容 API 服务
📌 新手提示:本文定位"进阶一档"——目标读者是已会调 API、想把自己的开源模型部署成服务的学生与开发者。命令全部可直接复制;文末脚本自动装环境、下载模型、启动服务。 前言 上一篇 Ollama 教程解决了"把 AI 跑在个人电脑上"——但真实的生产环境(网站、公司服务)用的是另一类工具,其中的公认主力是 vLLM(GitHub 4 万+ 星,UC Berkeley 发起)。 一句话理解 vLLM: Ollama 是单机玩具,vLLM 是生产引擎。它把开源大模型(Qwen、DeepSeek、Llama…)变成高性能 API 服务——吞吐量比朴素推理高一个数量级,同时把显存利用压榨到极致(官方特性:PagedAttention 连续批处理、KV 缓存复用)。 用官网定位:“Easy, fast, and cheap LLM serving for everyone”(人人可用的又好又快又省的大模型服务)。 本文基于官方快速开始(https://docs.vllm.ai,海外站点国内访问需科学上网)编写,走完四步:装 vLLM → 离线批量推理 → 一条命令起 OpenAI 兼容服务 → 用任意代码调用它。 一、安装(两条命令) vLLM 是 Python 包,官方推荐用 uv 建干净环境(uv 是新一代 Python 工具): uv venv --python 3.12 --seed source .venv/bin/activate uv pip install vllm --torch-backend=auto 你没装 uv?curl -LsSf https://astral.sh/uv/install.sh | sh 一行装(官方方式)。不想用 uv,pip install vllm 也行,但官方把 uv 列为推荐——因为它快且环境干净。 ...
提示词工程实战:同一道题,为什么 AI 的回答质量差 10 倍?(六大原则 + 可复制模板)
📌 新手提示:本文结论基于 Anthropic 官方提示工程指南(https://platform.claude.com/docs/en/build-with-claude/prompt-engineering,海外站点国内需科学上网)。文末一键脚本会生成一个"前后对比"小工具,让你亲眼看到提示词的作用。 前言 很多人以为提示词(Prompt)就是"多说点好话、多发点脾气",这是误解。提示词不是玄学,它有一套官方方法论——就像写代码有规范和架构,写提示词也有原则。 一个残酷的事实:同一个模型、同一个问题,提示词写法和写法之间,回答质量可以差 10 倍。官方文档的原话是:把 Claude 想成一个"聪明但完全不熟悉你们公司的新员工"——你不说清楚,他就发挥不出。 本文带你看官方六大原则 + 一张可直接抄的三段式模板,再用一个真实案例感受差距。 一、官方六大黄金原则 原则 1:清晰直接(Be clear and direct) 说得越具体,得到的结果越好。想要"超出预期"的发挥(比如"做得全面一点"),要明确写出来,而不是指望模型自行领悟。 黄金准则(官方原文):把你的提示词拿给一位对任务几乎一无所知的同事,请 TA 照着做。如果 TA 会困惑,Claude 也会困惑。 对照(官方示例): ❌ 差的:“Create an analytics dashboard”(做一个分析仪表盘) ✅ 好的:“Create an analytics dashboard. Include as many relevant features and interactions as possible. Go beyond the basics to create a fully-featured implementation."(……把能用上的功能和交互都做上,别停留在基础版) 原则 2:补充上下文与动机(Add context) 解释"为什么"能让模型更精准。官方例子: ❌ 差的:“NEVER use ellipses”(永远别用省略号) ✅ 好的:“Your response will be read aloud by a text-to-speech engine, so never use ellipses since the text-to-speech engine will not know how to pronounce them."(你的回答会被语音引擎朗读,所以别用省略号——它不知道怎么发音) 一句话解释了动机,模型就懂了"这是硬规则,不是个人风格”。 ...
Hermes Agent 入门:部署你的第一个自进化 AI 助手
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),不想手动逐条敲命令的同学,可以直接拉到文末下载运行,脚本会自动检测网络环境并选择最快的下载源。 一、Hermes Agent 是什么 Hermes Agent 是 Nous Research 开发的自进化 AI agent——它不只是"能聊天的 AI",而是目前唯一内置学习闭环(learning loop)的 agent:它从经验中自创技能、在使用中改进技能、主动提醒自己持久化知识、能搜索自己过去的对话、并跨会话逐步加深对你的理解。 用三个场景说人话: 它是个能"成长"的助手:第一次你让它写了个数据清洗脚本,它会把这个流程存成"技能"。下次你说"再清洗一份",它直接调技能,不用从零教。技能用得越多它越熟,跟人积累经验一个道理。 它不住在你电脑里:跑在云端 VPS 上,你从手机 Telegram 给它发消息就能指挥它干活——白天让它监控日志、晚上让它跑备份、每周生成周报。它闲时几乎不耗钱(Daytona/Modal 这类 serverless 后端空闲时自动休眠)。 不绑任何一家模型:今天用 Claude,明天用 GPT,后天换 DeepSeek——hermes model 一条命令切换,代码不动、数据不丢。 核心能力(来自官方 README): | 能力 | 说明 | |—| | 真·终端界面 | 全功能 TUI:多行编辑、slash 命令自动补全、历史回溯、中断重定向、流式工具输出 | | 住在你常驻的 IM 里 | Telegram / Discord / Slack / WhatsApp / Signal / 邮件,全从一个 gateway 进程接入 | | 闭环学习 | agent 自管的记忆 + 周期性自提醒;复杂任务后自动建技能;FTS5 全文检索跨会话召回 | | 定时任务 | 内置 cron 调度器,自然语言定义,投递到任意平台——每日报告、每晚备份、每周审计 | | 并行委派 | 派生隔离 subagent 并行干活;Python 脚本经 RPC 调工具,多步流水线压成一轮 | | 跑哪都行 | 七种终端后端:本地、Docker、SSH、Singularity、Modal、Daytona、Vercel Sandbox | ...

MCP Server 开发实战:手写一个让 Claude Code 接入私有数据的服务器
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),不想手动逐条敲命令的同学,可以直接拉到文末下载运行,脚本会自动检测网络环境并选择最快的下载源。 引言 如果你用过 Claude Code,一定体验过它在你的项目里读代码、改文件、运行命令的丝滑感。但如果我问你:Claude Code 能不能查你公司内部的 MySQL 数据库?能不能调你团队内部的工单 API?能不能读你私有知识库里的文档? 答案是:能,只要你写一个 MCP Server。 MCP(Model Context Protocol,模型上下文协议) 是 Anthropic 于 2024 年底发布的开源标准,专门用来解决一个问题:AI 助手如何安全、标准化地接入外部数据源和工具。你可以把它理解成 AI 世界的"USB-C 接口"——不管后端是什么(数据库、API、文件系统、第三方服务),只要实现 MCP 协议,AI 就能即插即用。 上图展示了 MCP 的核心架构:Host(宿主进程,比如 Claude Code)通过 Client 与 Server 建立一对一的有状态连接,Server 则暴露 Resources(资源)、Tools(工具)、Prompts(提示词) 三种能力。 本教程会带你从零开始,用 Python 写一个真正能用的 MCP Server——先让它暴露一个简单的计算工具,再接上一个 SQLite 数据库和内部 API 调用,最后部署到云 Agent 沙箱里,让 Claude Code 在生产环境中安全地访问你的私有数据。 读完本文,你将掌握: MCP 协议的核心概念:Host、Client、Server 三角色各干什么,为什么这样设计 用 Python SDK 手写 MCP Server:从 15 行代码的玩具到能查数据库、调 API 的真实工具 接入 Claude Code:配置 .mcp.json,让 AI 在你的项目里直接调用你的 Server 部署到生产环境:用云 Agent 沙箱实现容器隔离、出站白名单、自动休眠 一、什么是 MCP——给 AI 装一个"万能接口" 1.1 先理解一个痛点 在没有 MCP 之前,如果你想让 AI 助手访问你的私有数据,你只有几条路: ...

OpenCode 入门教程:开源终端 AI 编程助手的完整实战
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),不想手动逐条敲命令的同学,可以直接拉到文末下载运行,脚本会自动检测网络环境并选择最快的下载源。 前言 如果你正在寻找一个开源、免费、不绑定任何厂商的终端 AI 编程助手,那你来对地方了。 先交代背景:市面上最强的 AI 编程工具——Claude Code——是闭源的,绑定 Anthropic 一家厂商,还要求海外信用卡。对国内用户来说,这意味着要翻墙、要绑卡、要担心封号,还不便宜。 OpenCode(原名 SST OpenCode,现由 anomalyco 团队维护)正是为了解决这个问题而生的。它的定位非常清晰: 一个开源的终端 AI 编程助手,原生支持 75 种以上的大模型提供商,你想用谁就用谁。 打个比方: Claude Code 像 iPhone——很好用,但只能用苹果官方的 App Store,硬件也绑死。 OpenCode 像 Android——开源、自由,你可以装任何应用商店,甚至自己编译系统。 更具体地说,OpenCode 能做什么? 在终端里用自然语言描述需求,AI 直接帮你读代码、写代码、改文件、跑命令 支持 Anthropic(Claude 系列)、OpenAI(GPT 系列)、DeepSeek、Google Gemini、本地 Ollama 等 75+ 家模型提供商 所有配置都是明文 JSON 文件,你可以把请求地址改成任何一个中转服务——包括国内可以直接访问的 API 中转站 内置 build(全权限开发)和 plan(只读分析)两种工作模式,按 Tab 键一秒切换 完全开源(GitHub 仓库已获 近 20 万星),代码公开可审计 本教程面向完全零基础的用户。只要你有一台电脑、能看懂文字、照着复制粘贴,就一定能成功启动 OpenCode。 海外用户可直连 GitHub:https://github.com/anomalyco/opencode。国内用户如果访问 GitHub 较慢,可以尝试 ghproxy.com 等镜像服务(注意:部分镜像对大型仓库可能不稳定,遇到问题可尝试切换镜像或直连)。 ...

Claude Code 快速上手教程:从零开始进入 VIBE CODING 时代
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),不想手动逐条敲命令的同学,可以直接拉到文末下载运行,脚本会自动检测网络环境并选择最快的下载源。 前言 如果你还没听过"VIBE CODING"——简单说,就是用自然语言描述需求,让 AI 直接帮你写代码、改代码、跑测试、提交 commit。而 Claude Code,正是目前这个领域公认能力最强的工具之一。 Claude Code 是 Anthropic 出品的终端 AI 编程助手。它不再只是一个对话框,而是一个拥有"手"和"眼"的虚拟程序员——能直接读取你的文件系统、运行终端命令、执行 git 操作,自主完成复杂的开发任务。 打个比方: Claude 网页版像一个顾问,你把代码贴给它,它给建议,但你得自己动手改。 Claude Code像坐在你旁边的搭档,能看到整个项目,帮你改代码、写测试、重构函数。 本教程面向完全零基础的用户,只要你有一台电脑、能看懂文字、照着复制粘贴,就一定能成功启动 Claude Code。 一、Claude Code 的几种使用方式 方式 适合人群 优点 缺点 Web 端 完全新手 无需安装 功能有限,无法深度集成本地代码 CLI(命令行) 绝大多数开发者 功能最完整,最稳定 需要熟悉命令行基础 编辑器集成 日常开发者 无缝融入 VS Code / Cursor 依赖插件和环境 桌面版 不想用命令行的用户 图形界面 功能略少于 CLI 本教程采用 CLI 方式,因为它是官方主力支持、功能最全、也最通用的形态。 二、前置准备(只需要两样东西) ① 终端工具 Mac / Linux:打开系统自带的 Terminal(终端) Windows:打开 PowerShell,或者 WSL(推荐) 如果你从未用过命令行,不要怕——每条命令我都会写清楚,你只要复制粘贴即可。 ...

Claude Code 配置管理神器:CC Switch 完整安装与使用教程
📌 新手提示:本文结尾提供了一键部署脚本(Windows / macOS / Linux 通用),会自动安装 Node.js、CC Switch、Claude Code 并配置好云间 API,不想手动操作的同学直接拉到文末。 前言 在上一篇教程中,我们完成了 Claude Code 的安装,并通过环境变量的方式配置了云间 API 的 Key。但这种方式有一个明显的痛点:每次要切换不同的 API Key、不同的模型供应商,或者想对比测试多家服务的质量时,都得手动改环境变量、重启终端,非常麻烦。 今天介绍的 CC Switch 项目,正是为了解决这个问题而生。 ℹ️ CC Switch 是一个开源项目,源码托管在 GitHub(https://github.com/farion1231/cc-switch)。 ⚠️ 国内用户访问提示:GitHub 在国内无法直接访问。海外用户可点击上方链接查看源码;国内用户可通过 GitHub 镜像站访问,例如把域名替换为 https://ghfast.top/https://github.com/farion1231/cc-switch,或使用文末一键脚本(脚本会自动检测网络并用 npm 国内镜像安装,无需访问 GitHub)。 一、CC Switch 是什么? CC Switch 是一个跨平台的桌面端一体化管理工具,专门用于管理 Claude Code、Claude Desktop、Codex、Gemini CLI、Grok Build、OpenCode 等多个 AI 编程助手的 API 配置。 简单来说,它的核心功能就两件事: 集中管理:把你所有的 API Key(Claude、GPT、Gemini,以及各种中转服务的 Key)统一存到一个地方 一键切换:执行一条命令就能瞬间切换当前使用的配置,无需手动改文件、无需重启 它本质上是一个配置管理中间层–CC Switch 会把你的 API 配置写入 Claude Code 的配置文件 ~/.claude/settings.json 中,执行 cc-switch use 时自动替换对应的 Key 和 Base URL,切换即时生效。 ...