从 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 有没有被处理过

相关推荐
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
鬓戈5 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
传奇开心果编程5 小时前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
xian_wwq6 小时前
【学习笔记】等保合规安全基线核查实战
笔记·学习
传奇开心果编程6 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack
yangmu32036 小时前
发动机是怎么把油变成动力的:四冲程内燃机原理拆解
学习
m4Rk_6 小时前
【论文阅读】Agent 记忆机制(81):EMR——用情景记忆避免 Agent 在多步推理中反复绕圈
论文阅读·人工智能·学习·开源·github
海海不掉头发7 小时前
阶段五_实验34-38_学习总结
深度学习·神经网络·学习·机器学习
M78佐菲7 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲7 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习