温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
当需要在前端集成大模型,如通过open AI API实现一个具备复杂上下文能力的AI助手时,如何设计前端的prompt管理、对话、上下文维护与token技术系统?请说明1、如何结构化存储和管理系统prompt用户消息、历史对话。2如何实现近似准确的token技术考虑不同模型已在达到上下文窗口限制时智能的裁剪或总结历史。3如何将此系统与状态管理如stand redux结合?并保证类型安全。第一,我会设计一个分层的对话状态结构。用Type C接口明确定义。系统prompt用户消息和AI回复都作为独立节点存储。每条消息都包含角色内容、时间戳和计算好的token数。这个状态数会放在stand这样的轻量级状态管理库里呢?因为他对非序列化数据很友好。同时用来保证不可变更新。接着是token技术。这不能依赖简单的字符串长度。我会集成类似tik token的WM版本到前端。
01:02
针对不同模型,比如GPT4和cloud初始化对应的编码器。每次新增消息时,同步计算token数。并把累计值存在对话上下文中。这里要注意的是。系统prompt函数调用和返回内容都要记住。不同模型的技术规则和上下文窗口上线也得分开配置。当token树接近模型上线时。要触发智能裁剪策略。不能简单的从最旧的消息开始删。而是优先压缩或总结那些不关键的中间对话轮次。尝试保留最新的交互和最早的系统指令。这个裁剪算法可以作为一个独立的纯函数。接收当前对话术和token上限。返回一个新的符合限制的对话术。最后。是类型安全与工程化整合。整个会用严格定义。从消息类型、API、请求参数到裁剪函数的输入输出,都有泛型约束。API调用层会封装成自定义hook。
02:01
统一处理由是响应错误重试和token实时更新。这样设计下来。整个系统核心逻辑清晰可测。状态变更可预测。也能平滑应对不同模型API的差异。本质上。这是一个将模型约束转化为前端可管理状态。并用类型和架构保证其稳健性的工程问题。
我来说两句