Spaces:
Running
Running
A newer version of the Gradio SDK is available:
6.1.0
需求:聊天功能添加终止输出能力
- 创建时间: 2025-01-27-15-30
- 状态: 待处理 (Pending)
- 重要性: 中等 (Medium)
需求描述
为聊天 Tab 添加终止输出功能,提升用户体验。具体要求:
按钮状态切换:
- 正常状态下显示"发送消息"按钮
- 模型输出期间,按钮文本变为"终止输出"
- 输出完成后,按钮恢复为"发送消息"
中断机制:
- 用户点击"终止输出"按钮时,立即停止当前的流式响应
- 已输出的部分内容保留在聊天历史中
- 系统应优雅地处理中断,避免产生错误或异常状态
用户体验:
- 按钮状态变化应该直观明确
- 中断操作应该响应迅速
- 中断后用户可以立即发送新消息
技术实现要点
- 需要在流式输出过程中检查中断信号
- 使用 Gradio 的事件处理机制管理按钮状态
- 确保中断后的状态清理和重置
验证方式
- 启动应用: 在终端中运行
python app.py。 - 打开聊天 Tab: 在浏览器中打开应用,并切换到“聊天”标签页。
- 发送消息: 输入一条消息,点击“发送”按钮。
- 观察按钮状态: 确认“发送”按钮变为“终止”按钮。
- 终止输出: 在模型输出期间,点击“终止”按钮。
- 验证中断: 确认模型输出立即停止。
- 验证按钮恢复: 确认“终止”按钮恢复为“发送”按钮。
- 验证可再次发送: 确认可以立即发送新的消息。
- 验证正常完成: 发送一条简短消息,让其自然结束,确认结束后按钮会自动从“终止”恢复为“发送”。
验证结果
(暂无)