llama-index-integrations/tools/llama-index-tools-playgrounds/README.md
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
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.
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 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 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.
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.