Composio
扫码查看

为AI智能体提供应用工具和技能

Composio

综合介绍

Composio是一个为AI(人工智能)智能体和大型语言模型(LLM)设计的开发平台,它提供了一个“技能层”,让AI能够更轻松地与各种软件应用和系统工具进行交互。 简单来说,Composio就像一个翻译官和工具箱,它帮助AI智能体理解并使用超过250种第三方应用,例如我们常用的办公软件Slack、GitHub和Notion等。 开发者不再需要为每个应用单独编写复杂的集成代码,也不用处理繁琐的用户认证流程。Composio将这些都打包好了,AI智能体可以直接调用这些“技能”来执行任务,比如自动在不同软件之间同步信息、管理项目或者与客户沟通。 这样一来,开发者可以把更多精力放在核心功能的创新上,而不是耗费在重复的集成工作里,从而大大加快了AI应用的开发速度和上市时间。

功能列表

  • 广泛的应用集成: 内置超过250种常用SaaS(软件即服务)工具的接口,包括项目管理、代码托管、客户关系管理等多种类别,例如Slack、GitHub、Notion、Jira、Salesforce等。
  • 统一的认证管理 (AgentAuth): 提供一个集中的仪表盘来管理所有连接工具的用户认证,支持OAuth、API密钥和基本认证等多种方式,简化了繁琐的认证流程。
  • 跨框架和模型兼容: 可以和主流的AI智能体开发框架无缝集成,例如LangChain、LlamaIndex、AutoGen、CrewAI等,并且支持OpenAI、Claude、Gemini等不同的大型语言模型。
  • 可定制的工具集: 允许开发者使用OpenAPI规范添加自定义工具,以满足特定项目的特殊需求。
  • 远程代码执行 (RPA Tools): 支持按需部署MacOS或Ubuntu实例,让AI智能体能够远程执行代码,自动完成复杂的计算机操作任务。
  • 工具调用优化: 通过优化的工具设计,官方声称能够将AI智能体调用外部工具的准确率提升40%。
  • 事件触发器: 支持通过外部应用的事件来触发AI智能体执行任务,例如当Slack中出现新消息或者GitHub仓库收到新的代码提交时,可以自动执行相应的工作流。

使用帮助

Composio的目标是让开发者能够快速地为他们的AI智能体赋予强大的执行能力。整个使用流程非常简单直接,下面将详细介绍如何安装和使用Composio,让你能快速上手。

第一步:安装Composio

首先,你需要一个Python环境(建议使用3.8或更高版本)。然后通过命令行工具(比如Terminal或CMD)来安装Composio的核心库。最常用的方式是使用pip包管理器。

打开你的命令行工具,输入以下命令:

pip install composio-core

这条命令会下载并安装Composio的核心功能库。如果你计划将Composio与特定的AI框架(如LangChain)结合使用,你还需要安装相应的集成库。例如,与LangChain集成的安装命令是:

pip install composio-langchain

第二步:获取API密钥

安装完成后,你需要一个Composio的API密钥来连接你的应用。

  1. 访问Composio的官方网站 https://composio.dev/
  2. 注册一个免费账户。
  3. 登录后,在你的账户仪表盘(Dashboard)中,你会找到生成API密钥的选项。点击生成,然后将这串密钥复制下来。这个密钥是你项目连接到Composio服务的唯一凭证,请妥善保管。

第三步:在你的代码中配置和使用Composio

配置非常简单,你只需要将刚刚获取的API密钥设置为环境变量。这样做比直接在代码中写入密钥更安全。

在命令行中设置环境变量:

export COMPOSIO_API_KEY="你的Composio_API密钥"

如果你使用的是Windows系统,命令可能是 set COMPOSIO_API_KEY="你的Composio_API密钥"

第四步:连接你的第一个应用

现在,你可以开始将你的AI智能体连接到你想要使用的应用了。Composio提供了一个方便的命令行工具来添加和管理应用。

例如,你想让你的AI智能体能够操作你的GitHub账户。在命令行中输入:

composio add github

执行此命令后,Composio会引导你完成GitHub的OAuth授权流程。通常这会打开一个浏览器窗口,让你登录GitHub并授权Composio访问。授权成功后,Composio就会安全地管理你的GitHub连接凭证。

你可以使用以下命令查看所有支持的应用:

composio apps

第五步:在AI智能体中执行任务

