FastAPI 请求处理流水线

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 错误,并给出清晰的错误信息,根本不需要你写任何校验逻辑。 ...

2026-08-26 · 15 min · AIGestalt

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")。 ...

2026-08-26 · 16 min · AIGestalt

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 的结果自动追加进去。相当于给每个节点都发了同一份"聊天记录"。 ...

2026-08-26 · 12 min · AIGestalt

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"。 ...

2026-08-25 · 9 min · AIGestalt

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 自己的包): ...

2026-08-25 · 8 min · AIGestalt

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。 ...

2026-08-25 · 10 min · AIGestalt

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}!") 运行: ...

2026-08-25 · 9 min · AIGestalt
MCP 架构示意图

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 助手访问你的私有数据,你只有几条路: ...

2026-08-20 · 18 min · AIGestalt