Use Composio to get an array of tools with your LangChain agent.
Project description
🦜🔗 Using Composio With LangChain
Integrate Composio with LangChain agents to allow them to interact seamlessly with external apps, enhancing their functionality and reach.
Goal
- Star a repository on GitHub using natural language commands through a LangChain Agent.
Installation and Setup
Ensure you have the necessary packages installed and connect your GitHub account to allow your agents to utilize GitHub functionalities.
# Install Composio LangChain package
pip install composio-langchain
# Connect your GitHub account
composio-cli add github
# View available applications you can connect with
composio-cli show-apps
Usage Steps
1. Import Base Packages
Prepare your environment by initializing necessary imports from LangChain and setting up your agent.
from langchain.agents import create_openai_functions_agent, AgentExecutor
from langchain import hub
from langchain_openai import ChatOpenAI
# Initialize LangChain OpenAI Chat
llm = ChatOpenAI()
# Pull the agent prompt configuration
prompt = hub.pull("hwchase17/openai-functions-agent")
2. Fetch GitHub LangChain Tools via Composio
Access GitHub tools provided by Composio for LangChain.
from composio_langchain import ComposioToolset, Action, App
# Initialize the toolset for GitHub
tools = ComposioToolset(apps=[App.GITHUB])
3. Execute the Agent
Configure and execute the agent to perform tasks such as starring a repository on GitHub.
task = "Star a repo composiohq/composio on GitHub"
# Create and set up the agent
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Execute the task
agent_executor.invoke({"input": task})
4. Check Response
Validate the execution and response from the agent to ensure the task was completed successfully.
> Entering new AgentExecutor chain...
> Invoking: `github_star_repo` with `{'owner': 'composiohq', 'repo': 'composio'}`
> {'execution_details': {'executed': True}, 'response_data': ''}
> I have successfully starred the repository composiohq/composio on GitHub.
Advanced Configuration
- Filter Specific Actions: Limit the actions an agent can execute.
# Filter to only allow creating issues on GitHub
toolsGithubCreateIssue = ComposioToolset(actions=[Action.GITHUB_CREATE_ISSUE])
- Filter Specific Apps: Restrict the tools an agent can use.
# Allow usage of Asana and GitHub only
toolsAsanaGithub = ComposioToolset(apps=[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
Built Distribution
Hashes for composio_langchain-0.5.16.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b27b8eff8b53016897d6cd36ffb733a9a11cc72353436cb230a8bf6e989e64b1 |
|
MD5 | 43a0d81f51c5d0f82785b187549273d1 |
|
BLAKE2b-256 | 0045fa42f00cdcbdf7aab1f3a48e92c51681c9694f2e03f057b4d0a91d4ea004 |
Hashes for composio_langchain-0.5.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e80c95a1f9f01247478e847d6b4e7e2d60555bea3b92f93869a6d8e4f6835d42 |
|
MD5 | de3a7df305fd8db61e3478c3615f35f6 |
|
BLAKE2b-256 | 62109fe32487840c157d46e478401d4689d2e515c4695aed84cd5ad0b4c661e4 |