| [ |
| { |
| "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 |
| } |
| } |
| } |
| ] |