Skip to main content

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", "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 SamparkAI/docs 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 "docs" for you on GitHub under the account "SamparkAI".', '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])

Metadata

Release files for composio-autogen 0.3.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for composio-autogen 0.3.15
File Size Uploaded Provenance
composio_autogen-0.3.15.tar.gz 4.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for composio-autogen 0.3.15
File Interpreter ABI Platform
composio_autogen-0.3.15-py3-none-any.whl Python 3 none any Details

Total release size: 8.9 kB

Release files / composio_autogen-0.3.15.tar.gz

Download URL composio_autogen-0.3.15.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
eb14a03d6e66dd5db7e6e1167ac51fce09e634621056562321efa28c5ba6d2a8
BLAKE2b-256 checksum
How to use checksums
d16349d9cc732aaeaf293f5dd4a418ba1afba0fc1bf750c61441622b48037c60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / composio_autogen-0.3.15-py3-none-any.whl

Download URL composio_autogen-0.3.15-py3-none-any.whl
Size 4.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58b536d32818a44de3a58c13380cf2678f2d9aa30bdac50adceb10cc98d7afc5
BLAKE2b-256 checksum
How to use checksums
4183c930c76945e1e9cf58c6a3c9c3b9b050f3c9e137f2274c45d5198257b78d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.4

Security for composio-autogen 0.3.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.15 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page