#header-mark#
ChatStep 聊天步骤组件
用于显示和管理聊天中的中间步骤组件,比如思维链中的步骤。该组件提供了对步骤状态的管理,包括挂起、运行中、成功和失败等状态,以及相应的标题和内容控制。
底层实现为panel.chat.ChatStep
,参数基本一致,参考文档:https://panel.holoviz.org/reference/chat/ChatStep.html
基本用法
基本的步骤组件初始化:
通过 stream
方法对内容实现以下操作:
- 附加内容,支持
Markdown
、图像等任何内容 - 覆盖内容
标题也可以通过 stream_title
方法对标题实现类似操作。
Badges
默认头像是 BooleanStatus
组件,但可以通过提供 default_badges
进行更改。值可以是表情符号、图像、文本或 Panel 对象
状态管理
为了显示该步骤正在处理,您可以将status
设置为 running
并提供 running_title
,使用 success_title
在成功时更新标题。
错误处理
处理失败状态:
标题流式显示
支持标题的流式更新:
API
核心属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
collapsed_on_success | 成功时是否折叠卡片 | bool | True |
context_exception | 异常处理方式("raise"-抛出/"summary"-摘要/"verbose"-完整追踪/"ignore"-忽略) | str | "raise" |
success_title | 成功状态标题(未设置时使用最后对象的字符串) | str | None |
default_title | 默认标题(其他标题未设置时使用) | str | "" |
failed_title | 失败状态标题 | str | None |
margin | 外边距((垂直,水平)或(上,右,下,左)) | tuple | (5,5,5,10) |
objects | 聊天步骤内容列表(按列布局,通常应整体替换) | list | [] |
pending_title | 等待状态标题 | str | None |
running_title | 运行状态标题 | str | None |
status | 步骤状态("pending"/"running"/"success"/"failed") | str | "pending" |
样式属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
collapsed | 是否折叠内容 | bool | False |
default_badges | 状态徽章映射(键必须为'pending'/'running'/'success'/'failed') | dict | 系统默认徽章 |
Events
事件名 | 说明 | 类型 |
---|---|---|
status | 状态改变时触发 | Callable |
Slots
插槽名 | 说明 |
---|---|
default | 自定义步骤内容 |
title | 自定义标题内容 |
方法
方法名 | 说明 | 参数 |
---|---|---|
stream | 流式添加内容 | value, replace=False |
stream_title | 流式更新标题 | value, replace=False, status="running" |
serialize | 序列化内容 | - |
Controls
src/examples/panel_vuepy/chat/ChatStep