FastAPI入门教程 路由参数(非常详细)零基础入门到精通,收藏这一篇就够了

fastapi教程(一):初识 fastapi FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 并基于标准的 Python 类型提示。 阅读详情
AI摘要

本文介绍了FastAPI中路径参数的概念、声明方式及类型标注方法,包括基本类型、复合类型和自定义类型的使用,并展示了如何进行数据校验及特殊路径参数的处理。

路由参数

FastAPI 允许开发者通过简洁的Python语法声明路径参数,实现动态路由及参数处理。

基础概念

  • • 路径参数:路径中包含的动态部分,用花括号 {} 包裹,如 /items/{item_id} 中的 item_id。

  • • 示例: 路径 /items/123 将传递参数 item_id 值为 123。

声明路径参数

@app.get("/items/{item_id}")   async def read_item(item_id):      # item_id 为路径的参数       return {"item_id": item_id}

访问 http://127.0.0.1:8000/items/foo,响应为 {"item_id": "foo"}。

类型标注与数据转换

使用标准的 Python 类型标注为函数中的路径参数声明类型,并且自动转换标注的数据类型。

  • • 声明

    @应用名称.请求方式("路径/{参数}")   async def 函数名(参数名:类型):       return 返回数据   
    
  • • 示例

    @app.get("/items/{item_id}")   async def read_item(item_id: int):       return {"item_id": item_id}
    

• 访问 http://127.0.0.1:8000/items/3,响应为 {"item_id": 3},自动将字符串 “3” 转换为整型。

• 访问 http://127.0.0.1:8000/items/foo,则返回错误信息,因为 “foo” 不能转换为整数。

• 类型

    1. 基本类型:
  • • int: 整数类型,如 item_id: int,会自动将路径中的字符串转换为整数。

  • • float: 浮点数类型,同理,会转换字符串到浮点数。

  • • str: 字符串类型,这是默认类型,通常不需要显式声明,但可以用于明确意图。

  • • bool: 布尔类型,虽然不常用作路径参数,但在某些场景下可能有其用途。

    1. 复合类型:
  • • List[类型] 或 Sequence[类型]: 允许参数为一个列表或序列,如 tags: List[str] 表示多个标签。

  • • Dict[str, 类型] 或 Mapping[str, 类型]: 接受字典作为参数,键通常是字符串。

  • • Union[类型1, 类型2, ...]: 表示参数可以是多个类型中的任意一种。

    1. 自定义类型:
  • • Pydantic模型: 可以定义Pydantic模型作为路径参数类型,用于复杂的数据结构验证,如 user: UserInPath,其中 UserInPath 是一个Pydantic模型。

  • • Enum类型: 如上文所述,使用枚举(Enum)来限制路径参数的取值范围,提供额外的验证和清晰性。

    1. 特殊类型转换器:
  • • 路径转换器(如 path)可以用于处理路径中包含斜杠的特殊参数,例如 file_path: Path 使用 path 转换器。
    1. 可选参数与默认值:
  • • 使用默认值(如 item_id: int = None)可以标记路径参数为可选,尽管这在路径参数中较少见,因为路径通常要求所有组件都是必需的。

  • • 类型示例

  • • 整数类型 (int)当路径中需要接收整数参数时,可以直接声明int类型。

    from fastapi import FastAPI   app = FastAPI()   @app.get("/items/{item_id}")   async def read_item(item_id: int):       return {"item_id": item_id}
    

    访问 http://127.0.0.1:8000/items/42,预期响应为 {"item_id": 42}。

  • • 浮点数类型 (float)若路径参数为浮点数,则声明为float类型。

    @app.get("/prices/{price}")   async def show_price(price: float):       return {"price": price}
    

    访问 http://127.0.0.1:8000/prices/49.99,预期响应为 {"price": 49.99}。

  • • 字符串类型 (str)字符串类型的路径参数是最常见的。

    @app.get("/users/{username}")   async def read_user(username: str):       return {"username": username}
    

    访问 http://127.0.0.1:8000/users/john_doe,预期响应为 {"username": "john_doe"}。

  • • 布尔类型 (bool)虽然不常见,但路径参数也可以是布尔类型。

    @app.get("/features/{feature_enabled}")   async def feature_status(feature_enabled: bool):       return {"feature_enabled": feature_enabled}
    

    访问 http://127.0.0.1:8000/features/true 或 http://127.0.0.1:8000/features/false,预期响应分别为 {"feature_enabled": true} 和 {"feature_enabled": false}。

  • • 复合类型示例

  • • 列表类型 (List[int])列表类型通常不直接用作路径参数,但可以这样声明。

    from typing import List   @app.get("/items/{item_ids}")   async def read_items(item_ids: List[int]):       return {"item_ids": item_ids}
    
  • • 字典类型 (Dict[str, str])字典类型同样少见,但可以展示类型标注的灵活性。

    from typing import Dict   @app.get("/config/{settings}")   async def read_config(settings: Dict[str, str]):       return {"settings": settings}
    
  • • 自定义类型示例

  • • Pydantic模型

  • Pydantic模型用于更复杂的请求处理和验证。

    from pydantic import BaseModel   from typing import Optional   class Item(BaseModel):       name: str       description: str   @app.get("/items/{item_id}")   async def read_item(item_id: int, q: Optional[str] = None):       item = {"item_id": item_id}       if q:           item.update({"q": q})       return item
    
  • • 枚举类型 (Enum)

  • 枚举类型确保参数值只能是预定义选项之一。

    from enum import Enum   class ModelName(str, Enum):       alexnet = "alexnet"       resnet = "resnet"       lenet = "lenet"   @app.get("/models/{model_name}")   async def get_model(model_name: ModelName):       return {"model_name": model_name.value}
    

    访问 http://127.0.0.1:8000/models/resnet,预期响应为 {"model_name": "resnet"}。

  • 可以通过 ModelName.lenet.value 来获取值 "lenet"。

