跳到主要内容

Composio

捆绑包 (Bundles) 包含支持 Langflow 与特定第三方集成的自定义组件。

本页介绍了 Composio 捆绑包中可用的组件。

有关特定 Composio 功能的信息,请参阅 Composio 文档。

在流中使用 Composio 组件​

Composio 组件主要用作 代理工具。

Composio 捆绑包包括一个聚合的 Composio 工具 (Composio Tools) 组件以及以下单服务组件:

Composio 单服务组件
  • AgentQL
  • Agiled
  • Airtable
  • Apollo
  • Asana
  • Attio
  • Bitbucket
  • Bolna
  • Brightdata
  • Calendly
  • Canva
  • Canvas
  • Coda
  • Contentful
  • Digicert
  • Discord
  • Dropbox
  • ElevenLabs
  • Exa
  • Figma
  • Finage
  • Firecrawl
  • Fireflies
  • Fixer
  • Flexisign
  • Freshdesk
  • GitHub
  • Gmail
  • Google BigQuery
  • Google Calendar
  • Google Classroom
  • Google Docs
  • Google Meet
  • Google Sheets
  • Google Tasks
  • Heygen
  • Instagram
  • Jira
  • Jotform
  • Klaviyo
  • Linear
  • Listennotes
  • Mem0
  • Miro
  • Missive
  • Notion
  • OneDrive
  • Outlook
  • Pandadoc
  • PeopleDataLabs
  • PerplexityAI
  • Reddit
  • SerpAPI
  • Slack
  • Slackbot
  • Snowflake
  • Supabase
  • Tavily
  • TimelinesAI
  • Todoist
  • Wrike
  • YouTube

Composio 工具 (Composio Tools) 组件是访问多个 Composio 服务(工具)的入口点。 然而,其中大多数服务也可以作为单服务组件使用,建议优先使用单服务组件而非 Composio 工具 (Composio Tools) 组件。

虽然您可以在流中使用单服务组件执行非代理操作,但它们主要在 工具模式 (Tool Mode) 下与 代理 (Agent) 组件配合使用。 相比之下,Composio 工具 (Composio Tools) 组件只能作为代理的工具;它不支持非代理用途。