一切准备就绪后,你就可以在你的AI智能体代码中调用这些应用的功能了。下面是一个结合LangChain和Composio的简单Python代码示例,展示了如何让一个AI智能体在你的GitHub仓库里创建一个新的issue(问题)。

from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_openai_functions_agent
from langchain_core.prompts import ChatPromptTemplate
from composio_langchain import ComposioToolSet
# 1. 初始化你的大型语言模型
# 确保你也设置了OpenAI的API密钥: export OPENAI_API_KEY="你的OpenAI密钥"
llm = ChatOpenAI(model="gpt-4-turbo", temperature=0)
# 2. 获取Composio工具集
# Composio会自动处理已连接应用的认证和API调用细节
composio_toolset = ComposioToolSet()
tools = composio_toolset.get_tools()
# 3. 创建一个提示模板
# 告诉AI智能体它的角色和任务
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful assistant that can manage GitHub repositories."),
("user", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
# 4. 创建AI智能体
# 将语言模型、工具和提示组合在一起
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# 5. 执行任务
# 用自然语言向AI智能体下达指令
response = agent_executor.invoke({
"input": "Create an issue in the 'my-test-repo' repository under my user account, with the title 'New Feature Idea' and the body 'We should add a dark mode to the application.'"
})
print(response)

在这个例子里,你只需要用简单的自然语言描述你的需求,Composio就会在后台将这个指令转换为具体、真实的GitHub API调用,并使用你之前授权的账户去执行。你完全不需要关心如何构建API请求、如何处理认证令牌等复杂的技术细节。

这就是Composio的基本使用流程。通过这种方式,你可以非常快速地将各种强大的外部工具集成到你的AI智能体中,让它能够真正地在数字世界中为你完成各种实际工作。

应用场景

  1. 自动化软件开发工作流可以将AI智能体接入GitHub、Jira等开发工具。让智能体自动处理一些常规任务,比如:当一个GitHub仓库收到新的代码提交时,自动在Jira中创建一个对应的测试任务,并指派给相关开发人员。
  2. 智能客户支持通过连接Gmail、Salesforce等客户关系管理工具,AI智能体可以自动阅读和分类收到的客户邮件。 如果是常见问题,它可以直接生成并发送回复;如果是复杂问题,它可以在Salesforce中创建一条新的客户支持记录,并通知人工客服跟进。
  3. 自动化营销活动将AI智能体与Slack和HubSpot等营销工具集成。 例如,当HubSpot中新增一个潜在客户时,AI智能体可以自动在Slack的销售频道中发送一条通知,并根据客户信息为其准备一份初步的产品介绍资料。
  4. 个人助理你可以创建一个个人AI助理,连接你的Google日历、Notion和即时通讯工具。你只需要通过对话告诉它:“帮我安排下周三下午两点和张三开会,并把会议记录的模板在Notion里建好。”AI智能体就会自动检查你的日程冲突,发送会议邀请,并在Notion中创建好页面。

QA

  1. Composio支持哪些AI框架?Composio的设计是框架无关的,它可以与目前主流的AI智能体框架无缝集成,包括LangChain、LlamaIndex、AutoGen、CrewAI、Vercel AI SDK等。
  2. 使用Composio是否安全?我的账户凭证会泄露吗?Composio非常注重安全,它采用了SOC 2 Type II标准来保障数据安全。当你通过Composio连接第三方应用时,你的认证信息(如API密钥或OAuth令牌)会被加密并统一管理,开发者在编写代码时无法直接接触到这些凭证,从而降低了泄露风险。
  3. 如果我想连接的工具不在Composio的支持列表里怎么办?Composio允许用户通过提供OpenAPI规范来添加自定义工具。这意味着如果你的公司有内部使用的API或者某个比较小众的SaaS工具,你也可以自己动手将它集成到Composio平台,让你的AI智能体使用。
  4. Composio是免费的吗?Composio提供了多种定价方案,包括一个免费套餐。免费套餐通常会包含一定量的每月工具调用次数,对于个人开发者和小项目来说是足够的。如果你的用量更大,或者需要企业级的支持和服务,可以选择他们的付费套餐。
  5. Composio和Zapier这样的自动化工具有什么区别?Zapier等工具主要是为普通用户设计的,通过图形化界面连接应用,实现“如果A发生,就执行B”这样的简单自动化流程。而Composio是为开发者设计的,它更深入地集成在AI智能体的“思考”和“决策”环节中,让AI能够根据复杂的指令和上下文,自主地选择并执行一系列工具,而不仅仅是响应固定的触发器。
微信微博Email复制链接