数据校验

FastAPI 内置了强大的数据校验机制,能够确保传入的路径参数、查询参数、请求体等符合预期的类型。以下是一个使用 FastAPI 进行数据校验的例子:

整数类型校验 (int)

当你在路径操作中声明一个整数类型的参数时,FastAPI 会自动校验传入的值是否为有效的整数。

@app.get("/items/{item_id}")   async def read_item(item_id: int):       return {"item_id": item_id}

如果你尝试使用非整数值访问此路径,例如访问 http://127.0.0.1:8000/items/foo,FastAPI 会返回一个清晰的错误响应:

{       "detail": [           {               "type": "int_parsing",               "loc": [                   "path",                   "item_id"               ],               "msg": "Input should be a valid integer, unable to parse string as an integer",               "input": "foo",               "url": "https://errors.pydantic.dev/2.5/v/int_parsing"           }       ]   }

这个错误响应指出了问题所在:item_id 应该是一个整数,但是接收到了字符串 “foo”。

浮点数类型校验 (float)

FastAPI 对浮点数类型的校验也同样严格。如果你声明的参数类型为 float,那么即使传入的是数值,但如果是整数,也会被认为不符合类型要求。

例如,对于以下路径操作:

@app.get("/items/{item_id}")   async def read_item(item_id: float):       return {"item_id": item_id}

访问 http://127.0.0.1:8000/items/4.2 是有效的,因为 “4.2” 可以被解析为浮点数。但是,如果访问 http://127.0.0.1:8000/items/4,即使 “4” 是一个数值,它也不是一个浮点数,因此会触发一个类型错误。

错误信息

FastAPI 提供的错误信息非常有助于调试。错误详细信息包括:

  • • loc:错误发生的具体位置,例如路径参数 ["path","item_id"]

  • • msg:错误的描述信息,例如 "Input should be a valid integer"。

  • • type:错误的类型,例如 "int_parsing"。

这些信息可以帮助开发者快速定位问题并采取相应的措施进行修复。

路径的路径参数

  • • 实现路径参数包含多级路径的情况,如处理/files/home/johndoe/myfile.txt请求。

  • • 利用路径转换器处理特殊字符,如路径分隔符/。

