Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.aihubmix.com/llms.txt

Use this file to discover all available pages before exploring further.

The Responses API Beta suporta full Tool Calling capabilities, allowing the model to:
  • Function Calling
  • Execute multiple tools in parallel
  • Handle complex multi-step workflows

Basic Tool Definition

Request Header

curl -X POST https://aihubmix.com/v1/responses \
  -H "Authorization: Bearer YOUR_AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \

Corpo da Requisição

{
  "model": "claude-sonnet-4-6",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "What is the weather in San Francisco?"
        }
      ]
    }
  ],
  "tools": [
    {
      "type": "function",
      "name": "get_weather",
      "description": "Get the current weather at a location",
      "strict": null,
      "parameters": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The city and state, e.g. San Francisco, CA"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ],
  "tool_choice": "auto",
  "max_output_tokens": 5000
}

Tool Invocation Strategy

The tool_choice parameter controls when and how the model invokes tools.
ParameterDescription
autoThe model automatically decides whether to invoke tools
nonePrevents the model from invoking any tools

Multiple Tool Definitions

In complex tasks, multiple tools can be defined, allowing the model to escolha the appropriate tool based on user needs.
import requests

# Weather tool
weather_tool = {
    "type": "function",
    "name": "get_weather",
    "description": "Get current weather information for a city",
    "parameters": {
        "type": "object",
        "properties": {
            "city": {
                "type": "string",
                "description": "The name of the city"
            }
        },
        "required": ["city"]
    }
}

# Calculator tool
calculator_tool = {
    "type": "function",
    "name": "calculate",
    "description": "Perform mathematical calculations",
    "parameters": {
        "type": "object",
        "properties": {
            "expression": {
                "type": "string",
                "description": "The mathematical expression to evaluate"
            }
        },
        "required": ["expression"]
    }
}

response = requests.post(
    "https://aihubmix.com/v1/responses",
    headers={
        "Authorization": "Bearer AIHUBMIX_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "glm-5",
        "input": [
            {
                "type": "message",
                "role": "user",
                "content": [
                    {
                        "type": "input_text",
                        "text": "What is 25 * 4?"
                    }
                ]
            }
        ],
        "tools": [weather_tool, calculator_tool],
        "tool_choice": "auto",
        "max_output_tokens": 5000
    }
)

print(response.json())

Response with Tool Invocation

{
  "id": "resp_09b8eb7c272559fc0069affbaab5cc8194a5005746b80f3b57",
  "object": "response",
  "created_at": 1773140906,
  "completed_at": 1773140908,
  "status": "completed",
  "background": false,
  "error": null,
  "model": "gpt-54",
  "service_tier": "default",
  "temperature": 1.0,
  "top_p": 1.0,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.0,
  "max_output_tokens": 5000,
  "max_tool_calls": null,
  "parallel_tool_calls": true,
  "tool_choice": "auto",
  "truncation": "disabled",
  "store": true,
  "previous_response_id": null,
  "prompt_cache_key": null,
  "prompt_cache_retention": null,
  "instructions": null,
  "safety_identifier": null,
  "user": null,
  "metadata": {},

  "reasoning": {
    "effort": "none",
    "summary": null
  },

  "content_filters": [
    {
      "blocked": false,
      "source_type": "completion",
      "content_filter_raw": [],
      "content_filter_results": {},
      "content_filter_offsets": {
        "start_offset": 0,
        "end_offset": 1289,
        "check_offset": 0
      }
    }
  ],

  "text": {
    "format": {
      "type": "text"
    },
    "verbosity": "medium"
  },

  "output": [
    {
      "id": "fc_09b8eb7c272559fc0069affbabb0288194b63aa879435c7cd0",
      "type": "function_call",
      "status": "completed",
      "name": "calculate",
      "call_id": "call_PFtWscQ3pAyfSaotwujhT0sn",
      "arguments": {
        "expression": "25*4"
      }
    }
  ],

  "tools": [
    {
      "type": "function",
      "name": "get_weather",
      "description": "Get current weather information for a city",
      "strict": true,
      "parameters": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "The name of the city"
          }
        },
        "required": ["city"],
        "additionalProperties": false
      }
    },
    {
      "type": "function",
      "name": "calculate",
      "description": "Perform mathematical calculations",
      "strict": true,
      "parameters": {
        "type": "object",
        "properties": {
          "expression": {
            "type": "string",
            "description": "The mathematical expression to evaluate"
          }
        },
        "required": ["expression"],
        "additionalProperties": false
      }
    }
  ],

  "usage": {
    "input_tokens": 86,
    "output_tokens": 25,
    "total_tokens": 111,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens_details": {
      "reasoning_tokens": 0
    }
  }
}

Usage Recommendations

  1. Clear Descriptions: Provide detailed function descriptions and parameter explanations.
  2. Correct Format: Parameters should use valid JSON.
  3. Error Handling: Handle situations where tools may not be callable.
  4. Parallel Execution: Design tools to run independently whenever possible.
  5. Conversational Flow: Include tool responses in subsequent requests to provide context.

Última atualização: 2026-06-01