Responses API Beta 支援完整的工具呼叫能力,讓模型能夠: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.
- 進行函式呼叫(Function Calling)
- 同時平行執行多個工具
- 處理複雜的多步驟工作流程
基本工具定義
請求標頭
curl -X POST https://aihubmix.com/v1/responses \
-H "Authorization: Bearer YOUR_AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
請求主體
{
"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_choice 參數控制模型何時以及如何呼叫工具。
| 參數 | 說明 |
|---|---|
| auto | 模型自動決定是否呼叫工具 |
| none | 禁止模型呼叫任何工具 |
多個工具定義
在複雜任務中,可以定義多個工具,讓模型依據使用者需求選擇合適的工具。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())
包含工具呼叫的回應
{
"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
}
}
}
使用建議
- 清晰的描述:提供詳細的函式描述與參數說明。
- 正確的格式:參數應使用有效的 JSON。
- 錯誤處理:處理工具可能無法呼叫的情況。
- 平行執行:盡可能將工具設計為可獨立執行。
- 對話流程:在後續請求中包含工具回應以提供上下文。
最後更新:2026-06-01