技巧介绍

    1. **路径参数声明:**这里的{file_path:path}表明file_path能够匹配任何级别的目录结构。
  • • 使用:path转换器来指示路径参数可以包含任意路径结构。

    /files/{file_path:path}
    
    1. **路径操作函数定义:**参数file_path会接收完整的路径字符串,如home/johndoe/myfile.txt。

  • • 在路径操作函数中,通过类型注解定义路径参数。

    @app.get("/files/{file_path:path}")   async def read_file(file_path: str):       return {"file_path": file_path}
    
    1. **处理斜杠开头路径:**FastAPI内部处理时会正确解析,不会影响参数值。
  • • 若文件路径以斜杠开头(如/home/johndoe/myfile.txt),URL中会展现为双斜杠序列(//)。

    /files//home/johndoe/myfile.txt
    

启动

在FastAPI应用中,通常使用Uvicorn作为ASGI服务器来运行应用程序。

# 如果当前模块是主模块(直接运行而非导入)   if __name__ == "__main__":       # 导入uvicorn模块       import uvicorn              # 使用uvicorn.run方法启动FastAPI应用       # 参数说明:       # - app:要运行的FastAPI应用实例       # - host:监听的IP地址,默认为'127.0.0.1',这里显式指定为本地环回地址       # - port:监听的端口号,默认为8000,这里同样明确指定       # - reload:是否启用自动重载,默认为False,在开发模式下设置为True可以让修改后的代码立即生效,无需重启服务器       uvicorn.run(app,                   host="127.0.0.1",                   port=8000,                   reload=True)

当然,除了基本的host, port, 和 reload 参数外,uvicorn.run()还支持一些其他常用的配置选项,这些选项帮助你更细致地控制Uvicorn服务器的行为。以下是几个重要参数的简要说明:

    1. log_level: 控制日志级别,可选值包括"debug", "info", "warning", "error", "critical"。默认值通常是"info",在开发过程中,你可能希望设置为"debug"以获得更详细的日志输出。
    1. workers: 指定要启动的工作进程数量,这对于提高并发处理能力特别有用。在多核CPU环境下,增加工作进程数可以显著提升应用性能。默认情况下,Uvicorn会根据环境自动选择合适的工作者数量,但在某些场景下,你可能需要手动指定。
    1. access_log: 一个布尔值,决定是否记录HTTP访问日志。默认为True,如果你不希望记录这些日志(比如在生产环境中出于性能考虑),可以设置为False。
    1. timeout_keep_alive: 定义空闲连接在关闭前保持活动的秒数。默认值是5秒,根据你的应用特性,你可能需要调整这个值。
    1. proxy_headers: 是否信任X-Forwarded-*头部信息,这对于在反向代理(如Nginx)后运行应用非常重要。设置为True会允许Uvicorn根据这些头信息正确解析客户端的真实IP地址等信息。
    1. root_path: 如果你的应用部署在子路径下,可以通过这个参数指定根路径,这样路由也能正确解析。
    1. limit_concurrency: 限制同时处理的请求的最大数量,有助于防止服务过载。
    1. limit_max_requests: 设置每个工作进程在被重启前能处理的最大请求数量,有助于防止内存泄漏等问题。

示例代码,包含更多参数的使用:

# 使用uvicorn启动FastAPI应用,详细配置如下:   uvicorn.run(       # FastAPI应用实例       app,       # 监听的IP地址,这里设置为本地环回地址,局域网内访问写”0.0.0.0“       host="127.0.0.1",       # 监听的端口号       port=8000,       # 开启自动重载,开发时非常有用,代码改动将自动重启服务器       reload=True,       # 设置日志级别为debug,便于开发时查看详细日志信息       log_level="debug",       # 启动的工作进程数,这里设置为2,适合多核CPU环境提高并发处理能力       workers=2,       # 关闭访问日志记录,减少日志输出噪音,根据需要可开启       access_log=False,       # 保持活动连接超时时间,单位秒,此处设置为10秒后关闭无活动连接       timeout_keep_alive=10,       # 启用代理头部信任,当应用位于反向代理后方时,用于正确解析客户端信息       proxy_headers=True,       # 指定应用部署的根路径,如果应用不是部署在域名根部,需设置此值,如"/my-app"       root_path="/my-app",       # 限制最大并发请求数,防止服务过载,根据服务器性能合理设定,这里设为100       limit_concurrency=100,       # 工作进程处理的最大请求数量到达此值后将重启,有助于防止内存泄漏,设为5000       limit_max_requests=5000   )

通过这些参数,你可以根据实际部署环境和应用需求,微调Uvicorn服务器的配置,达到最佳的性能和管理效果。

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如何评价最近爆红的FastAPI? 一度觉得sanic是pythonweb框架的未来,支持异步,性能好,类flask的语法,代码简单,没想到被fastapi截胡了,fastapi在github的上星速度非常快。它在怎么样把后端api做好的这件事情上,做的比sanic更全面,更彻底。是用于构建WebAPI的现代、开源、快速、高性能的Web框架,它基于Python3.6+标准类型提示,支持异步,正如它的名字,FastAPI就是为构建快速的API而生。... 阅读详情

相关推荐

FastAPI Web框架教程 第1章 快速上手

FastAPI 是一个。

此博客内容主要是小可日常工作中的一些问题解决的记录整理而成 3506

Python高性能web框架--Fastapi快速入门

fastapi是建立在Starlette和Pydantic基础上的,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。 Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择。 - 快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic),是最快的 Python web 框架之一。 - 高效编码:提高功能开发速度约 200% 至 300%。 - 更少bug:减少约 40% 的人为bug

