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])
Release files for composio-autogen 0.3.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| composio_autogen-0.3.18.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| composio_autogen-0.3.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.0 kB
Release files / composio_autogen-0.3.18.tar.gz
| Download URL | composio_autogen-0.3.18.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
861420a2da65184bc3350cb27b3de33d835c5b29567ec7047b036eb459913772
|
|
BLAKE2b-256 checksum How to use checksums |
c3fbae6152a8d0b67220dfec53a579a4004c9c2a7cd16f385e894beaf5896abd
|
| 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.18-py3-none-any.whl
| Download URL | composio_autogen-0.3.18-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46fbe57de083f0e58d46a99a54d622c7dfad2214a238d71f631421543a6067b9
|
|
BLAKE2b-256 checksum How to use checksums |
21a6b9ade89e8fb52d8819291daa72adf345495bf7d1c175963bdd41c51e4e71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|