外观
把大模型接进车机页面,除了请求接口还要做什么?
标准回答
客户端需要管理一轮对话的完整状态:等待、生成中、完成、失败和取消。流式输出是逐步到来的片段,界面要持续展示,但也要防止旧请求的片段混进新对话。
- 分别测量等待首段输出和完整回答耗时,避免只报总耗时看不出等待体验。
- 断流时标明回答未完成;按服务协议决定能否续传,不任意拼接重试结果。
- 工具调用的生成、确认与实际执行分开记录,敏感凭据不直接放在客户端。
通俗例子
乘客问附近餐厅,回答生成到一半又改问天气。为新问题分配 turnId,取消旧流,并让所有回调检查 turnId;新页面就不会把餐厅和天气拼成同一个答案。
深入解释
**流式输出怎样拼接:**把收到的片段归到对应请求与对话轮次,再依顺序更新显示。连接结束、模型回答完成和工具任务完成,也应有各自明确标识。
**取消以后怎样避免串话:**取消旧任务后,仍可能收到排队中的片段。回调先核对 turnId 或当前请求状态,过期内容直接忽略,不能只靠清空一次文本框。
易混淆点
文字开始显示不等于任务完成,也不代表模型请求的设备动作已经执行。
内容来源
- Android · AI Agent 知识手册 · 原条目
job-P01