Back to Llama Index

Playgrounds Tool Specs

llama-index-integrations/tools/llama-index-tools-playgrounds/README.md

0.14.216.3 KB
Original Source

Playgrounds Tool Specs

playgrounds_subgraph_connector

bash
pip install llama-index-tools-playgrounds

Playgrounds API is a service provided by Playgrounds Analytics to streamline interfacing with decentralized subgraphs (indexed blockchain datasets).

The PlaygroundsSubgraphConnector is a tool designed for LLM agents to seamlessly interface with and query subgraphs on The Graph's decentralized network via Playgrounds API.

This tool is specifically designed to be used alongside Llama index or langchain

Advantages of this tool:

  • Easy access to Decentralized Subgraphs (Datasets): No need for wallet or GRT management.
  • LLM x Blockchain data: Develop Ai applications that leverage blockchain data seamlessly.

Basic Usage:

To utilize the tool, simply initialize it with the appropriate identifier (Subgraph ID or Deployment ID) and api_key. Optionally, specify if you're using a deployment ID.

python
import openai
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.tools.playgrounds import PlaygroundsSubgraphConnectorToolSpec


async def simple_test():
    """
    Run a simple test querying the financialsDailySnapshots from Uniswap V3 subgraph using FunctionAgent and Playgrounds API.
    """

    # Initialize the tool specification with the subgraph's identifier and the Playgrounds API key
    connector_spec = PlaygroundsSubgraphConnectorToolSpec(
        identifier="YOUR_SUBGRAPH_OR_DEPLOYMENT_IDENTIFIER",
        api_key="YOUR_PLAYGROUNDS_API_KEY",
        use_deployment_id=False,  # Set to True if using Deployment ID
    )

    # Setup agent with the tool
    agent = FunctionAgent(
        tools=connector_spec.to_tool_list(),
        llm=OpenAI(model="gpt-4.1"),
    )

    # Make a query using the agent
    response = await agent.run(
        "query the financialsDailySnapshots for id, timestamp, totalValueLockedUSD, and dailyVolumeUSD. only give me the first 2 rows"
    )
    print(response)


if __name__ == "__main__":
    import asyncio

    asyncio.run(simple_test())

Visit here for more in-depth Examples.

This loader is designed to be used as a way to load data into LlamaIndex and/or subsequently used as a Tool in a LangChain Agent.

playgrounds_subgraph_inspector

Playgrounds API is a service provided by Playgrounds Analytics to facilitate interactions with decentralized subgraphs (indexed blockchain datasets).

The PlaygroundsSubgraphInspectorToolSpec is a tool designed for LLM agents to introspect and understand the schema of subgraphs on The Graph's decentralized network via the Playgrounds API.

This tool is specifically designed to be used alongside Llama index or langchain.

  • To learn more about Playgrounds API, please visit our website: Playgrounds Network
  • Obtain your Playgrounds API Key and get started for free here.
  • Discover any Subgraph (dataset) you need here.

Advantages of this tool:

  • Introspection of Decentralized Subgraphs (Datasets): Understand the schema of any subgraph without hassle.
  • LLM x Blockchain Data: Develop AI applications that leverage introspective insights from blockchain data.

Basic Usage:

To utilize the tool, initialize it with the appropriate identifier (Subgraph ID or Deployment ID), api_key, and specify if you're using a deployment ID.

python
import openai
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.tools.playgrounds import PlaygroundsSubgraphInspectorToolSpec


async def inspect_subgraph(
    openai_api_key: str,
    playgrounds_api_key: str,
    identifier: str,
    use_deployment_id: bool,
    user_prompt: str,
):
    """
    Introspect a subgraph using FunctionAgent and Playgrounds API with the provided parameters.

    Args:
        openai_api_key (str): API key for OpenAI.
        playgrounds_api_key (str): API key for Playgrounds.
        identifier (str): Identifier for the subgraph or deployment.
        use_deployment_id (bool): If True, uses deployment ID in the URL.
        user_prompt (str): User's question or prompt for the agent.

    Returns:
        str: Agent's response.
    """
    # Initialize the inspector with the provided parameters
    inspector_spec = PlaygroundsSubgraphInspectorToolSpec(
        identifier=identifier,
        api_key=playgrounds_api_key,
        use_deployment_id=use_deployment_id,
    )

    # Integrate the tool with the agent
    agent = FunctionAgent(
        tools=inspector_spec.to_tool_list(),
        llm=OpenAI(model="gpt-4.1", api_key=openai_api_key),
    )

    # Send the user prompt to the agent
    response = await agent.run(user_prompt)
    return response


if __name__ == "__main__":
    import asyncio

    resp = asyncio.run(
        inspect_subgraph(
            openai_api_key="YOUR_OPENAI_API_KEY",
            playgrounds_api_key="YOUR_PLAYGROUNDS_API_KEY",
            identifier="YOUR_SUBGRAPH_OR_DEPLOYMENT_IDENTIFIER",
            use_deployment_id=False,
            user_prompt="Which entities will help me understand the usage of Uniswap V3?",
        )
    )
    print(resp)

Visit here for more in-depth Examples.

This inspector is designed to be used as a way to understand the schema of subgraphs and subgraph data being loaded into LlamaIndex.