跳到主要内容

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 组件都可以输出 DataFrameTools

Search