Text Generation
Transformers
Safetensors
English
Chinese
function-calling
tool-use
crypto
blockchain
solana
ethereum
on-device
privacy
edge-ai
mobile
wallet
standard-protocol
Instructions to use DMindAI/DMind-3-nano with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DMindAI/DMind-3-nano with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DMindAI/DMind-3-nano")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("DMindAI/DMind-3-nano", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use DMindAI/DMind-3-nano with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DMindAI/DMind-3-nano" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DMindAI/DMind-3-nano", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/DMindAI/DMind-3-nano
- SGLang
How to use DMindAI/DMind-3-nano with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "DMindAI/DMind-3-nano" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DMindAI/DMind-3-nano", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "DMindAI/DMind-3-nano" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DMindAI/DMind-3-nano", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use DMindAI/DMind-3-nano with Docker Model Runner:
docker model run hf.co/DMindAI/DMind-3-nano
| [ | |
| { | |
| "id": 1, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "用 2 SOL 购买 RAY" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "inputTokenAmount": "2", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 2, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "把所有 JUP 都卖了" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 3, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 4, | |
| "category": "search_by_symbol_cn", | |
| "description": "Search POPCAT by symbol (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "查询 POPCAT 代币" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "POPCAT", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 5, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 6, | |
| "category": "incomplete_no_token", | |
| "description": "Missing which token to sell", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell my holdings" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 7, | |
| "category": "search_by_symbol", | |
| "description": "Search WIF by symbol", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Find WIF on solana" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "WIF", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 8, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 9, | |
| "category": "search_by_keyword", | |
| "description": "Search by keyword: dog", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for dog themed tokens" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "keyword": "dog", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 10, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 11, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 12, | |
| "category": "search_by_address", | |
| "description": "Search SOL by address", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search token at address So11111111111111111111111111111111111111112" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "address": "So11111111111111111111111111111111111111112", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 13, | |
| "category": "incomplete_swap", | |
| "description": "Missing swap details", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Swap tokens" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 14, | |
| "category": "incomplete_trade", | |
| "description": "Missing trade details", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "I want to trade" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 15, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 16, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "清仓 ETH" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 17, | |
| "category": "token_to_token", | |
| "description": "Swap ETH to USDC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Convert all my ETH to USDC" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", | |
| "outputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 18, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 19, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 20, | |
| "category": "sell_with_percentage", | |
| "description": "Sell 25% USDC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell a quarter of my USDC" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.25 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 21, | |
| "category": "sell_with_amount", | |
| "description": "Sell 100 JUP", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Convert 100 JUP to SOL" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "100", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 22, | |
| "category": "buy_with_amount", | |
| "description": "Buy RAY with 2 SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "I want to buy 2 SOL of RAY" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "inputTokenAmount": "2", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 23, | |
| "category": "sell_with_amount", | |
| "description": "Sell 50 USDC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell 50 USDC" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "50", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 24, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 25, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 26, | |
| "category": "incomplete_no_token", | |
| "description": "Missing token name", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "I want to buy some tokens" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 27, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 28, | |
| "category": "buy_with_percentage", | |
| "description": "Buy RAY with 25% ETH", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Put 25% of my ETH into RAY" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", | |
| "outputTokenCA": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.25 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 29, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 30, | |
| "category": "sell_with_percentage", | |
| "description": "Sell 50% BONK", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell 50% of my BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.5 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 31, | |
| "category": "search_by_symbol_cn", | |
| "description": "Search RAY by symbol (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "搜索 RAY 代币" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "RAY", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 32, | |
| "category": "token_to_token", | |
| "description": "Swap JUP to WIF", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Exchange 50 JUP for WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "outputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "inputTokenAmount": "50", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 33, | |
| "category": "irrelevant_time", | |
| "description": "Time query", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "What time is it?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 34, | |
| "category": "irrelevant_greeting", | |
| "description": "Greeting", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Hello, how are you?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 35, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 36, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "买入 5 SOL 的 POPCAT" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr", | |
| "inputTokenAmount": "5", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 37, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 38, | |
| "category": "incomplete_vague", | |
| "description": "Too vague", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy something" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 39, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 40, | |
| "category": "search_by_address", | |
| "description": "Search JUP by address", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search token at address JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "address": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 41, | |
| "category": "sell_with_percentage", | |
| "description": "Sell 75% RAY", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Get rid of 75% of my RAY" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.75 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 42, | |
| "category": "buy_with_percentage", | |
| "description": "Buy BONK with 50% SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy BONK with 50% of my SOL" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.5 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 43, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "把 50% 的 USDC 换成 WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.5 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 44, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "卖掉 1000 个 BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "1000", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 45, | |
| "category": "buy_with_amount", | |
| "description": "Buy BONK with 1 SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 1 SOL worth of BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "inputTokenAmount": "1", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 46, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 47, | |
| "category": "irrelevant_cn", | |
| "description": "Weather (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "今天天气怎么样?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 48, | |
| "category": "irrelevant_general", | |
| "description": "General knowledge", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Who is the president?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 49, | |
| "category": "search_by_symbol_cn", | |
| "description": "Search JUP by symbol (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "找一下 JUP 代币信息" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "JUP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 50, | |
| "category": "sell_with_percentage", | |
| "description": "Sell 100% WIF", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Dump all my WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 51, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 52, | |
| "category": "token_to_token", | |
| "description": "Swap USDC to BONK", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Swap 100 USDC for BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "inputTokenAmount": "100", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 53, | |
| "category": "search_by_symbol", | |
| "description": "Search JUP by symbol", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Look up JUP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "JUP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 54, | |
| "category": "incomplete_no_info", | |
| "description": "Missing token info", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for a token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 55, | |
| "category": "search_by_keyword", | |
| "description": "Search by keyword: meme", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Find meme coins" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "keyword": "meme", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 56, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "用 1 个 SOL 买 BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "inputTokenAmount": "1", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 57, | |
| "category": "irrelevant_joke", | |
| "description": "Joke request", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Tell me a joke" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 58, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 59, | |
| "category": "buy_with_amount", | |
| "description": "Buy POPCAT with 0.5 SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Get me 0.5 SOL of POPCAT" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr", | |
| "inputTokenAmount": "0.5", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 60, | |
| "category": "irrelevant_cn", | |
| "description": "Joke (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "给我讲个笑话" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 61, | |
| "category": "buy_with_percentage", | |
| "description": "Buy WIF with 30% USDC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Use 30% of my USDC to buy WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.3 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 62, | |
| "category": "search_by_symbol_cn", | |
| "description": "Search BONK by symbol (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "帮我搜索 BONK 代币" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "BONK", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 63, | |
| "category": "search_by_symbol_cn", | |
| "description": "Search WIF by symbol (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "查一下 WIF 这个币" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "WIF", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 64, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 65, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 66, | |
| "category": "buy_with_amount", | |
| "description": "Buy WIF with 5 SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Purchase 5 SOL of WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "inputTokenAmount": "5", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 67, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 68, | |
| "category": "swap_chinese", | |
| "description": "Swap request in Chinese", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "出售 30% 的 WIF" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.3 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 69, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 70, | |
| "category": "buy_with_amount", | |
| "description": "Buy JUP with 10 USDC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 10 USDC worth of JUP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "outputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "inputTokenAmount": "10", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 71, | |
| "category": "search_by_symbol", | |
| "description": "Search BONK by symbol", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for BONK token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "BONK", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 72, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 73, | |
| "category": "irrelevant_weather", | |
| "description": "Weather query", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "What's the weather today?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 74, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 75, | |
| "category": "incomplete_cn", | |
| "description": "Missing token (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "我想买币" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 76, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 77, | |
| "category": "buy_with_percentage", | |
| "description": "Buy JUP with 100% SOL", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Spend 100% of my SOL on JUP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 1.0 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 78, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 79, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 80, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 81, | |
| "category": "irrelevant_info", | |
| "description": "Info request (no action)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "What is Bitcoin?" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 82, | |
| "category": "sell_with_amount", | |
| "description": "Sell 500 WIF", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell 500 WIF for SOL" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "500", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 83, | |
| "category": "buy_with_percentage", | |
| "description": "Buy BONK with 50% BTC", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Use half of my BTC to get BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E", | |
| "outputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.5 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 84, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 85, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 86, | |
| "category": "search_by_symbol", | |
| "description": "Search USDC by symbol", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Find USDC token on base" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "USDC", | |
| "chain": "base" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 87, | |
| "category": "incomplete_cn", | |
| "description": "Missing token and amount (Chinese)", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "帮我卖掉" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": null, | |
| "arguments": null | |
| } | |
| }, | |
| { | |
| "id": 88, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 89, | |
| "category": "search_by_address", | |
| "description": "Search USDC by address", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search token at address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 90, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 91, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 92, | |
| "category": "search_by_address", | |
| "description": "Search RAY by address", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search token at address 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "address": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 93, | |
| "category": "search_by_keyword", | |
| "description": "Search by keyword: cat", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Look for cat tokens on base" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "keyword": "cat", | |
| "chain": "base" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 94, | |
| "category": "sell_with_amount", | |
| "description": "Sell 1000 BONK", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell 1000 BONK" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "1000", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 95, | |
| "category": "sell_with_amount", | |
| "description": "Sell 2000 RAY", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Dump 2000 RAY" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": "2000", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| }, | |
| { | |
| "id": 96, | |
| "category": "sell_with_percentage", | |
| "description": "Sell 30% JUP", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Sell 30% of my JUP holdings" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", | |
| "outputTokenCA": "So11111111111111111111111111111111111111112", | |
| "inputTokenAmount": null, | |
| "inputTokenPercentage": 0.3 | |
| } | |
| } | |
| }, | |
| { | |
| "id": 97, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search for TRUMP token" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "TRUMP", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 98, | |
| "category": "search_by_symbol", | |
| "description": "Search ETH by symbol", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search ETH on ethereum" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "symbol": "ETH", | |
| "chain": "ethereum" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 99, | |
| "category": "search_by_address", | |
| "description": "Search BONK by address", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Search token at address DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "SEARCH_TOKEN", | |
| "arguments": { | |
| "address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", | |
| "chain": "solana" | |
| } | |
| } | |
| }, | |
| { | |
| "id": 100, | |
| "category": "extra", | |
| "description": "Extra test case", | |
| "input": { | |
| "messages": [ | |
| { | |
| "role": "developer", | |
| "content": "You are a model that can do function calling with the following functions" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "Buy 3 SOL of TRUMP" | |
| } | |
| ], | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "SEARCH_TOKEN", | |
| "description": "search token onchain", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "symbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token" | |
| }, | |
| "address": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token" | |
| }, | |
| "chain": { | |
| "type": "string", | |
| "enum": [ | |
| "solana", | |
| "ethereum", | |
| "bsc", | |
| "base" | |
| ], | |
| "description": "supported chains" | |
| }, | |
| "keyword": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "keyword to search for the token" | |
| } | |
| }, | |
| "required": [] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "EXECUTE_SWAP", | |
| "description": "Swap tokens on the Solana blockchain. When the user specifies 'buy <token>', the default input token is SOL. When the user specifies 'sell <token>', the default output token is SOL.", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "inputTokenSymbol": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Symbol of the token to sell." | |
| }, | |
| "inputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to sell." | |
| }, | |
| "outputTokenCA": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Contract address of the token to buy." | |
| }, | |
| "inputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Exact amount of the input token to swap." | |
| }, | |
| "inputTokenPercentage": { | |
| "type": [ | |
| "number", | |
| "null" | |
| ], | |
| "description": "Percentage of the input token balance to swap." | |
| }, | |
| "outputTokenAmount": { | |
| "type": [ | |
| "string", | |
| "null" | |
| ], | |
| "description": "Expected amount of the output token to receive." | |
| } | |
| }, | |
| "required": [ | |
| "inputTokenCA", | |
| "outputTokenCA", | |
| "inputTokenAmount", | |
| "inputTokenPercentage" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "expected": { | |
| "function_name": "EXECUTE_SWAP", | |
| "arguments": { | |
| "inputTokenCA": "So11111111111111111111111111111111111111112", | |
| "outputTokenCA": "6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN", | |
| "inputTokenAmount": "3", | |
| "inputTokenPercentage": null | |
| } | |
| } | |
| } | |
| ] |