0
Phase 6

Tool Selection

~3 min read

Concept & How It Works

    Why Does It Exist?

    Too many tools confuse the LLM (tool overload). Too few limit capability. Smart selection balances coverage with precision.

    Real-World Analogy

    Tool selection is a chef choosing knives — the right tool for the task, not every knife on the rack for slicing a tomato.
    Loading diagram...

    Visual Workflows

    What is Tool Selection?

    Loading diagram...

    Example

    Scenario

    Given 50 registered tools, an embedding router selects the 8 most relevant for 'generate a sales report from our CRM' before the LLM call.

    Solution

    In Tool Calling & Function Calling, apply Tool Selection to this scenario: Given 50 registered tools, an embedding router selects the 8 most relevant for 'generate a sales report from our CRM' before the LLM call. Identify the inputs, run the technique, validate the output, and note one thing you would monitor in production.

    Practice Task

    Do this before moving to the next module — reading alone is not enough.

    Open the Code Walkthrough below and run it locally. Change one parameter related to Tool Selection (e.g. model, temperature, top_k, or tool name), observe the difference in output, and write 2–3 sentences explaining what changed.

    Code Walkthrough

    Highlighted lines show where Tool Selection happens in the code.

    Tool Selection
    1# Tool Selection — minimal example2from openai import OpenAI3
    4client = OpenAI()  # create API client5
    6# Ask the model to explain this topic7response = client.chat.completions.create(  # core API call for Tool Selection8    model="gpt-4o-mini",9    messages=[10        {"role": "system", "content": "You explain tool selection clearly."},11        {"role": "user", "content": f"What is tool selection?"},12    ],13    temperature=0,14)15print(response.choices[0].message.content)  # show output for debugging

    Commands to Remember

    Commands to Remember

    • client.chat.completions.create(..., tools=[...]) # pass tool schemas to API
    • json.loads(response.choices[0].message.tool_calls[0].function.arguments) # parse tool args
    • pip install pydantic # validate tool inputs with schemas

    Common Mistakes

    • Treating Tool Selection as a black box without evaluation
    • Ignoring cost and latency in production
    • Skipping error handling for tool selection

    Cheat Sheet

    Quick recap — the most important points from this module.

    Cheat Sheet

    quick ref
    • Tool Selection
    • Tool Overload
    • Router Model
    • Embedding Retrieval