导语
无论你是否正在开发或者设计基于RAG架构的AI Agent还是纯前端开发工作者,我们都意识到了自从GPT出现后那种人机对话、逐字打印效果的界面正在改变着我们传统的人机交互方式。
按照一切软件应用都会被AI重定义,无论是从Copilot还是到己有手机应用,人机交互模式都在围绕着类GPT这种逐字打印展示效果发生着重大的变化。
今天我们就要基于Android来讲如何做一个类GPT交互界面以及在实现过程中需要提前做一些什么“框架”上的预留以确保更复杂的界面的需求。
聊天界面的设计
如以上这样的一个聊天界面它至少拥有以下元素:
- AI的回答:逐字打印;
- 图片在AI回答结束后,一次展示;
- 用户的提问前有相应的提问标志,这个代表是用户的提问;
- AI的回答文字前显示AI标志,这个代表是AI的回答;
首先我们先需要解决如何逐字打印的问题
逐字打印的原理
final Handler handler = new Handler();
Runnable runnable = new Runnable() {
int i = 0;
String response = chatBeans.get(position).getGptRespContent();
@Override
public void run() {