跳到主要内容

输入 / 输出

Langflow 的 输入和输出 组件定义了数据进入和离开流程的位置,但它们并不具有相同的功能。

具体来说,聊天输入和输出 组件旨在促进对话式交互,其中消息在累积的对话中交换。 这些组件处理的数据包括消息文本以及发送者、会话ID和时间戳等附加元数据。

相比之下,文本输入和输出 组件设计用于简单的字符串输入和输出,不需要与聊天消息相关的额外上下文和元数据。 这些组件处理的数据简化为基本的文本字符串。

聊天输入和输出

important

要在 Playground 中与您的流程进行聊天,需要使用 聊天输入和输出 组件。 有关更多信息,请参阅 在 Playground 中测试流程

聊天输入和输出 组件旨在处理 Langflow 中的对话式交互。

聊天输入

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

初始输入不应作为完整的 Message 对象提供,因为 聊天输入 组件会构造 Message 对象,然后将其传递给流程中的其他组件。

聊天输入参数

在可视化编辑器中,部分参数默认情况下是隐藏的。 您可以通过组件的头部菜单中的 控件 来修改所有参数。

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

NameDisplay NameInfo
input_value输入文本输入参数。要作为输入传递的消息文本字符串。
sender发送者类型输入参数。将发送者标识为 UserLanguage Model
sender_name发送者名称输入参数。发送者的名称。如果未指定,默认为 UserLanguage Model
session_id会话ID输入参数。聊天会话的唯一标识符。如果为空,则使用当前会话ID参数。
files文件输入参数。要随消息一起发送的文件。
background_color背景颜色输入参数。图标的背景颜色。
chat_icon图标输入参数。消息的图标。
should_store_message存储消息输入参数。是否将消息存储在聊天历史中。
text_color文本颜色输入参数。名称的文本颜色。
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
)

聊天输出

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

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

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

Chat Output 参数

在可视化编辑器中,部分参数默认情况下是隐藏的。 您可以通过组件的头部菜单中的 控件 来修改所有参数。

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

NameDisplay NameInfo
input_valueInputs输入参数。要作为输出的消息文本字符串。
should_store_messageStore Messages输入参数。是否将消息存储在聊天历史中。
senderSender Type输入参数。标识发送者是 UserLanguage Model
sender_nameSender Name输入参数。发送者的名称。如果未指定,默认为 UserLanguage Model
session_idSession ID输入参数。聊天会话的唯一标识符。如果为空,则使用当前会话 ID 参数。
data_templateData Template输入参数。将 Data 输入 转换为 text 的模板。如果为空,则动态设置为 Data 对象的 text 键。
background_colorBackground Color输入参数。图标的背景颜色。
chat_iconIcon输入参数。消息的图标。
text_colorText Color输入参数。名称的文本颜色。
clean_dataBasic Clean Data输入参数。启用时,DataFrame 输入 在转换为文本时会进行清理。清理会移除空行、单元格中的空行和多个换行符。
messageMessage输出参数。包含所有指定属性的结果聊天 Message 对象。

在流程中使用 Chat Input 和 Chat Output 组件

要在流程中使用 Chat InputChat Output 组件,请将它们连接到接受或发出 Message 数据 的组件。

例如,以下流程将 Chat InputChat Output 连接到 Language Model 组件,创建一个基于 LLM 的简单聊天流程。

Chat Input and Output components connected to an OpenAI component

提示

有关流程中 Chat Input and Output 组件的详细示例,请参见以下内容:

  • Langflow 快速入门:创建和运行基本代理流程。
  • Basic Prompting 模板:创建一个基于 LLM 的聊天流程,接受聊天输入以及包含对 LLM 的额外说明的提示。许多其他 Langflow 模板也使用 Chat Input and Output 组件。
  • 将应用程序连接到代理:探索代理流程和提示相关的更高级概念,包括从外部应用程序触发代理流程。

使用 Langflow API 发送聊天输入

您可以使用 Langflow API 通过向 Chat Input 组件发送输入来运行流程:


_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": "What's the recommended way to install Docker on Mac M1?",
_10
"output_type": "chat",
_10
"input_type": "chat"
_10
}'

使用 Langflow API 触发流程时,负载必须包含 Chat Input 组件输入参数的值,例如 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": "Whats the recommended way to install Docker on Mac M1",
_10
"session_id": "$USER_ID",
_10
"output_type": "chat",
_10
"input_type": "chat"
_10
}'

有关更多信息,请参见 使用 Langflow API 触发流程

Text Input and Output

important

Text Input and Output 组件在 Playground 中不受支持。 由于数据不是格式化为聊天消息,因此数据不会出现在 Playground 中,您无法在 Playground 中与您的流程进行聊天。

如果您想在 Playground 中与流程进行聊天,必须使用 Chat Input and Output 组件

Text Input and Output 组件专为处理或发出简单文本字符串的流程而设计。 这些组件不支持完整的对话交互。

Text Input and Output 组件传递类似聊天的元数据不会改变组件的行为;结果仍然是简单的文本字符串。

Text Input

Text Input 组件接受一个文本字符串输入,该输入作为仅包含所提供文本字符串的 Message 数据 传递给其他组件。

初始输入不应作为完整的 Message 对象提供,因为 Text Input 组件会构造 Message 对象,然后将其传递给流程中的其他组件。

文本输入参数

NameDisplay NameInfo
input_valueText输入参数。提供给组件的文本。可以直接输入或作为来自其他组件的 Message 数据传递。
textText输出参数。包含 text 属性中输入文本的 Message 对象。

文本输出

文本输出组件接收来自其他组件的 Message 数据,在简化的 Message 对象中仅输出 text 属性。

文本输出参数

NameDisplay NameInfo
input_valueText输入参数。要被接收并作为字符串输出的文本。可以直接输入或作为来自其他组件的 Message 数据传递。
textText输出参数。包含 text 属性中输出文本的 Message 对象。
Search