Skip to main content

Use Composio to get an array of tools with your Autogen agent.

Project description

Composio <> Autogen

Use Composio to enhance your Autogen workflows with a suite of tools.

Quick Start

Goal

Automatically star a GitHub repository using natural language commands through an Autogen Agent.

Installation and Setup

Install Composio Autogen and connect your GitHub account to enable your agents with GitHub functionalities.

pip install composio-autogen
composio-cli add github  # Connect your GitHub account
composio-cli show-apps   # Check all supported apps

Usage

1. Import Base Packages & Create Default Autogen Agent

Setup your environment by importing necessary packages and configuring the Autogen agent.

from autogen import AssistantAgent, UserProxyAgent
from composio_autogen import ComposioToolSet, App, Action
import os

# Configuration for the language model
llm_config = {"config_list": [{"model": "gpt-4-turbo", "api_key": os.environ["OPENAI_API_KEY"]}]}

# Initialize the AssistantAgent
chatbot = AssistantAgent(
    "chatbot",
    system_message="Reply TERMINATE when the task is done or when user's content is empty",
    llm_config=llm_config,
)

# Initialize the UserProxyAgent
user_proxy = UserProxyAgent(
    "user_proxy",
    is_termination_msg=lambda x: x.get("content", "") and "TERMINATE" in x.get("content", ""),
    human_input_mode="NEVER",  # Don't take input from User
    code_execution_config={"use_docker": False}
)

2. Fetch All GitHub Autogen Tools via Composio

Initialize and register the necessary tools for interacting with GitHub.

from composio_autogen import ComposioToolSet, App, Action

# Initialize Composio Toolset
composio_tools = ComposioToolSet()

# Register tools with appropriate executors
composio_tools.register_tools(tools=[App.GITHUB], caller=chatbot, executor=user_proxy)

3. Execute the Task via Agent

Perform tasks like starring a repository on GitHub using the configured agent.

task = "Star a repo composiohq/composio on GitHub"

# Initiate the task
response = user_proxy.initiate_chat(chatbot, message=task)

print(response.chat_history)

4. Check Response

Verify the task completion and response from the agent.

[{'content': 'I have starred the repository "composio" for you on GitHub under the account "composiohq".', 'role': 'user'}, 
{'content': '', 'role': 'assistant'}, {'content': 'TERMINATE', 'role': 'user'}]

Advanced Configuration

  • Filter Specific Actions: Limit the actions an agent can execute to enhance security and focus.
composio_tools.register_tools(actions=[Action.GITHUB_CREATE_ISSUE])
  • Filter Specific Apps: Restrict the agent's access to specific tools for streamlined operations.
composio_tools.register_tools([App.ASANA, App.GITHUB])

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

composio_autogen-0.5.38rc2.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

composio_autogen-0.5.38rc2-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file composio_autogen-0.5.38rc2.tar.gz.

File metadata

  • Download URL: composio_autogen-0.5.38rc2.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for composio_autogen-0.5.38rc2.tar.gz
Algorithm Hash digest
SHA256 24c608c10babee5f377151f156f46ead533f4336114ccc47f9a02ff687532a62
MD5 c9db8d53f090b5a755b1d8152d0d7546
BLAKE2b-256 6d4b6c9220b171832f16b7f84194c7ed2024acdf392fe37de55ecec844e7b4c7

See more details on using hashes here.

File details

Details for the file composio_autogen-0.5.38rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for composio_autogen-0.5.38rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 83411d788c01b78b9512eb0eaa5d370f68a795aab4c8d7cd7af428bf2af4e2b9
MD5 4cfed6741588be268ebdfa7ef89e354a
BLAKE2b-256 4254fe44f8eedf7f4fde3c45edaf0d130eeb64b305f180c1e81ab90f1418ae08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page