景天科技苑 2万+

FastAPI系列教程03:FastAPI路由(router)

本节将对FastAPI路由进行展开分析,进一步了解FastAPI的路由规则、路由管理器以及路由的注册和执行过程。

GeekABC 3266

Python从入门到精通1:FastAPI

FastAPI 是一个基于 Python 3.8+ 的现代 Web 框架,专注于构建高性能 RESTful API。基于 Starlette 和 Pydantic:提供异步支持和严格的数据验证。自动生成 API 文档:内置 Swagger UI 和 ReDoc,开发者无需手动维护文档。类型提示(Type Hints):利用 Python 的类型系统实现输入参数验证和代码提示。FastAPI 凭借其高性能和开发效率,已成为构建现代 API 的首选框架。基础路由设计与参数验证。

m0_74488469的博客 2万+

神领物流-day01-项目概述

公司从2019年开始业务快速扩张,网点数量从138家扩展至540家,车辆从170台增长到800台。同时,原有的系统非常简单,比如车辆的调度靠人工操作、所有的货物分拣依靠人员,核心订单数据手动录入,人效非常低。随着业务不断演进,技术的不断提升,原有运输管理系统已无法满足现有快速扩展下的业务需求,但针对现有系统评估后发现,系统升级成本远高于重新研发。因此,公司决定基于现有业务体系进行重新构建,打造一套新的TMS运输系统,直接更替原有系统。

心飞为你飞 2255

Retinanet训练自己的数据(2):模型准备

  在上一篇博客中,我们已经处理好了模型需要的数据集,下一步就是准备模型去训练数据。这里提醒一句,在制作数据时,最好将训练集和测试集人为分开。像Google tensorflow API,在制作数据时可以按比例自动生成,但是在上一篇文章中产生的数据(annotation.csv )其实都是用来训练的,如果你把自己的数据集全都转换了,那么恭喜你,最后你会发现没有数据集去测试了。   下面开始模型准...

mingyang_wang的博客 5884

FastAPI 从入门到精通,一篇就够(超详细实战教程)

本文是 FastAPI 从入门到精通的超详细实战教程,从零讲解 FastAPI 环境搭建、路由定义、请求参数、路径参数、查询参数、请求体、响应模型、异步接口、Swagger 自动文档、数据库集成等核心知识点。内容通俗易懂、案例可直接运行,帮助 Python 开发者快速掌握现代高性能 Web API 开发。

Hello Java、Hello World! 1万+

《UVM实战》学习笔记——第三章UVM基础

uvm基础,常见的派生类,config db机制,打印信息等

qq_42135020的博客 5176

Fastapi进阶用法,路径参数,路由分发,查询参数等详解

在FastAPI中,我们可以使用include_router函数将一个或多个路由添加到应用程序中。 APIRouter 就给我们提供了在多个文件中注册路由的功能。

景天科技苑 3801

PromptBio实战:如何用AI对话搞定转录组数据分析(附详细操作截图)

