从 Demo 到生产级别的 Agent 项目

交互响应

同步响应

同步响应就是最简单的,给模型一个输入,然后一直在那里等,等到有答案了一股脑全部返回。

SSE 流式输出

SSE 流式输出是大模型会生成很多个字,每生成一个就推送给前端,看上去就好像在打字一样。

异步输出

异步就有点像事件循环了,一个任务正在等待的过程中可以去做别的,等到做好了再来拿。有点像 async await。

Prompt 版本管理

Prompt 在最开始的情况下可以是一个字符串,但是在需要版本改动,跑测试的时候就很麻烦。成熟的做法是把 Prompt 抽出来,做成独立的模板配置。模板支持变量替换、版本管理、灰度发布。

重试策略:模型 API 挂了怎么办

在 API 挂了的时候应该注意是哪种情况,有的情况比如说网络抖动,或者 HTTP 429 被限流了,那么就应该用指数退避加随机抖动。如果是HTTP 400 格式错误或 HTTP 401 认证失败,那么重试反而没有必要。

大模型的生成很慢,可能要等15-30秒才能生成完整的回答,如果超时时间只设置成5秒,那么超时是很正常的。但是像 TCP 连接这种就不需要这么长的时间,因此应该分层设置超时事件。

限流与降级

当 token 超额时不应该只让用户看到空白页面,应该要有降级措施,比如用便宜模型或者预设一个回答。

幂等性:相同请求不要重复计费

网络抖动导致客户端没收到响应,于是重发了一次请求。如果没有幂等保护,同一个请求可能被执行两次------两倍的 token 消耗、两倍的费用、甚至可能给用户返回两条重复的消息。实现思路很简单:客户端在每个请求上带一个唯一的请求 ID,服务端在处理前先检查这个 ID 有没有被处理过

相关推荐
蒸蒸yyyyzwd8 分钟前
后端学习笔记 day111
笔记·学习
叼烟扛炮32 分钟前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
Century_Dragon1 小时前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
楚山之石2 小时前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
小李不想当小白3 小时前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
旖旎夜光4 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光5 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
叼烟扛炮10 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮14 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.16 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习