Ferramenta Composio
ComposioToolSet
Seção intitulada “ComposioToolSet”Descrição
Seção intitulada “Descrição”Composio é uma plataforma de integração que permite conectar seus agentes de IA a mais de 250 ferramentas. Os principais recursos incluem:
- Autenticação de Nível Empresarial: Suporte integrado para OAuth, Chaves de API, JWT com atualização automática de token
- Observabilidade Completa: Logs detalhados de uso das ferramentas, carimbos de data/hora de execução e muito mais
Instalação
Seção intitulada “Instalação”Para incorporar as ferramentas Composio em seu projeto, siga as instruções abaixo:
pip install composio composio-crewaipip install crewaiApós concluir a instalação, defina sua chave de API do Composio como COMPOSIO_API_KEY. Obtenha sua chave de API do Composio aqui
Exemplo
Seção intitulada “Exemplo”O exemplo a seguir demonstra como inicializar a ferramenta e executar uma ação do GitHub:
- Inicialize o Composio com o Provider do CrewAI
from composio_crewai import ComposioProviderfrom composio import Composiofrom crewai import Agent, Task, Crew
composio = Composio(provider=ComposioProvider())- Crie uma nova sessão Composio e recupere as ferramentas
Code
session = composio.create( user_id="your-user-id", toolkits=["gmail", "github"] # optional, default is all toolkits)tools = session.tools()Leia mais sobre sessões e gerenciamento de usuários aqui
- Autenticação manual dos usuários
O Composio autentica automaticamente os usuários durante a sessão de chat do agente. No entanto, você também pode autenticar o usuário manualmente chamando o método authorize.
connection_request = session.authorize("github")print(f"Open this URL to authenticate: {connection_request.redirect_url}")- Defina o agente
crewai_agent = Agent( role="GitHub Agent", goal="You take action on GitHub using GitHub APIs", backstory="You are AI agent that is responsible for taking actions on GitHub on behalf of users using GitHub APIs", verbose=True, tools=tools, llm= # pass an llm)- Execute a tarefa
task = Task( description="Star a repo composiohq/composio on GitHub", agent=crewai_agent, expected_output="Status of the operation",)
crew = Crew(agents=[crewai_agent], tasks=[task])
crew.kickoff()- Uma lista mais detalhada de ferramentas pode ser encontrada aqui