TaskList 类允许您在聊天机器人 UI 旁边显示一个任务列表。

属性

status
str

TaskList 的状态。我们建议使用简短的词语,如“就绪”、“运行中...”、“失败”、“完成”。

tasks
Task

在 UI 中显示的任务列表。

用法

TaskList 元素与其他元素略有不同,因为它不附加到 Message 或 Step,而是可以直接发送到聊天界面。

import chainlit as cl


@cl.on_chat_start
async def main():
    # Create the TaskList
    task_list = cl.TaskList()
    task_list.status = "Running..."

    # Create a task and put it in the running state
    task1 = cl.Task(title="Processing data", status=cl.TaskStatus.RUNNING)
    await task_list.add_task(task1)
    # Create another task that is in the ready state
    task2 = cl.Task(title="Performing calculations")
    await task_list.add_task(task2)

    # Optional: link a message to each task to allow task navigation in the chat history
    message = await cl.Message(content="Started processing data").send()
    task1.forId = message.id

    # Update the task list in the interface
    await task_list.send()

    # Perform some action on your end
    await cl.sleep(1)

    # Update the task statuses
    task1.status = cl.TaskStatus.DONE
    task2.status = cl.TaskStatus.FAILED
    task_list.status = "Failed"
    await task_list.send()

任务列表实际效果