以下示例演示了如何将 Composio Gmail 组件用作 代理 (Agent) 组件的工具。 这允许代理在生成响应时,在必要时使用 Composio Gmail 功能。 您可以以相同的方式连接其他 Composio 组件。

  1. 根据 简单代理 (Simple Agent) 模板创建一个流。

  2. 在 捆绑包 (Bundles) 中,找到 Composio 捆绑包,然后将 Gmail 组件添加到流中。

  3. 在 Composio API Key 字段中,输入您的 Composio API 密钥或使用 COMPOSIO_API_KEY 全局变量。 有关更多信息,请参阅 Composio 身份验证。

    如果密钥有效, 警报 将被替换为 成功 指示器,并且 Actions 列表将填充您的 API 密钥可用的操作。

  4. 在 组件的页眉菜单 中,启用 工具模式 (Tool Mode)。

    如果您使用的是 Composio 工具 (Composio Tools) 组件,请跳过此步骤,因为该组件已经配置为工具。

  5. 在 Actions 列表中,配置您想要提供给代理的 Gmail 操作。 您可以选择想要允许的操作,并且可以编辑每个操作的 slug(代理标签)和描述,这有助于代理决定使用哪些工具。

  6. 将 Gmail 组件的 Toolset 输出连接到 代理 (Agent) 组件的 Tools 输入。

  7. 在 代理 (Agent) 组件中,输入您的 OpenAI API 密钥或将 代理 (Agent) 组件配置为使用不同的 LLM。 有关更多信息,请参阅 语言模型组件。

    此时,您的流有四个连接的组件:

    • 聊天输入 (Chat Input) 组件连接到 代理 (Agent) 组件的 Input 端口。 这允许由来自用户或应用程序的传入提示词触发流。
    • Gmail 组件作为工具连接到 代理 (Agent) 组件。 代理可能不会对每个请求都使用此工具;只有当代理决定 Gmail 工具可以帮助响应提示词时,才会使用此连接。
    • 代理 (Agent) 组件的 Output 端口连接到 聊天输出 (Chat Output) 组件,后者将最终响应返回给用户或应用程序。

    带有 Composio 工具组件的简单代理流

  8. 要测试流,点击 游乐场 (Playground),然后向 LLM 询问其可用的工具。 代理应提供连接工具的列表,包括 Gmail 工具和 代理 (Agent) 组件中的内置工具。 例如:


    _18
    用户:
    _18
    你有哪些可用的工具?
    _18
    _18
    我可以访问多种工具,帮助你完成不同的任务。以下是可供我使用的主要工具类别:
    _18
    _18
    1. Gmail 工具:
    _18
    - 获取电子邮件、搜索和过滤消息。
    _18
    - 通过消息 ID 获取特定的电子邮件详情。
    _18
    - 创建电子邮件草稿(包含附件、HTML、抄送/密送等)。
    _18
    - 删除电子邮件草稿或特定消息。
    _18
    _18
    2. 日期和时间工具:
    _18
    - 获取任何时区的当前日期和时间。
    _18
    _18
    3. 多工具使用:
    _18
    - 并行运行多个工具以提高效率。
    _18
    _18
    如果你有特定的任务需求,请告诉我,我可以告诉你我会使用哪个工具,或者演示我如何提供帮助!

  9. 要测试特定的工具或功能,告诉代理执行使用该工具的操作。 例如,要求代理写一封草稿邮件:


    _10
    创建一封主题为 "Greetings from Composio" 的草稿邮件
    _10
    收件人: "your.email@address.com"
    _10
    正文内容: "Hello from composio!"

    当代理选择 GMAIL_CREATE_EMAIL_DRAFT 工具创建电子邮件草稿时,游乐场 (Playground) 会打印逻辑。 以下示例响应已缩写:


    _10
    主题为 "Greetings from Composio"、正文为 "Hello from composio!" 的草稿邮件已成功创建。


    _24
    {
    _24
    "recipient_email": "your.email@address.com",
    _24
    "subject": "Greetings from Composio",
    _24
    "body": "Hello from composio!",
    _24
    "is_html": false
    _24
    }
    _24
    _24
    {
    _24
    "data": {
    _24
    "response_data": {
    _24
    "id": "r-237981011463568567",
    _24
    "message": {
    _24
    "id": "195dd80528171132",
    _24
    "threadId": "195dd80528171132",
    _24
    "labelIds": [
    _24
    "DRAFT"
    _24
    ]
    _24
    }
    _24
    }
    _24
    },
    _24
    "error": null,
    _24
    "successfull": true,
    _24
    "successful": true
    _24
    }

    为了进一步确认,您可以转到您的 Gmail 账户并在草稿文件夹中找到该消息。

  10. 可选:要添加更多 Composio 服务,重复这些步骤将更多 Composio 组件添加到您的流中。 对于每个组件,提供必要的凭据,启用 工具模式 (Tool Mode),配置操作,然后将其连接到 代理 (Agent) 组件的 Tools 端口。

Composio 参数​

所有单服务 Composio 组件具有相同的参数,而 Composio 工具 (Composio Tools) 组件有一个额外的参数:

名称类型描述
entity_idString输入参数。Composio 账户的实体 ID。默认值:default。此参数在可视化编辑器中默认隐藏。如果您需要设置此参数,可以通过 组件页眉菜单 中的 控制 (Controls) 访问。
api_keySecretString输入参数。用于通过 Composio 平台身份验证的 Composio API 密钥。确保该密钥授权了您想要使用的特定服务。有关更多信息,请参阅 Composio 身份验证。
tool_nameConnection仅适用于 Composio 工具 (Composio Tools) 组件的输入参数。选择要连接的 Composio 服务(工具)。
actionList输入参数。选择要使用的操作。可用操作因服务而异。某些操作可能需要特定服务的付费访问权限。

Composio 身份验证​

Composio 组件需要使用 Composio API 密钥通过 Composio 平台进行身份验证。

您可以直接在组件中提供此密钥,也可以使用 COMPOSIO_API_KEY 全局变量,Langflow 可以自动从您的 .env 文件中加载该变量。

信息

Composio API 密钥仅处理与 Composio 的连接。 服务提供商的身份验证通过 Composio 平台为您想要使用的每个服务进行管理。

确保您的 Composio API 密钥提供了流中组件所需服务的访问权限。 例如,如果您使用的是 Composio Gmail 组件,您的 Composio API 密钥必须具有访问 Gmail 服务的权限。

Composio 输出​

当用作代理的工具时,Composio 组件输出 Tools,即供代理使用的工具列表。 当被代理调用时,来自 Composio 服务响应被代理吸收,而不是作为输出直接传递给用户或应用程序。

在非代理用例中,输出是一个 DataFrame,其中包含来自指定 Composio 服务的响应,具体取决于流中使用的组件和操作。

由于 Composio 工具 (Composio Tools) 组件仅支持代理用途,因此它无法输出 DataFrame。 所有单服务 Composio 组件都可以输出 DataFrame 或 Tools。

Search