The Future of AI-Powered Agents and Workflows
In the future, AI-based agents and workflows are set to become mainstream. Have you ever wondered how to harness the power of AI and apply it to the websites and software you use every day? 🤔
Implementing this idea is not inherently difficult, but it can be complex for non-programmers. 😩 Today, we’ll introduce you to a powerful tool that makes this vision accessible to everyone. 🛠️
Introducing Composio: The Production-Ready Toolset for AI Agents
Composio is a game-changing open source platform that has already garnered 3.3K stars on GitHub! 🌟 It enables AI agents to automatically execute tasks across a wide range of tools, including Google, GitHub, Slack, code interpreters, file managers, and more.
What is Composio?
Composio provides high-quality tools and integrations for AI agents, eliminating concerns about authentication, accuracy, and reliability. It is particularly useful in setups involving complex task execution, API interactions, and secure data handling, offering built-in authentication management and compliance with strict security standards.
For developers, Composio simplifies the integration of different services, allowing for quick setup with minimal coding. The platform supports a broad range of authentication protocols and provides comprehensive observability and logging to monitor AI agents’ interactions with various tools.
🔥 Key Features
✅ 100+ Tools: Composio supports a diverse range of operations, including:
1️⃣ Software: Execute actions on 90+ platforms like GitHub, Notion, Linear, Gmail, Slack, and Hubspot.
2️⃣ Operations: Click anywhere, input any content, copy to clipboard, and more.
3️⃣ Browser: Intelligent search, screenshots, MultiOn, downloads, uploads, etc.
4️⃣ Search: Google search, Perplexity search, Tavily, Exa, and more.
5️⃣ Software Engineering: Ngrok, databases, Redis, Vercel, Git, etc.
6️⃣ RAG: Instantly provide agent RAG for any type of data!
✅ Frameworks: Use tools in agent frameworks like OpenAI, Claude, LlamaIndex, Langchain, CrewAI, Autogen, and Gemini with just one line of code.
✅ Hosted Authorization: Supports six different authentication protocols. Abstracts away Access Tokens, Refresh Tokens, OAuth, API Keys, JWT, etc., allowing you to focus on building agents.
✅ Accuracy: Better tool design improves agent accuracy for tool calls by 40%.
✅ Embeddable: Manage authentication and integrations for all users and agents, maintaining a consistent experience.
✅ Pluggable: Designed to be easily extensible for other tools, frameworks, and authentication protocols.
🚀 Getting Started Demo
Let’s demonstrate how to connect OpenAI Assistant to GitHub using Composio to implement the task of “starring a repository on GitHub using natural language.”
- Install the Composio libraries:
pip install composio_core
pip install composio_openai
- Authenticate your GitHub account:
composio add github
- Import the libraries and fill in your OpenAI and Composio API keys:
from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action
openai_client = OpenAI(api_key="*****OPENAIKEY*****")
composio_toolset = ComposioToolSet(api_key="*****COMPOSIO_API_KEY*****")
- Get all GitHub actions through Composio:
actions = composio_toolset.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER])
- Fill in the task and OpenAI system prompt information:
my_task = "Star a repo composiohq/composio on GitHub"
assistant_instruction = "You are a super intelligent personal assistant"
assistant = openai_client.beta.assistants.create(
name="Personal Assistant",
instructions=assistant_instruction,
model="gpt-4-turbo-preview",
tools=actions, # type: ignore
)
- Create a thread and execute the task operation:
thread = openai_client.beta.threads.create()
message = openai_client.beta.threads.messages.create(thread_id=thread.id,role="user",content=my_task)
run = openai_client.beta.threads.runs.create(thread_id=thread.id,assistant_id=assistant.id)
response_after_tool_calls = composio_toolset.wait_and_handle_assistant_tool_calls(
client=openai_client,
run=run,
thread=thread,
)
print(response_after_tool_calls)
Conclusion
In summary, Composio is a powerful tool that simplifies the AI integration process and enhances productivity across various domains. It’s an innovative solution for seamlessly incorporating AI capabilities into everyday applications and workflows.
🔗 Tool Link: https://github.com/ComposioHQ/composio