สถานะ: 🟢 Complete | อัพเดท: 2026-06-27

Function Calling — JSON Schema

Define Tool

tools = [{
    "name": "search_web",
    "description": "ค้นหาข้อมูลจากอินเทอร์เน็ต",
    "input_schema": {
        "type": "object",
        "properties": {
            "query": {
                "type": "string",
                "description": "คำค้นหา"
            }
        },
        "required": ["query"]
    }
}]

Tool Loop ฉบับเต็ม

messages = [{"role": "user", "content": "ค้นหา Python tips"}]
 
while True:
    response = client.messages.create(
        model="claude-sonnet-4-6",
        tools=tools,
        messages=messages
    )
    
    if response.stop_reason == "end_turn":
        break
    
    # Claude ต้องการเรียก tool
    tool_call = next(b for b in response.content if b.type == "tool_use")
    result = run_tool(tool_call.name, tool_call.input)
    
    messages.append({"role": "assistant", "content": response.content})
    messages.append({"role": "user", "content": [{
        "type": "tool_result",
        "tool_use_id": tool_call.id,
        "content": result
    }]})