跳到主要内容

NebulaAIFlow中的输入输出组件

输入输出组件定义了数据在流程中的入口和出口。

这两类组件都接收用户输入并返回Message对象,但用途不同。

**文本输入(Text Input)组件接收文本字符串输入,返回仅包含输入文本的Message对象。其输出不会显示在交互式测试区(Playground)**中。

**聊天输入(Chat Input)**组件支持多种输入类型(包括文本、文件和元数据),返回的Message对象包含文本内容、发送者信息、会话ID和文件附件。

聊天输入(Chat Input)组件会在交互式测试区提供聊天交互界面。

聊天输入组件

该组件从聊天窗口收集用户输入的Text文本,将其封装为消息对象(Message),包含以下内容:

  • 输入文本
  • 发送者信息
  • 会话ID
  • 文件附件
  • 样式属性

可选择将消息存入聊天历史记录。

输入参数

参数名显示名称说明
input_value文本内容作为输入的Message对象
should_store_message存储消息是否存入历史记录
sender发送者类型消息发送方类型
sender_name发送者名称消息发送方名称
session_id会话ID聊天会话ID(留空则使用当前会话ID参数)
files附件文件随消息发送的文件
background_color背景色图标背景颜色
chat_icon图标消息图标
text_color文字颜色名称文本颜色

输出结果

参数名显示名称说明
message消息对象包含所有指定属性的最终聊天消息对象

消息生成方法

ChatInput类提供异步方法用于创建和存储Message对象。在类的message_response方法中,通过Message.create()工厂方法创建消息对象:


_12
message = await Message.create(
_12
text=self.input_value,
_12
sender=self.sender,
_12
sender_name=self.sender_name,
_12
session_id=self.session_id,
_12
files=self.files,
_12
properties={
_12
"background_color": background_color,
_12
"text_color": text_color,
_12
"icon": icon,
_12
},
_12
)

文本输入组件

**文本输入(Text Input)**组件接收文本字符串输入,返回仅包含输入文本的Message对象。

其输出不会显示在交互式测试区中。

输入参数

参数名显示名称说明
input_value文本内容作为输出的文本内容

输出结果

参数名显示名称说明
text文本消息最终输出的文本消息

聊天输出组件

**聊天输出(Chat Output)**组件创建包含以下内容的消息对象(Message)

  • 输入文本
  • 发送者信息
  • 会话ID
  • 样式属性

支持接收以下输入类型:

输入参数

参数名显示名称说明
input_value文本内容作为输出的消息内容
should_store_message存储消息是否存入历史记录的标志
sender发送者类型消息发送方类型
sender_name发送者名称消息发送方名称
session_id会话ID聊天会话ID(留空则使用当前会话ID参数)
data_template数据模板将Data转换为Text的模板(留空则动态设置为Data的text键)
background_color背景色图标背景颜色
chat_icon图标消息图标
text_color文字颜色名称文本颜色
clean_data基础数据清洗启用时,将DataFrame转换为文本时会进行清洗(删除空行、单元格内空行和多余换行符)

输出结果

参数名显示名称说明
message消息对象包含所有指定属性的最终聊天消息对象

文本输出组件

**文本输出(Text Output)**组件接收单个文本输入,返回包含该文本的消息对象(Message)

其输出不会显示在交互式测试区中。

输入参数

参数名显示名称说明
input_value文本内容作为输出的文本内容

输出结果

参数名显示名称说明
text文本消息最终输出的文本消息