Langflow 微教程 — 转换链

欢迎回到我们的 Langflow 微教程系列!在本文中,我们将继续探索 Langflow 的简单示例以及…

Langflow Micro Tutorials — Transform Chain

欢迎回到我们的 Langflow 微教程系列!在本文中,我们将继续探索简单的 Langflow 示例和自定义组件的设计。

您可以下载本文中提到的流程,以便修改和理解所使用的组件。

今天,我们将重点关注如何在 Langflow 中重现 Langchain 的 转换链(Transform Chain)。希望您喜欢!

主要特点

转换链(Transform Chain):一个带有特殊方法 perform_action 的自定义组件。此方法允许自定义其逻辑,以满足特定要求,然后才被转换为链。

目标

在 Langchain 中,转换链设计用于在将输入数据发送到另一个链之前对其进行修改。它使用通过一个函数(在此称为 perform_action)进行转换的输入和输出变量。

此函数接受一个输入变量的字典,并返回一个输出变量的字典,允许任意 Python 代码更改输入。转换链对于文本分段、语言翻译或元数据提取等任务非常有用。更多信息可在此处找到。

目标是将此转换链功能引入 Langflow,将任何 Python 函数转换为链类型。这使我们能够利用 Langflow 提供的所有与链相关的功能。例如,它们可以用作 CombineDocs Chain 或 Sequential Chains 的输入,并且可以与提示模板一起使用,甚至可以打开聊天界面。

要使用它,只需打开自定义组件的代码,然后在 perform_action 方法中进行尝试。

在本例中,我们对其进行了简化,并将单个输入变量传递给 perform_action,但行 16-19 中应用的逻辑使得提供给 build 函数的任何参数都会自动成为类的一部分(带有 self)——这意味着您可以向 build 函数添加新参数并在 perform_action 中访问它们。参数 foo 就是一个示例。

一旦聊天界面激活,就像与链互动一样与您的函数互动即可。

请注意,这为在组件中包含各种字段打开了可能性。例如,foo 可以设置为 Document 而不是字符串,从而允许它接受来自其他组件的输出。


下载流程 (gist)