composio-llamaindex


Namecomposio-llamaindex JSON
Version 0.6.5 PyPI version JSON
download
home_pagehttps://github.com/ComposioHQ/composio
SummaryUse Composio to get an array of tools with your LlamaIndex agent.
upload_time2024-12-20 10:47:16
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/b4/69/8abc810dd10dd9d16a58a10254408ccd13ac2d62295c3a3be89ecc6bebe4/composio_llamaindex-0.6.5.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.5",
    "project_urls": {
        "Homepage": "https://github.com/ComposioHQ/composio"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eda1be0880af355a3cd323e8e0715287cfbef2e147a1d266ceea7ed2b2025bd6",
                "md5": "e0a04c450e8ff6e09affdc16e7641f2d",
                "sha256": "5d4a3cd6f7ee61fd269a6eb8d97842feca9d80682e17c85c7c2415724da3a542"
            },
            "downloads": -1,
            "filename": "composio_llamaindex-0.6.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0a04c450e8ff6e09affdc16e7641f2d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.9",
            "size": 4434,
            "upload_time": "2024-12-20T10:47:15",
            "upload_time_iso_8601": "2024-12-20T10:47:15.078999Z",
            "url": "https://files.pythonhosted.org/packages/ed/a1/be0880af355a3cd323e8e0715287cfbef2e147a1d266ceea7ed2b2025bd6/composio_llamaindex-0.6.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4698abc810dd10dd9d16a58a10254408ccd13ac2d62295c3a3be89ecc6bebe4",
                "md5": "af3bec3a71b5da3b941ed2d27254ee5c",
                "sha256": "858960b6b0ac0416d795236e29b939db64065bca17a11127fa9f15858987ecd8"
            },
            "downloads": -1,
            "filename": "composio_llamaindex-0.6.5.tar.gz",
            "has_sig": false,
            "md5_digest": "af3bec3a71b5da3b941ed2d27254ee5c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.9",
            "size": 3984,
            "upload_time": "2024-12-20T10:47:16",
            "upload_time_iso_8601": "2024-12-20T10:47:16.047682Z",
            "url": "https://files.pythonhosted.org/packages/b4/69/8abc810dd10dd9d16a58a10254408ccd13ac2d62295c3a3be89ecc6bebe4/composio_llamaindex-0.6.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-20 10:47:16",
    "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: 4.79497s