| { | |
| "tools": [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "get_weather", | |
| "description": "Get the weather for a specific location", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "location": { | |
| "type": "string", | |
| "description": "The city name" | |
| }, | |
| "unit": { | |
| "type": "string", | |
| "enum": ["celsius", "fahrenheit"], | |
| "description": "Temperature unit" | |
| } | |
| }, | |
| "required": ["location"] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "search", | |
| "description": "Search the web for information", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "query": { | |
| "type": "string", | |
| "description": "Search query" | |
| }, | |
| "num_results": { | |
| "type": "integer", | |
| "description": "Number of results to return" | |
| } | |
| }, | |
| "required": ["query"] | |
| } | |
| } | |
| } | |
| ], | |
| "messages": [ | |
| { | |
| "role": "system", | |
| "content": "You are a helpful assistant." | |
| }, | |
| { | |
| "role": "user", | |
| "content": "What's the weather in Beijing?" | |
| }, | |
| { | |
| "role": "assistant", | |
| "reasoning_content": "The user wants to know the weather in Beijing. I should use the get_weather tool.", | |
| "tool_calls": [ | |
| { | |
| "id": "call_001", | |
| "type": "function", | |
| "function": { | |
| "name": "get_weather", | |
| "arguments": "{\"location\": \"Beijing\", \"unit\": \"celsius\"}" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "role": "tool", | |
| "tool_call_id": "call_001", | |
| "content": "{\"temperature\": 22, \"condition\": \"sunny\", \"humidity\": 45}" | |
| }, | |
| { | |
| "role": "assistant", | |
| "reasoning_content": "Got the weather data. Let me format a nice response.", | |
| "content": "The weather in Beijing is currently sunny with a temperature of 22°C and 45% humidity." | |
| } | |
| ] | |
| } | |