Skip to main content

用户体验

LlmChatView 小部件是 AI 工具包提供的交互式聊天体验的入口点。托管 LlmChatView 实例可以启用许多无需任何额外代码即可使用的用户体验功能:

  • **多行文本输入:**允许用户粘贴长文本输入或在输入文本时插入新行。
  • **语音输入:**允许用户使用语音输入提示,方便使用。
  • **多媒体输入:**使用户能够拍照并发送图像和其他文件类型。
  • **图像缩放:**使用户能够放大图像缩略图。
  • **复制到剪贴板:**允许用户将消息文本或 LLM 响应复制到剪贴板。
  • **消息编辑:**允许用户编辑最近的消息,以便重新提交给 LLM。
  • **Material 和 Cupertino:**适应两种设计语言的最佳实践。

多行文本输入

#

用户在完成提示撰写后提交提示时有多种选择,这再次取决于他们的平台:

  • 移动端: 点击 提交按钮
  • 网页端: Enter 键或点击 提交按钮
  • 桌面端: Enter 键或点击 提交按钮

此外,聊天视图支持包含嵌入换行符的文本提示。如果用户有包含换行符的现有文本,他们可以照常将其粘贴到提示文本字段中。

如果他们想在输入时手动将换行符嵌入到他们的提示中,他们可以这样做。该操作的手势取决于他们使用的平台:

  • **移动端:**点击虚拟键盘上的回车键
  • **网页端:**不支持
  • **桌面端:**按Ctrl+EnterOpt/Alt+Enter

这些选项如下所示:

桌面端:

Screenshot of entering text on desktop

移动端:

Screenshot of entering text on mobile

语音输入

#

除了文本输入外,聊天视图还可以通过点击麦克风按钮(在尚未输入任何文本时可见)来接受音频录制作为输入。

点击 麦克风 按钮开始录音:

Screenshot of entering text

按下 停止 按钮会将用户的语音输入转换为文本:

然后可以像往常一样编辑、增强和提交此文本。

Screenshot of entered voice

多媒体输入

#

Textfield containing "Testing, testing, one, two, three"

聊天视图还可以接收图像和文件作为输入,以传递给底层的 LLM。用户可以按下文本输入左侧的 加号 按钮,然后从 拍照图片库 附加文件图标中进行选择:

Screenshot of the 4 icons

拍照按钮允许用户使用其设备的相机拍照:

Selfie image

按下 图片库 按钮允许用户从其设备的图片库上传:

Download image from gallery

按下 附加文件 按钮允许用户选择其设备上任何类型的文件,例如 PDF 或 TXT 文件。

选择照片、图像或文件后,它将成为附件,并显示为与当前活动提示关联的缩略图:

Thumbnails of images

用户可以通过点击缩略图上的X按钮来删除附件。

图像缩放

#

用户可以通过点击图像缩略图来放大:

Zoomed image

按下ESC键或点击图像外部的任何位置都会关闭放大的图像。

复制到剪贴板

#

用户可以通过多种方式复制当前聊天中的任何文本提示或 LLM 响应。在桌面或网页上,用户可以使用鼠标选择屏幕上的文本并将其复制到剪贴板:

Copy to clipboard

此外,在每个提示或响应的底部,用户可以按下鼠标悬停时弹出的 复制 按钮:

Press the copy button

在移动平台上,用户可以长按提示或响应并选择复制选项:

Long tap to see the copy button

消息编辑

#

如果用户想编辑其最后一个提示并让 LLM 再次运行,他们可以这样做。在桌面上,用户可以点击其最新提示旁边与 复制 按钮并排的 编辑 按钮:

How to edit prompt

在移动设备上,用户可以长按并访问其最新提示的 编辑 选项:

How to access edit menu

一旦用户点击 编辑 按钮,他们就会进入编辑模式,这会从聊天记录中删除用户的最后一个提示和 LLM 的最后一个响应,并将提示的文本放入文本字段,并提供一个编辑指示器:

How to exit editing mode

在编辑模式下,用户可以根据自己的选择编辑提示并将其提交,让 LLM 像往常一样生成响应。或者,如果他们改变主意,他们可以点击编辑指示器附近的X取消编辑并恢复之前的 LLM 响应。

Material 和 Cupertino

#

LlmChatView 小部件托管在 Material 应用 中时,它使用 Material 设计语言提供的工具,例如 Material 的 TextField。同样,当托管在 Cupertino 应用 中时,它会使用这些工具,例如 CupertinoTextField

Cupertino example app

但是,虽然聊天视图同时支持 Material 和 Cupertino 应用类型,但它不会自动采用相关的主题。相反,这由 LlmChatViewstyle 属性设置,如自定义样式 文档中所述。