首页
学习
活动
专区
圈层
工具
发布

从 API 小白到 AI 应用开发者,我为什么选择 FastAPI 写 20 多篇深度技术长文?

于是我决定在一个新的内部数据分析项目中尝试使用 FastAPI,结果让我非常惊喜: 开发效率提升了 3 倍:项目的核心业务接口(数据上传、查询、导出)只用了一天半就开发完成,而且自动生成了完整的 OpenAPI...2.2 自动生成 OpenAPI 文档 FastAPI 的另一个核心优势是自动生成 OpenAPI 文档,它可以根据代码中的类型注解和装饰器自动生成完整的 API 文档,包括接口的参数、返回值、错误码等信息...自动生成 OpenAPI 文档:LLM 应用的 API 接口通常比较复杂,自动生成 OpenAPI 文档可以节省时间,提高准确性。...第 3 篇 一文搞懂 FastAPI 的 HTTP 请求方法,GET/POST/PUT/DELETE 全攻略 介绍 FastAPI 的 HTTP 请求方法、路径参数、查询参数、请求体、表单数据的使用。...第 17 篇 如何用 FastAPI 实现 LLM 应用的多智能体协作,解决复杂问题 介绍多智能体协作的原理、LangChain 的安装和配置、FastAPI 接入 LangChain 的实现、多智能体对话系统的开发

