composio-llamaindex


Namecomposio-llamaindex JSON
Version 0.6.19 PyPI version JSON
download
home_pagehttps://github.com/ComposioHQ/composio
SummaryUse Composio to get an array of tools with your LlamaIndex agent.
upload_time2025-01-28 19:25:52
maintainerNone
docs_urlNone
authorSawradip
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 LlamaIndex

Integrate Composio with llamaindex agents to allow them to interact seamlessly with external apps & data sources, enhancing their functionality and reach.

### Goal

- **Star a repository on GitHub** using natural language commands through a llamaindex 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 llamaindex package
pip install composio-llamaindex

# 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 llamaindex and setting up your agent.

```python
from llama_index.llms.openai import OpenAI
from llama_index.core.llms import ChatMessage
from llama_index.core.agent import FunctionCallingAgentWorker

import dotenv
from llama_index.core.tools import FunctionTool

# Load environment variables from .env
dotenv.load_dotenv()

llm = OpenAI(model="gpt-4-turbo")
```

#### 2. Fetch GitHub llamaindex Tools via Composio

Access GitHub tools provided by Composio for llamaindex.

```python
from composio_llamaindex import App, Action, ComposioToolSet

# Get All the tools
composio_toolset = ComposioToolSet()
tools = composio_toolset.get_actions(
    actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]
)
print(tools)
```

#### 3. Prepare the Agent

Configure the agent to perform tasks such as starring a repository on GitHub.

```python

prefix_messages = [
    ChatMessage(
        role="system",
        content=(
            "You are now a integration agent, and what  ever you are requested, you will try to execute utilizing your toools."
        ),
    )
]

agent = FunctionCallingAgentWorker(
    tools=tools,
    llm=llm,
    prefix_messages=prefix_messages,
    max_function_calls=10,
    allow_parallel_tool_calls=False,
    verbose=True,
).as_agent()
```

#### 4. Check Response

Validate the execution and response from the agent to ensure the task was completed successfully.

```bash
response = agent.chat("Hello! I would like to star a repo composiohq/composio on GitHub")
print("Response:", response)
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ComposioHQ/composio",
    "name": "composio-llamaindex",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Sawradip",
    "author_email": "sawradip@composio.dev",
    "download_url": "https://files.pythonhosted.org/packages/52/a0/64c0ae9d9865a699089badce2979724d385adfdee246e6226f613b363cb5/composio_llamaindex-0.6.19.tar.gz",
    "platform": null,
    "description": "## \ud83e\udd99 Using Composio With LlamaIndex\n\nIntegrate Composio with llamaindex agents to allow them to interact seamlessly with external apps & data sources, enhancing their functionality and reach.\n\n### Goal\n\n- **Star a repository on GitHub** using natural language commands through a llamaindex 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 llamaindex package\npip install composio-llamaindex\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 llamaindex and setting up your agent.\n\n```python\nfrom llama_index.llms.openai import OpenAI\nfrom llama_index.core.llms import ChatMessage\nfrom llama_index.core.agent import FunctionCallingAgentWorker\n\nimport dotenv\nfrom llama_index.core.tools import FunctionTool\n\n# Load environment variables from .env\ndotenv.load_dotenv()\n\nllm = OpenAI(model=\"gpt-4-turbo\")\n```\n\n#### 2. Fetch GitHub llamaindex Tools via Composio\n\nAccess GitHub tools provided by Composio for llamaindex.\n\n```python\nfrom composio_llamaindex import App, Action, ComposioToolSet\n\n# Get All the tools\ncomposio_toolset = ComposioToolSet()\ntools = composio_toolset.get_actions(\n    actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]\n)\nprint(tools)\n```\n\n#### 3. Prepare the Agent\n\nConfigure the agent to perform tasks such as starring a repository on GitHub.\n\n```python\n\nprefix_messages = [\n    ChatMessage(\n        role=\"system\",\n        content=(\n            \"You are now a integration agent, and what  ever you are requested, you will try to execute utilizing your toools.\"\n        ),\n    )\n]\n\nagent = FunctionCallingAgentWorker(\n    tools=tools,\n    llm=llm,\n    prefix_messages=prefix_messages,\n    max_function_calls=10,\n    allow_parallel_tool_calls=False,\n    verbose=True,\n).as_agent()\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\nresponse = agent.chat(\"Hello! I would like to star a repo composiohq/composio on GitHub\")\nprint(\"Response:\", response)\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Use Composio to get an array of tools with your LlamaIndex agent.",
    "version": "0.6.19",
    "project_urls": {
        "Homepage": "https://github.com/ComposioHQ/composio"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf3b494a69a53d9b714ff918814cca95d5c63b091fff30d9d96c46ad895d5f32",
                "md5": "28452b666ef4d723077fd45a31a1862d",
                "sha256": "34fee8f3beec0488c3b31a373dd1fd6650fc380227569c991cca3a1039a090e0"
            },
            "downloads": -1,
            "filename": "composio_llamaindex-0.6.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "28452b666ef4d723077fd45a31a1862d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.9",
            "size": 4608,
            "upload_time": "2025-01-28T19:25:33",
            "upload_time_iso_8601": "2025-01-28T19:25:33.578084Z",
            "url": "https://files.pythonhosted.org/packages/cf/3b/494a69a53d9b714ff918814cca95d5c63b091fff30d9d96c46ad895d5f32/composio_llamaindex-0.6.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52a064c0ae9d9865a699089badce2979724d385adfdee246e6226f613b363cb5",
                "md5": "26956ea898380f78e3f6833b025e8a24",
                "sha256": "636a7a96a395be400785ed0759cb0b65e6121788dc66901ed5a0c59469028658"
            },
            "downloads": -1,
            "filename": "composio_llamaindex-0.6.19.tar.gz",
            "has_sig": false,
            "md5_digest": "26956ea898380f78e3f6833b025e8a24",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.9",
            "size": 4156,
            "upload_time": "2025-01-28T19:25:52",
            "upload_time_iso_8601": "2025-01-28T19:25:52.209076Z",
            "url": "https://files.pythonhosted.org/packages/52/a0/64c0ae9d9865a699089badce2979724d385adfdee246e6226f613b363cb5/composio_llamaindex-0.6.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-28 19:25:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ComposioHQ",
    "github_project": "composio",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "composio-llamaindex"
}
        
Elapsed time: 8.76214s