如何把大模型接入自己的 Web 应用
在命令行里跑通大模型只是开始,真正落地要把它变成一个用户能访问的 Web 服务。这篇教程用 FastAPI 搭后端、原生前端调用,完整实现一个带流式输出的对话网页,涵盖从接口封装到部署上线的每一步。 系统架构一个典型的大模型 Web 应用分三层: graph LR A[浏览器前端] -->|HTTP 请求| B[FastAPI 后端] B -->|调用| C[大模型 API] C -->|返回| B B -->|流式响应| A API Key 只放在后端,绝不能暴露给前端,这是安全底线。 前置准备pip install fastapi uvicorn openai 并在后端环境设置好 OPENAI_API_KEY。 步骤一:搭建后端骨架新建 main.py,创建 FastAPI 应用: from fastapi import FastAPIfrom fastapi.middleware.cors import CORSMiddlewarefrom pydantic import BaseModelapp ...
如何用 Transformers 库跑通文本分类
以前做文本分类要自己搭模型、调词向量,现在用 Hugging Face 的 Transformers 库,加载一个预训练模型微调几下就能达到很好的效果。这篇教程带你从”零代码体验”到”完整微调”,跑通一个情感分类任务。 两种使用方式Transformers 提供两个层次的用法: graph TD A[文本分类任务] --> B[pipeline 直接推理] A --> C[完整微调] B --> D[几行代码用现成模型] C --> E[用自己的数据训练] 先用 pipeline 快速见效,再学完整微调。 前置准备pip install transformers datasets evaluate accelerate 步骤一:用 pipeline 零代码体验不训练,直接调用现成的情感分析模型: from transformers import pipelineclf = pipeline("sentiment-analysis")print(clf("I love this...
如何用 PyTorch 搭建并训练一个神经网络
PyTorch 是当前深度学习和大模型研究的主流框架。它的核心是一套固定套路:用张量表示数据、用 nn.Module 搭网络、用循环完成”前向-反向-更新”。这篇教程用一个手写数字分类任务,带你把这套流程完整跑通。 训练的核心循环无论多复杂的模型,训练都是这个循环在重复: graph LR A[前向传播 算预测] --> B[计算损失] B --> C[反向传播 算梯度] C --> D[优化器更新参数] D --> E{完成所有轮次} E -->|否| A E -->|是| F[训练结束] 前置准备pip install torch torchvision 有 GPU 的话,安装对应 CUDA 版本的 PyTorch 会快很多。 步骤一:准备数据用 torchvision 加载 MNIST 手写数字数据集,并用 DataLoader 分批: from torchvision import datasets, transformsfrom torch.utils.data im...
如何用 scikit-learn 训练第一个分类模型
机器学习入门最经典的第一课,就是用 scikit-learn 训练一个分类模型。它把”加载数据、预处理、训练、评估”封装成统一的接口,几十行代码就能跑通完整流程。这篇教程以鸢尾花数据集为例,手把手带你走完每一步。 机器学习的标准流程不管多复杂的模型,都遵循这条流水线: graph LR A[加载数据] --> B[划分训练测试集] B --> C[特征预处理] C --> D[训练模型] D --> E[评估效果] E --> F[预测新数据] 前置准备pip install scikit-learn pandas matplotlib 步骤一:加载数据集sklearn 自带鸢尾花数据集,包含 150 条样本、4 个特征、3 个类别: from sklearn.datasets import load_irisdata = load_iris()X = data.data # 特征:花萼、花瓣的长宽y = data.target # 标签:3 种鸢尾花print(X....
如何用 LoRA 微调一个专属模型
通用大模型什么都懂一点,但不一定贴合你的业务语气和格式。全量微调要改动几十亿参数、显存爆炸,而 LoRA 只训练极小一部分参数,一张消费级显卡就能微调。这篇教程用 Hugging Face 的 PEFT 库,带你完整走一遍 LoRA 微调流程。 LoRA 的原理LoRA 冻结原模型权重,只在旁边加一对低秩小矩阵来学习”增量”: graph LR A[输入] --> B[原始权重W 冻结] A --> C[低秩旁路 可训练] B --> D[输出] C --> D 训练时只更新这对小矩阵,参数量常降到原来的千分之一,效果却接近全量微调。 前置准备 一块显存 ≥ 16GB 的 GPU(7B 模型 + LoRA) Python 3.9+ 与 CUDA 环境 一份”指令→回答”格式的训练数据 步骤一:安装依赖pip install transformers peft datasets accelerate torch 步骤二:准备数据集LoRA 指令微调常用 JSON 格式,每条含指令和期望回答: [ ...
如何本地部署 Stable Diffusion 生成第一张图
AI 绘画不必依赖付费网站,一台带独立显卡的电脑就能在本地跑起来。Stable Diffusion WebUI(AUTOMATIC1111 版)是最主流的本地方案,装好后在浏览器里填提示词就能出图。这篇教程带你从零部署,直到生成第一张图。 前置准备先确认硬件和软件: 显卡:NVIDIA 独显,显存 ≥ 4GB(越大越好) 系统:Windows 10/11、macOS 或 Linux 磁盘:至少预留 20GB(模型文件较大) 软件:Python 3.10、Git 部署总览整个流程分四步: graph LR A[装 Python 和 Git] --> B[克隆 WebUI 仓库] B --> C[下载模型] C --> D[启动并生成] 步骤一:安装 Python 和 Git 到 python.org 下载 Python 3.10,安装时务必勾选「Add Python to PATH」 到 git-scm.com 下载并安装 Git 打开命令行验证: python --version # 应显示 3.10...
如何用 Function Calling 给大模型接上工具
大模型本身只会生成文字,既查不了实时天气,也算不准复杂数学。Function Calling(函数调用)让它能”请求”调用你写好的工具:模型判断该用哪个函数、给出参数,你的程序执行后把结果喂回去。这是所有 AI Agent 的地基,这篇教程用 OpenAI 兼容接口完整实现一次。 工作原理模型并不真的执行代码,它只输出”我想调用哪个函数、传什么参数”,执行由你的程序完成: sequenceDiagram participant U as 你的程序 participant M as 大模型 participant T as 本地工具函数 U->>M: 1. 提问 + 工具清单 M-->>U: 2. 返回调用意图 函数名+参数 U->>T: 3. 执行真实函数 T-->>U: 4. 返回结果 U->>M: 5. 把结果回填 M-->>U: 6. 生成最终回答 前置准备pip install openai 并设置好 OPEN...
如何从零搭建一个本地 RAG 知识库
想让大模型回答你私有文档里的问题,直接把全文塞进去既不现实也很贵。RAG(检索增强生成)的做法是:先把文档建成可检索的知识库,提问时只把最相关的片段喂给模型。这篇教程用 Python 从零搭一个能真正跑起来的本地 RAG。 整体架构RAG 分离线建库和在线问答两个阶段: graph TD A[本地文档] --> B[切分成 chunk] B --> C[向量化 Embedding] C --> D[存入向量库] E[用户提问] --> F[问题向量化] F --> G[检索相似 chunk] D --> G G --> H[拼接提示词] H --> I[大模型生成答案] 前置准备创建虚拟环境并安装依赖: python -m venv venv# Windowsvenv\Scripts\activate# macOS / Linuxsource venv/bin/activatepip install chromadb sentence-transfor...
如何编写一个结构化的提示词模板
同样问大模型,有人得到杂乱无章的回答,有人得到结构清晰、可直接用的结果。差别往往不在模型,而在提示词。这篇教程带你把”随口一问”升级成一套可复用的结构化提示词模板,每一步都给出可直接套用的写法。 为什么要结构化零散的提示词有三个问题:模型猜不准你的意图、输出格式不稳定、换个任务又要重头想。结构化模板把要求拆成固定的几块,让模型每次都清楚”我是谁、要做什么、有什么限制、输出成什么样”。一个完整的结构化提示词由这几部分组成: graph TD A[角色 Role] --> E[完整提示词] B[任务 Task] --> E C[约束 Constraints] --> E D[示例 Examples] --> E F[输出格式 Format] --> E 步骤一:设定角色用 system 消息告诉模型它扮演谁,角色决定了语气和专业度: 你是一位有 10 年经验的资深技术编辑,擅长把复杂概念讲得通俗易懂。 角色越具体,回答越贴合场景。”你是助手”远不如”你是资深技术编辑”。 步骤二:明确任务一句话说...
如何调用大模型 API 完成第一次对话
很多人学大模型卡在第一步:道理都懂,就是没亲手跑通过一次真实的 API 调用。这篇教程带你从零开始,用最少的步骤完成第一次对话,再逐步加上流式输出和多轮上下文。全程使用 OpenAI 兼容接口(国内外大多数服务都适用),语言为 Python。 前置准备开始前确认三件事: 一个 Python 3.8+ 环境,命令行输入 python --version 检查 一个大模型服务的 API Key(如 OpenAI、DeepSeek、通义千问、Kimi 等) 能正常访问该服务的网络 整体流程一次 API 对话的完整链路如下,理解它能帮你看清后面每一步在做什么: sequenceDiagram participant U as 你的程序 participant A as API 服务 participant M as 大模型 U->>A: 1. 发送请求 模型名+消息+参数 A->>M: 2. 转发推理 M-->>A: 3. 返回生成结果 A-->>U: 4. 返回 JSO...










