跳到主要内容

聊天输入与输出 (Chat Input and Output)

注意

聊天输入 (Chat Input)聊天输出 (Chat Output) 组件是在 游乐场 (Playground) 中与您的流进行聊天所必需的。 更多信息请参阅 在游乐场中测试流

聊天输入与输出 (Chat Input and Output) 组件旨在处理 Langflow 中的对话交互。

聊天输入 (Chat Input)

聊天输入 (Chat Input) 组件接收文本和文件输入,例如聊天消息或文件。 这些数据作为包含所提供输入以及相关聊天元数据(如发送者、会话 ID、时间戳和文件附件)的 Message 数据 传递给其他组件。

初始输入 不应 以完整的 Message 对象形式提供,因为 聊天输入 组件会构建随后传递给流中其他组件的 Message 对象。

聊天输入参数

Some parameters are hidden by default in the visual editor. You can modify all parameters through the Controls in the component's header menu.

名称显示名称信息
input_value输入文本 (Input Text)输入参数。要作为输入传递的消息文本字符串。
sender发送者类型 (Sender Type)输入参数。将发送者标识为 User (用户) 或 Language Model (语言模型)。
sender_name发送者名称 (Sender Name)输入参数。发送者的名称。如果未指定,默认为 UserLanguage Model
session_id会话 ID (Session ID)输入参数。聊天会话的唯一标识符。如果为空,则使用当前会话 ID 参数。
files文件 (Files)输入参数。随消息发送的文件。
background_color背景颜色 (Background Color)输入参数。图标的背景颜色。
chat_icon图标 (Icon)输入参数。消息的图标。
should_store_message存储消息 (Store Messages)输入参数。是否将消息存储在聊天记录中。
text_color文本颜色 (Text Color)输入参数。名称的文本颜色。

有关生成的 Message 对象的信息(包括直接映射到 Message 属性的输入参数),请参阅 Message 数据

聊天输入的 Message 方法

ChatInput 类提供了一个异步方法,用于根据输入参数创建并存储 Message 对象。 Message 对象是在 ChatInput 类的 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
)

聊天输出 (Chat Output)

聊天输出 (Chat Output) 组件接收来自其他组件的 MessageDataDataFrame 数据,根据需要将其转换为 Message 数据,然后将最终输出作为聊天消息发出。 有关这些数据类型的信息,请参阅 使用 Langflow 数据类型

游乐场 (Playground) 中,聊天输出仅限于 Message 对象中与聊天界面相关的部分,例如文本响应、发送者名称和文件附件。 要查看与聊天消息关联的元数据,请在 游乐场 中检查消息日志。

使用 Langflow API 时,API 响应包含 聊天输出 Message 对象以及来自流运行的其他响应数据。 Langflow API 的响应可能非常冗长,因此您的应用程序必须包含代码以从响应中提取相关数据并返回给用户。 有关示例,请参阅 Langflow 快速入门

聊天输出参数

Some parameters are hidden by default in the visual editor. You can modify all parameters through the Controls in the component's header menu.

名称显示名称信息
input_value输入 (Inputs)输入参数。要作为输出传递的消息文本字符串。
should_store_message存储消息 (Store Messages)输入参数。是否将消息存储在聊天记录中。
sender发送者类型 (Sender Type)输入参数。将发送者标识为 User (用户) 或 Language Model (语言模型)。
sender_name发送者名称 (Sender Name)输入参数。发送者的名称。如果未指定,默认为 UserLanguage Model
session_id会话 ID (Session ID)输入参数。聊天会话的唯一标识符。如果为空,则使用当前会话 ID 参数。
data_template数据模板 (Data Template)输入参数。将 Data 输入 转换为 text 的模板。如果为空,则动态设置为 Data 对象的 text 键。
background_color背景颜色 (Background Color)输入参数。图标的背景颜色。
chat_icon图标 (Icon)输入参数。消息的图标。
text_color文本颜色 (Text Color)输入参数。名称的文本颜色。
clean_data基础清洗数据 (Basic Clean Data)输入参数。启用后,DataFrame 输入 在转换为文本时会被清洗。清洗操作会删除空行、单元格内的空行以及多个换行符。

有关生成的 Message 对象的信息(包括直接映射到 Message 属性的输入参数),请参阅 Message 数据

在流中使用聊天输入与输出组件

要在流中使用 聊天输入 (Chat Input)聊天输出 (Chat Output) 组件,请将它们连接到接收或发出 Message 数据 的组件。

例如,以下流将 聊天输入聊天输出 连接到一个 语言模型 (Language Model) 组件,创建了一个简单的基于 LLM 的聊天流。

连接到 OpenAI 组件的聊天输入和输出组件

提示

有关流中 聊天输入与输出 组件的详细示例,请参阅以下内容:

  • Langflow 快速入门:创建并运行一个基础代理流。
  • 基础提示 (Basic Prompting) 模板:创建一个基于 LLM 的聊天流,该流接收聊天输入以及包含给 LLM 的额外指令的提示词。许多其他 Langflow 模板也使用 聊天输入与输出 组件。
  • 将应用程序连接到代理:探索围绕代理流和提示词的更高级概念,包括从外部应用程序触发代理流。

使用 Langflow API 发送聊天输入

您可以通过向 聊天输入 组件发送 input,使用 Langflow API 运行流:


_10
curl --request POST \
_10
--url "http://$LANGFLOW_SERVER_ADDRESS/api/v1/run/$FLOW_ID" \
_10
--header "Content-Type: application/json" \
_10
--header "x-api-key: $LANGFLOW_API_KEY" \
_10
--data '{
_10
"input_value": "在 Mac M1 上安装 Docker 的推荐方法是什么?",
_10
"output_type": "chat",
_10
"input_type": "chat"
_10
}'

使用 Langflow API 触发流时,负载必须包含 聊天输入 组件输入参数的值,例如 input_value

并非所有参数都需要在请求中指定。 例如,如果省略 session_id,它将使用流的默认会话 ID。 如果您想使用自定义会话 ID,请在请求中包含 session_id


_10
curl --request POST \
_10
--url "http://$LANGFLOW_SERVER_ADDRESS/api/v1/run/$FLOW_ID" \
_10
--header "Content-Type: application/json" \
_10
--header "x-api-key: $LANGFLOW_API_KEY" \
_10
--data '{
_10
"input_value": "在 Mac M1 上安装 Docker 的推荐方法是什么",
_10
"session_id": "$USER_ID",
_10
"output_type": "chat",
_10
"input_type": "chat"
_10
}'

更多信息请参阅 使用 Langflow API 触发流

Search