本文详细介绍了如何利用PromptBio平台通过AI对话完成转录组数据分析,无需编程基础即可实现从数据上传到结果解读的全流程。文章包含详细的操作截图和参数配置建议,帮助科研人员快速掌握这一生信分析工具,显著提升研究效率。

weixin_30872157的博客 135

Unity-RetargetPro3-动画插件试用

一个名气大于实战的插件。

大话程序员 711

Python开发从入门到精通:Web框架FastAPI实战

本文介绍了Python Web框架FastAPI的实战应用,重点内容包括:FastAPI的高性能特性、简单易用的API设计、自动文档生成功能;快速入门指南展示了如何创建第一个FastAPI应用并运行;详细讲解了路由定义(基本路由、路径参数、查询参数、请求体)、请求处理(表单数据、文件上传)、响应处理(状态码、响应模型、错误处理);还介绍了中间件实现和依赖注入机制。通过具体代码示例,帮助开发者快速掌握FastAPI的核心功能,适合从入门到精通的系统学习。

编程世界如山海,探索不止。 1万+

fatal: unable to access ‘https://github.com/Stability-AI/stablediffusion.git/‘解决方案

本文主要介绍在安装 stable-diffusion-webui 时出现的 fatal: unable to access 'https://github.com/Stability-AI/stablediffusion.git/': Failed to connect to github.com port 443 after 21071 ms: Couldn't connect to server 问题的解决方案,希望能对你有所帮助。

水滴的博客 5685

FastAPI路由实战:从入门到精通

FastAPI是一个基于Python类型提示的现代API框架,其核心优势在于将路由定义、参数提取、数据校验和文档生成统一整合。文章详细介绍了FastAPI的路由系统,包括路径参数、查询参数、请求体处理,以及如何使用Query、Path、Body等工具精确控制参数来源。同时阐述了response_model对输出数据的过滤作用,依赖注入(Depends)机制,以及通过APIRouter组织大型项目的路由结构。特别强调了FastAPI自动生成OpenAPI文档的特性,使开发者在定义路由时就能同步完成接口文档的构

a503244552的博客 817

D16: OpenClaw + Notion API:知识管理新玩法

本文介绍了如何利用OpenClaw连接Notion API构建自动化知识管理系统。文章首先分析了传统知识管理的痛点,包括信息分散、更新不及时等问题,并对比了Notion与其他工具在API完整性、结构化程度等方面的优势。接着详细说明了Notion API的获取和授权流程,并设计了包含项目知识库、技术决策库和会议纪要库的三层架构系统。最后通过会议纪要自动归档的实战案例,展示了如何通过YAML配置实现从飞书会议到Notion的自动化知识沉淀流程。该方案能有效解决团队知识管理中的信息碎片化问题,提升协作效率。

刘一说的IT专栏 274

从数据读取到业务事件:理解 ABAP CDS 视图的目的与选型(含 RAP、扩展与分析场景)

CDS视图在SAP S/4HANA中不仅是数据查询工具,更是语义模型和运行时能力的载体。它通过分层架构(基础视图、组合视图、消费视图等)实现数据复用与场景适配,支持UI、分析、事务处理等多样化消费。视图类型包括提供数据访问的接口视图(I_前缀)、消费视图(C_前缀)和事务视图,以及不提供数据访问的扩展视图。这种分层设计确保了数据模型的稳定性与扩展性,同时支持自定义字段和上下文感知分析。正确理解CDS视图的用途和分层规则,能帮助开发者构建更健壮、可维护的SAP应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 302

【Python】FastAPI入门

WSGI,(WEB SERVER GATEWAY INTERFACE),Web服务器网关接口,是一种Web服务器网关接口,它是一个Web服务器(如Nginx,uWSGI等服务器)与Web应用(如Flask框架写的程序)通信的一种规范。当前运行在WSGI协议之上的Web框架有Bottle,Flask,Django。异步网关协议接口() ,一个介于网络协议服务和Python应用之间的标准接口,能够处理多种通用的协议类型,包括HTTP,HTTP2和WebSocket。WSGI和ASGI的区别。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

FastAPI 由入门到精通

本主要讲解 Python 中一个非常流行的接口开发框架 FastAPI,其中包含实际使用示例,为以后开发做为资料参考。

