news 2026/5/15 23:48:03

【API 设计之道】10 面向 AI 的 API:长耗时任务 (LRO) 与流式响应

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【API 设计之道】10 面向 AI 的 API:长耗时任务 (LRO) 与流式响应

大家好,我是Tony Bai。

欢迎来到我们的专栏 《API 设计之道:从设计模式到 Gin 工程化实现》的第十讲,也是我们微专栏的收官之战。

在过去的几年里,后端开发面临的最大挑战,从“高并发”变成了“高延迟”。

随着 ChatGPT 和各类大模型的爆发,我们越来越多地需要设计与 AI 交互的 API。这类业务有一个显著特征:

  • 生成一张 4K 图片,可能需要 15 秒。

  • 处理一个长文档摘要,可能需要 40 秒。

  • 微调一个模型,可能需要几小时。

如果你依然使用传统的同步 Request-Response 模式:

// 传统的同步调用 func GenerateText(c *gin.Context) { result := CallLLM() // 这里阻塞了 60 秒 c.JSON(200, result) }

你会遇到灾难性的后果:

  1. 网关超时:Nginx 或 Load Balancer 通常默认 60 秒超时,直接切断连接,客户端收到 504 Gateway Timeout。

  2. 资源锁死:Gin 的 Goroutine 被长期占用,无法释放,导致服务吞吐量暴跌。

  3. 用户体验极差:用户盯着屏幕转圈圈,不知道还要等多久,甚至怀疑系统挂了。

面对 AI 时代的 API 设计挑战,我们需要引入两套重量级的架构模式:长耗时操作 (Long-running Operations, LRO)和 流式响应 (Streaming)。

今天,我们将在 Gin 中实现这两种模式,让你的 API 能够优雅地驾驭“慢”业务。

模式一:长耗时操作 (LRO) 与 轮询

对于那些不需要实时反馈,或者耗时极长(分钟级以上)的任务(如视频转码、模型训练),最标准的做法是“异步创建 + 状态轮询”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 20:13:20

多线程竞争资源导致crash的通俗解释

多线程抢资源,程序为啥突然崩溃?一个程序员的血泪复盘你有没有遇到过这种情况:代码在本地跑得好好的,一上生产环境就莫名其妙地“啪”一下崩了,日志里只留下一行冰冷的Segmentation fault (core dumped)?更…

作者头像 李华
网站建设 2026/5/15 23:47:40

工业抗干扰设计中的数字电路基础原理剖析

工业抗干扰设计中的数字电路基础原理剖析:从噪声环境到高可靠性系统构建当现场设备“抽风”,问题真的出在软件吗?在某次工业产线调试中,一台基于STM32的PLC控制器频繁死机,通信中断、I/O误动作。工程师第一反应是&…

作者头像 李华
网站建设 2026/5/15 1:48:15

上拉电阻响应速度分析:探讨其对信号上升时间的影响

上拉电阻真的只是“拉高电平”吗?揭秘它如何悄悄拖慢你的信号你有没有遇到过这样的情况:IC总线莫名其妙通信失败,示波器一看——数据明明发了,但上升沿软绵绵的,像被“拖着走”?或者按键松开后MCU迟迟没反应…

作者头像 李华
网站建设 2026/5/12 2:15:29

AI原生应用的可解释性:从LIME到SHAP的全面解析

AI原生应用的可解释性:从LIME到SHAP的全面解析 一、引言:为什么AI原生应用需要可解释性? 1.1 痛点:黑盒模型的信任危机 随着生成式AI、计算机视觉、自然语言处理等技术的普及,AI原生应用(如医疗诊断系统、金…

作者头像 李华
网站建设 2026/5/11 16:16:25

零基础掌握车载诊断:UDS协议通俗解释

零基础也能懂的车载“医生”:UDS协议全解析你有没有想过,当你的汽车亮起故障灯时,维修技师是如何快速定位问题的?他们插上一个小小的诊断仪,几秒钟后就能告诉你:“是进气压力传感器出了问题。”这背后&…

作者头像 李华