composio-langchain


Namecomposio-langchain JSON
Version 0.2.63 PyPI version JSON
download
home_pagehttps://github.com/SamparkAI/composio_sdk
SummaryUse Composio to get an array of tools with your LangChain agent.
upload_time2024-05-23 11:23:46
maintainerNone
docs_urlNone
authorKaran
requires_python<4,>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## 🦜🔗 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.

```bash
# 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.

```python
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.

```python
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.

```python
task = "Star a repo SamparkAI/docs 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.

```bash
> Entering new AgentExecutor chain...
> Invoking: `github_star_repo` with `{'owner': 'SamparkAI', 'repo': 'docs'}`
> {'execution_details': {'executed': True}, 'response_data': ''}
> I have successfully starred the repository SamparkAI/docs on GitHub.
```

### Advanced Configuration

- **Filter Specific Actions:** Limit the actions an agent can execute.

```python
# 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.

```python
# Allow usage of Asana and GitHub only
toolsAsanaGithub = ComposioToolset(apps=[App.ASANA, App.GITHUB])
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SamparkAI/composio_sdk",
    "name": "composio-langchain",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Karan",
    "author_email": "karan@composio.dev",
    "download_url": "https://files.pythonhosted.org/packages/c5/87/f8dc0a2f592d3899ee24568cc1ab71bd8bea80526d72abfba0090dbe25fe/composio_langchain-0.2.63.tar.gz",
    "platform": null,
    "description": "## \ud83e\udd9c\ud83d\udd17 Using Composio With LangChain\n\nIntegrate Composio with LangChain agents to allow them to interact seamlessly with external apps, enhancing their functionality and reach.\n\n### Goal\n\n- **Star a repository on GitHub** using natural language commands through a LangChain Agent.\n\n### Installation and Setup\n\nEnsure you have the necessary packages installed and connect your GitHub account to allow your agents to utilize GitHub functionalities.\n\n```bash\n# Install Composio LangChain package\npip install composio-langchain\n\n# Connect your GitHub account\ncomposio-cli add github\n\n# View available applications you can connect with\ncomposio-cli show-apps\n```\n\n### Usage Steps\n\n#### 1. Import Base Packages\n\nPrepare your environment by initializing necessary imports from LangChain and setting up your agent.\n\n```python\nfrom langchain.agents import create_openai_functions_agent, AgentExecutor\nfrom langchain import hub\nfrom langchain_openai import ChatOpenAI\n\n# Initialize LangChain OpenAI Chat\nllm = ChatOpenAI()\n\n# Pull the agent prompt configuration\nprompt = hub.pull(\"hwchase17/openai-functions-agent\")\n```\n\n#### 2. Fetch GitHub LangChain Tools via Composio\n\nAccess GitHub tools provided by Composio for LangChain.\n\n```python\nfrom composio_langchain import ComposioToolset, Action, App\n\n# Initialize the toolset for GitHub\ntools = ComposioToolset(apps=[App.GITHUB])\n```\n\n#### 3. Execute the Agent\n\nConfigure and execute the agent to perform tasks such as starring a repository on GitHub.\n\n```python\ntask = \"Star a repo SamparkAI/docs on GitHub\"\n\n# Create and set up the agent\nagent = create_openai_functions_agent(llm, tools, prompt)\nagent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)\n\n# Execute the task\nagent_executor.invoke({\"input\": task})\n```\n\n#### 4. Check Response\n\nValidate the execution and response from the agent to ensure the task was completed successfully.\n\n```bash\n> Entering new AgentExecutor chain...\n> Invoking: `github_star_repo` with `{'owner': 'SamparkAI', 'repo': 'docs'}`\n> {'execution_details': {'executed': True}, 'response_data': ''}\n> I have successfully starred the repository SamparkAI/docs on GitHub.\n```\n\n### Advanced Configuration\n\n- **Filter Specific Actions:** Limit the actions an agent can execute.\n\n```python\n# Filter to only allow creating issues on GitHub\ntoolsGithubCreateIssue = ComposioToolset(actions=[Action.GITHUB_CREATE_ISSUE])\n```\n\n- **Filter Specific Apps:** Restrict the tools an agent can use.\n\n```python\n# Allow usage of Asana and GitHub only\ntoolsAsanaGithub = ComposioToolset(apps=[App.ASANA, App.GITHUB])\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Use Composio to get an array of tools with your LangChain agent.",
    "version": "0.2.63",
    "project_urls": {
        "Homepage": "https://github.com/SamparkAI/composio_sdk"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a9b3a63adadb876fc91e4497ffce82446f8d380fc7f599e529bcc69c416da5c0",
                "md5": "366bcf45a74e0060169ad4fc56ff7249",
                "sha256": "98094804483e8b1e5604d8a05b47d7fa51c6c01eb38d1abb3034e8bdfb944594"
            },
            "downloads": -1,
            "filename": "composio_langchain-0.2.63-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "366bcf45a74e0060169ad4fc56ff7249",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.9",
            "size": 5053,
            "upload_time": "2024-05-23T11:23:45",
            "upload_time_iso_8601": "2024-05-23T11:23:45.243789Z",
            "url": "https://files.pythonhosted.org/packages/a9/b3/a63adadb876fc91e4497ffce82446f8d380fc7f599e529bcc69c416da5c0/composio_langchain-0.2.63-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c587f8dc0a2f592d3899ee24568cc1ab71bd8bea80526d72abfba0090dbe25fe",
                "md5": "99f2bdbadc15c8de2548fd3534c4424a",
                "sha256": "2e871f131815a9bafbd95fb59eac9613c45438a4a333a131bdf5222b9d586bb6"
            },
            "downloads": -1,
            "filename": "composio_langchain-0.2.63.tar.gz",
            "has_sig": false,
            "md5_digest": "99f2bdbadc15c8de2548fd3534c4424a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.9",
            "size": 4517,
            "upload_time": "2024-05-23T11:23:46",
            "upload_time_iso_8601": "2024-05-23T11:23:46.574447Z",
            "url": "https://files.pythonhosted.org/packages/c5/87/f8dc0a2f592d3899ee24568cc1ab71bd8bea80526d72abfba0090dbe25fe/composio_langchain-0.2.63.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-23 11:23:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SamparkAI",
    "github_project": "composio_sdk",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "composio-langchain"
}
        
Elapsed time: 0.28094s