王珂的专栏 1127

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Python开发FastAPI从入门到精通

想用Python写API快到飞起?FastAPI就是你的“代码瑞士军刀”!这本书不讲玄学,只教真功夫——从零搭建高性能API,到微服务、分布式事务、熔断限流,连异步编程都能玩成魔法! 小白也能变大神:路由、依赖注入、数据库集成手把手教学;老鸟直呼内行:服务网格、Saga模式、K8s部署实战全覆盖。附赠三个硬核项目:任务管理、在线商城、实时聊天系统,代码跑起来比奶奶织毛衣还丝滑!别说我没提醒你:翻开这本书,你的代码可能会快到自己都追不上!🚀

YunWisdom 8126

FastAPI框架入门教程

Pydantic 是一个数据验证和设置管理库,广泛应用于 FastAPI 中。它通过 Python 类型注解和数据类(BaseModel)来进行数据验证、转换和管理。自动数据验证:通过类型注解对输入数据进行验证。数据转换:将输入的数据转换为指定的类型。错误处理:当数据验证失败时,Pydantic 会提供详细的错误信息。Pydantic 是 FastAPI 的核心组成部分,它通过验证请求数据的结构和类型来确保数据安全与可靠性。Pydantic 使用 Python 类型注解(type hints。

2403_88863963的博客 1158

FastAPI 全攻略:从入门到生产,一篇就够了

FastAPI 凭借其类型提示驱动、自动文档生成、异步高性能、依赖注入系统四大核心优势,已经成为 Python Web 开发的主流框架选择。✅ 环境搭建与基础应用✅ 路由设计与请求参数处理✅ Pydantic 数据验证✅ 依赖注入(Depends)系统✅ 中间件与 CORS 配置✅ SQLAlchemy 2.0 异步数据库集成✅ 测试与生产部署掌握这些内容,你已经可以独立开发一个生产级别的 FastAPI 应用了。

xiaoyu❅的博客 1460

FastAPI 入门教程 #04:FastAPI 路由与请求方法

在 Web 开发中,“路由(Route)”指的是将 URL 路径与对应的处理逻辑(函数)关联起来。 FastAPI 中通过装饰器(如 @app.get()、@app.post() 等)来定义路由,告诉框架:当客户端访问某个路径,并使用某个方法时,应该调用哪个函数来处理请求。

程序员「阿基米东」的编程之旅 1439

【WitSystem】FastAPI路由详解

FastAPI 路由机制提供了灵活的 HTTP 请求映射方式,主要包括基础路由定义、路径参数和查询参数处理。通过 APIRouter 可实现路由分组管理,支持前缀、标签配置和嵌套路由,适合大型项目开发。高级特性涵盖响应状态码设置、接口文档描述、标签分类和依赖注入等功能,其中依赖项机制特别适用于权限校验等横切关注点。这种设计使 FastAPI 既能处理简单接口,也能构建复杂的 RESTful API 系统。

循环编织时间年轮,递归叩问存在本质,谁能在硅基荒原上,种出思想的玫瑰…… 2037

【LLM】FastAPI入门教程

FastAPI 是一个现代的、快速(高性能)的 Web 框架,用于构建 API(应用程序编程接口)。它基于 Python 3.7+,使用了 Python 类型提示(type hints),并且具有自动化的文档功能。 (1)安装fastapi ```python # 安装 FastAPI 和一个异步 HTTP 服务器(比如 Uvicorn) pip install fastapi uvicorn ``` (2)创建一个简单的 FastAPI 应用 `main.py`内容如下: ```python from

发现问题,并解决问题,批判性思维 1132

AI Agent工具调用入门:FastAPI + LangGraph从零到精通,详细教程+实战项目,收藏这一篇就够了!

你是否曾好奇,那些强大的 AI 助手是如何做到不仅能聊天,还能帮你查询信息、执行计算的?今天,我们就来揭开这层神秘的面纱,亲手构建一个属于自己的、简易版的 AI Agent。

m0_59164520的博客 975
上一篇: 46张图带你了解线缆、WIFI、以太网协议和网络寻址
下一篇: 路由器后面再接一个路由器怎么设置?
网络安全大白
博客等级 码龄5年 7305粉丝 698原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值