Responses API Beta는 완전한 Tool Calling 기능을 지원하여, 모델이 다음을 수행할 수 있도록 합니다: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