Message 类用于发送、流式传输、更新或删除消息。

参数

content
str

消息的内容。

author
str

消息的作者,默认为您配置文件中定义的聊天机器人名称。

elements
Element[]

附加到消息的元素。

actions
Action[]

附加到消息的动作。

language
str

如果内容是代码,则指定代码语言。有关支持语言列表,请参阅 https://react-code-blocks-rajinwonderland.vercel.app/?path=/story/codeblock—supported-languages

发送消息

向用户界面发送一条新消息。

import chainlit as cl


@cl.on_message
async def main(message: cl.Message):
    await cl.Message(
        content=f"Received: {message.content}",
    ).send()

流式传输消息

逐个令牌向用户界面发送消息。

import chainlit as cl

token_list = ["the", "quick", "brown", "fox"]


@cl.on_chat_start
async def main():
    msg = cl.Message(content="")
    for token in token_list:
        await msg.stream_token(token)

    await msg.send()

更新消息

更新已发送的消息。

import chainlit as cl


@cl.on_chat_start
async def main():
    msg = cl.Message(content="Hello!")
    await msg.send()

    await cl.sleep(2)

    msg.content = "Hello again!"
    await msg.update()

删除消息

从用户界面中删除消息。

import chainlit as cl


@cl.on_chat_start
async def main():
    msg = cl.Message(content="Message 1")
    await msg.send()
    await cl.sleep(2)
    await msg.remove()