10310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    动作入门指南

    为GPT创建一个动作需要3个步骤:构建一个API以OpenAPI YAML或JSON格式记录API在ChatGPT UI中将Schema暴露给你的GPT接下来的这部分内容将重点介绍通过为GPT定义自定义动作来创建一个待办事项列表...例如,如果你有一个社交媒体API,你可能希望模型通过GET请求从站点访问内容,但阻止模型能够评论用户的帖子,以减少垃圾邮件的机会。OpenAPI规范是包装在你的API之上的封装器。...你可以在GPT创建者的UI中导入现有的OpenAPI规范或从头开始创建一个新的。发送文件POST请求可以包含最多十个文件(包括DALL-E生成的图像)从对话中。...要使文件成为POST请求的一部分,参数的名称必须命名为openaiFileIdRefs,说明应该向模型解释你的API预期的文件类型和数量。...内联选项数组的每个元素是一个JSON对象,其中包含:名称 文件的名称。这将对用户可见。mime_type 文件的MIME类型。这用于确定资格以及哪些功能可以访问该文件。

    82110

    OpenAPI 3.0 规范-食用指南

    paths: {} 一个极简的 OpenAPI 文件就诞生了,它的展示方式如下: 上面灰色的 1.0 是指你 server 的版本 OAS3 指的是你所使用的 OpenAPI 规范的版本 info...' servers 对象支持多参数配置,你可以指定多服务器(开发,测试,生成等)的 URL,用户可以从下拉框选择不用服务器的 URL 发起请求,配置和预览效果如下: servers: - url:...:参数序列化方式 explode:与数组相关的参数 schema:参数的模型 example:媒体类型的示例 requestBody:请求主体的描述,还可以包含一个指向 components 的 $ref...:标识该 path 是否被弃用 security:仅用于覆盖全局的安全授权方法 servers:仅用于覆盖全局的服务器访问对象 大多数情况下不需要声明那么多的属性,以下是一个端点的 operation...Swagger UI 下方通过 Schemas 进行展示,如下: security 对象 除了部分 Demo 示例外,大部分的 Web 服务都是需要经过身份认证的才能访问,security 就是用于描述

    15.2K31

    🚀 突破性更新!JeecgBoot v3.8.1 震撼来袭 — 引领 AI 低代码开发新纪元!

    、linux、macOS三大平台) 【新功能】“基于AK和SK认证鉴权OpenAPI功能” 解决对外API需求 【新功能】用户导入支持导入部门和角色 【新功能】提供新版uniapp的代码生成器模板 【新功能...的linkageConfig中接口请求的参数发生改变,如何触发JVxeTable去更新linkageConfig 进行重新请求?...· Issue #7812 表格列设置组件异常(ColumnSetting.vue) · Issue #7996 3.7.2 错误的构造函数 · Issue #8049 ApiSelect组件中, 初始化值存在缺失的逻辑判断导致单选框的值被错误地写入数组值...· Issue #8309 AutoPOI导出的单元格格式建议加一个常规类型 · Issue #8248 我的部门管理,部门负责人,在管理我的部门的时候,可以添加子级部门么?...目前提供四套风格模板(单表两套、一对多两套) 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。

    58420

    FastAPI从入门到实战(0)——初识FastAPI

    FastAPI特性 基于开放标准 用于创建 API 的 OpenAPI 包含了路径操作,请求参数,请求体,安全性等的声明。...验证 校验大部分(甚至所有?)的 Python 数据类型,包括: JSON 对象 (dict). JSON 数组 (list) 定义成员类型。 字符串 (str) 字段, 定义最小或最大长度。...所有的依赖关系都可以从请求中获取数据,并且增加了路径操作约束和自动文档生成。 即使在依赖项中被定义的路径操作 也会自动验证。 支持复杂的用户身份认证系统,数据库连接等等。 不依赖数据库,前端等。...FastAPI 实际上是 Starlette的一个子类。所以,如果你已经知道或者使用 Starlette,大部分的功能会以相同的方式工作。...验证器使我们能够简单清楚的将复杂的数据模式定义、检查并记录为 JSON Schema。 你可以拥有深度嵌套的 JSON 对象并对它们进行验证和注释。

    4.3K20

    JeecgBoot 低代码 v3.9.0 里程碑发布:支持 MCP 与插件,AI 聊天式业务,POI 升级至 5 版

    ,补充online中db类型缺失的Long类型支持为online报表添加AI生成SQL能力 支持主子表生成测试数据功能,完善Online AI测试数据生成 修复online表单存在的严重BUG,影响所有配置查询相关表单功能...修正online表单开发中开关控件类型字段详情页显示原始值问题(查看详情页时显示开关状态) 修复内嵌子表主题(一对多)列表展开明细时提示无权限访问 修复JS增强弹窗中popup的onChange事件无效问题...修复下拉搜索框绑定数据字典后导出数据报错问题 解决online表单内嵌风格中double类型数据导出带小数点“.0”导致导入报错问题 修正online建表生成的日期类型字段控件为输入框问题 解决升级...‘时在useListPage 的查询接口中仍旧是获取到类型为string · Issue #89763.8.3-springboot3 AI模型配置中,测试连接功能被取消?...导入导出)│ ├─平台移动自适应支持│ ├─提供新版uniapp3的代码生成器模板├─系统监控│ ├─基于AK和SK认证鉴权OpenAPI功能│ ├─Gateway路由网关│ ├─性能扫描监控

    36410

    ⚡什么是 OpenAPI,优势、劣势及示例

    OpenAPI 仅处理 RESTful API,而不是其他类型的 API。3.“...允许人类和计算机发现和理解服务的能力...”:人类可以直接再 API 的 OAS 定义生成的文档中进行阅读。...在阅读 API 规范时,你会了解到可以发送的请求类型以及期望从 API 接收到的响应。此外,规范还描述了影响返回信息的可用选项。就像传统规范一样,你可以了解一个系统、其组件以及交互方式。...正如前面提到的,OpenAPI 文档是严格结构化的。相关键值对以对象或对象数组的形式分组。OpenAPI 规范的高级对象就像传统规范文档中的章节。...Components: 一个包含请求体、响应模式和安全方案的可复用模式的对象。此部分中的模式在规范的某些部分(如路径对象)中使用 \$ref 标签引用。...Security: 一个声明授权请求的安全方案类型的对象。安全对象是全局定义的,也可以精确指定去(安全方案覆盖)覆盖。Tags: 包含元数据的对象。解析规范的工具可以利用这个对象。

    2.2K10

    JeecgBoot开源低代码平台 v3.8.2震撼发布:AI低代码革命,智能开发新纪元!

    表单 一对多erp模式下子表刷新问题 · Issue #8575springboot3分支,knife4j不能正确显示文档,但是swagger-ui和v3/api-docs正常 · Issue #8638Swagger3...6.提供强大的报表和大屏可视化工具,支持丰富的数据源连接,能够通过拖拉拽方式快速制作报表、大屏和门户设计;支持多种图表类型:柱形图、折线图、散点图、饼图、环形图、面积图、漏斗图、进度图、仪表盘、雷达图、...7.低代码能力:在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码),在线配置零代码开发、所见即所得支持23种类控件。...11.前端UI提供丰富的组件库,支持各种常用组件,如表格、树形控件、下拉框、日期选择器等,满足各种复杂的业务需求 UI组件库文档。...导入导出)│ ├─平台移动自适应支持│ ├─提供新版uniapp3的代码生成器模板├─系统监控│ ├─基于AK和SK认证鉴权OpenAPI功能│ ├─Gateway路由网关│ ├─性能扫描监控

    58010

    Spring Cloud OpenFeign集成SpringDoc OpenAPI3:实现代码即文档的自动化API生成

    多版本管理复杂性加剧 在微服务环境中,不同服务可能运行着多个API版本。...通过将文档作为代码的一部分进行管理,企业能够建立起更加健壮和透明的微服务生态系统。...SpringDoc OpenAPI3:自动化API文档生成的利器 SpringDoc的核心工作机制 SpringDoc OpenAPI3的核心价值在于其智能的运行时分析能力。...与之前的Swagger 2.0相比,OpenAPI 3.0在以下方面有显著改进: 组件化架构:允许将API的不同部分(如参数、响应、示例)定义为可重用的组件,大大提升了文档的可维护性。...,而非传统的Eureka/Consul 文档生成异常 复杂参数类型(如嵌套对象、泛型集合)可能无法被SpringDoc正确解析,导致文档缺少字段说明。

    26810

    【剪映小助手】批量向现有草稿中添加视频素材

    特别适合创建复杂的多视频组合场景,如画中画效果、视频拼接、过渡动画等。...draft_urlstring✅-目标草稿的完整URLvideo_infosstring✅-视频信息数组的JSON字符串alphanumber❌1.0全局透明度(0-1)scale_xnumber❌1.0X...轴缩放比例scale_ynumber❌1.0Y轴缩放比例transform_xnumber❌0X轴位置偏移(像素)transform_ynumber❌0Y轴位置偏移(像素)video_infos数组结构字段名类型必填默认值说明...:X/Y轴方向的位置偏移,单位像素正值向右/下移动,负值向左/上移动以画布中心为原点遮罩类型支持的遮罩类型:圆形-圆形遮罩效果爱心-爱心形状遮罩星形-星形遮罩矩形-矩形遮罩线性-线性渐变遮罩镜面-镜面反射遮罩转场效果...uuid"],"segment_ids":["segment1-uuid","segment2-uuid","segment3-uuid"]}响应字段说明字段名类型说明draft_urlstring更新后的草稿

    22310

    JeecgBoot低代码 v3.8.3 大版本发布,组织架构革新+全面迈向 Spring Boot 3 时代

    属性时,相邻的两个枚举下拉,如果值是一样的,但是label不一样,会把第二个下拉的显示值渲染到第一个下拉中 · Issue #8593高级编排类型的AI应用大模型返回的结果在chat页面不能流式输出 ·...7.低代码能力:在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码),在线配置零代码开发、所见即所得支持23种类控件。...11.前端UI提供丰富的组件库,支持各种常用组件,如表格、树形控件、下拉框、日期选择器等,满足各种复杂的业务需求 UI组件库文档。...24.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制;也提供了基于AK和SK认证鉴权的OpenAPI功能。...导入导出)│ ├─平台移动自适应支持│ ├─提供新版uniapp3的代码生成器模板├─系统监控│ ├─基于AK和SK认证鉴权OpenAPI功能│ ├─Gateway路由网关│ ├─性能扫描监控

    45710

    你确定你的 REST API 真的符合 REST 规范?

    不过,OpenAPI 的结构有两个明显的缺点:过于复杂和冗余。例如,一个小项目就可以产生数千行 JSON 规范。手动维护该文件变得有些难。这对开发者来说是一个威胁。...3.模型序列化 几乎所有现代服务器框架都以这样或那样的方式使用对象关系映射(ORM)。这意味着 API 使用的大部分资源是由模型及其实例和集合表示的。...强制转换查询字符串类型 如果你的 API 由于某种原因使用 application/x-www-form-urlencoded MIME类型而不是 application/json 来处理请求,请求体将看起来像这样...'value', param2: '777', param3: 'false' } 在这种情况下,请求将无法通过模型验证,因此你需要手动验证正确的参数格式,并将其转换为正确的类型。...基于客户端类型分离端点 通常,相同的端点会根据客户端类型或发送请求的用户角色返回不同的数据。例如,对于移动应用程序用户和后台管理人员来说,GET /uses 端点可能存在很大的不同。

    1.3K20

    swagger生成接口文档

    1.Swagger介绍 OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格式或API定义的语言,来规范RESTful...(https://github.com/OAI/OpenAPI-Specification) Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个...:一个请求参数 @ApiImplicitParams:多个请求参数 @ApiImplicitParam属性: 属性 取值 作用 paramType 查询参数类型 path 以地址的形式提交数据...query 直接跟参数完成自动映射赋值 body 以流的形式提交 仅支持POST header 参数在request headers 里边提交 form 以form表单的形式提交 仅支持POST...dataType 参数的数据类型 只作为标志说明,并没有实际验证 Long String name 接收参数名 value 接收参数的意义描述 required 参数是否必填 true

    1.8K30

    『Swagger 上手』

    ,平时的上网就是在和服务器交互:向服务器发送请求,服务器接收到请求之后,根据请求的动作,进行相应的动作响应。...这里到不是具体的分析文件内容的值,而是分析配置文件的内容的数据类型。...: xiewei 数组 name :["xiewei1", "xiewei2", "xiewei3"] name: - xiewei1 - xiewei2 - xiewei3 纯量 "xiewei...微信截图_20180130214149.png 配置文件看上去很复杂,其实都是在实现这么一句话: API的基本组成部分,包括提供给API消费者的不同HTTP请求方法、路径,请求和消息体中的参数,以及返回给消费者的不同...梳理了下,配置文件主要包括下面三个部分: API 的描述信息 API 的URL 信息 API 的操作 http 动作 url 请求 响应 一个简易的配置文件形式大概是这样的: swagger: "2.0

    1.6K70

    从 0 到 1 设计可靠的 OpenAPI:全面拆解了OpenAPI开放平台的设计逻辑。

    API 网关:一个具体服务组件,作为第三方调用 API 的统一入口,本质是 “处理调用过程的工具”。核心作用是管控与转发,负责接收请求、验证合法性、路由至后端服务、返回响应,部分还支持限流、监控。...URI 命名贴合资源本身,不包含操作动词,仅通过 HTTP 方法区分操作类型,降低理解成本。 3....一份优质的API文档应包含接口功能描述、请求参数(类型、必填项、示例)、响应结构(字段含义、错误码说明)、调用示例等核心内容,是降低开发者接入成本、提升使用体验的关键。 5....六、架构设计 OpenAPI 开放平台的架构设计需以 “稳定可靠、灵活扩展、安全可控” 为核心原则,既要适配企业内部业务系统的复杂现状,也要满足外部合作伙伴的高效接入需求。...授权中心申请 access-token; step3:第三方应用凭有效 access-token 向OpenAPI网关 发起资源请求; step4:OpenAPI网关 完成认证,将 资源请求 调度到

    52410

    一文吃透接口调用神器RestTemplate

    POST 请求 4.1、post 请求常见的 3 种类型 4.2、普通表单请求 4.3、上传本地文件 4.4、通过流或字节数组的方式上传文件 4.5、复杂表单:多个普通元素+多文件上传 4.6、发送 json...4.1、post 请求常见的 3 种类型 http 请求头中的 Content-Type 用来指定请求的类型,常见的有 3 种 Content-Type 说明 application/x-www-form-urlencoded...页面中普通的 form 表单提交时就是这种类型,表单中的元素会按照名称和值拼接好,然后之间用&连接,格式如:p1=v1&p2=v2&p3=v3然后通过 urlencoded 编码之后丢在 body 中发送...下面看则种方式的案例。 4.2、普通表单请求 普通表单默认为 application/x-www-form-urlencoded 类型的请求。...:多个普通元素+多文件上传 接口 /** * 复杂的表单:包含了普通元素、多文件 * * @param userDto * @return */ @PostMapping("/test/form3

    14.6K65

    我们为什么从 REST 转向 gRPC

    gRPC 的接口规范 创建 gRPC 服务的第一步是在.proto 文件中定义好接口。下面的代码是一个接口的定义,它定义了一个简单的远程过程调用”Lookup“以及相应的输入和输出类型。...当然,真正的服务定义规范比这个要长得多,但也不会太复杂,只是会多一些用于定义方法的 rpc 语句和一些用于定义数据类型的 message 语句。...相比 gRPC,OpenAPI 的定义更难懂,也更啰嗦,结构也更复杂(8 层的缩进)。 OpenAPI 的规范验证比 gRPC 要困难一些,至少对于内部服务来说。...而我之前设计的 API 只返回一个单独的 JSON 数组,在服务器端收集到所有结果之前是不会向客户端发送任何数据的。...我们的 API 要求客户端轮询搜索结果,先是发送一个 POST 请求发起搜索,然后再不断发送 GET 请求获取搜索结果。响应消息中包含了一个用于表示搜索是否已完成的字段。

    1.8K60

    【剪映小助手】获取图片出入场动画列表

    更多文档更多详细文档和教程请访问:https://docs.jcaigc.cn请求参数展开代码语言:JSONAI代码解释{"mode":0,"type":"in"}参数说明参数名类型必填默认值说明modeinteger...动画2=仅免费动画默认值:0动画类型参数type:动画类型(必填)"in"=入场动画(图片出现时的效果)"out"=出场动画(图片消失时的效果)"loop"=循环动画(图片持续播放的效果)动画模式说明模式值模式名称描述...0所有返回所有动画(包括VIP和免费)1VIP仅返回VIP动画2免费仅返回免费动画动画类型说明类型值类型名称描述in入场动画图片出现时的动画效果out出场动画图片消失时的动画效果loop循环动画图片持续播放的循环动画效果响应格式成功响应...effectsarray图片动画对象数组单个动画对象字段说明字段名类型说明resource_idstring动画资源IDtypestring动画类型(in/out/loop)category_idstring...标识:部分动画可能需要VIP权限才能使用工作流程验证必填参数(type)验证可选参数(mode)的有效性根据type和mode筛选图片动画数据返回符合条件的动画对象数组服务端自动处理数据格式化相关接口添加图片获取文字动画添加特效项目资源

    19910

    集高性能高可扩展性于一体的声明式http客户端库-WebApiClientCore

    参数值作为Form表单字段与值 只支持简单类型参数 FormDataTextAttribute 参数值作为FormData表单字段与值 只支持简单类型参数 Filter特性 特性名称 功能描述 备注...ApiFilterAttribute Filter特性抽象类 LoggingFilterAttribute 请求和响应内容的输出为日志的过滤器 自解释参数类型 类型名称 功能描述 备注 FormDataFile...表单集合处理 按照OpenApi,一个集合在Uri的Query或表单中支持5种表述方式,分别是: Csv // 逗号分隔 Ssv // 空格分隔 Tsv // 反斜杠分隔 Pipes // 竖线分隔 Multi... 原始响应消息文本 接口声明示例 Petstore接口 这个OpenApi文档在petstore.swagger.io[3],代码为使用WebApiClientCore.OpenApi.SourceGenerator...,然后赋值给field2这个string属性,使用[JsonFormField]特性可以轻松帮我们自动完成Field2类型的json序列化并将结果字符串作为表单的一个字段。

    1.1K40
    领券