| 1 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Calling | What is the core definition of "Tool Calling" in LLMs? | Easy | 1 | D | The user clicking a button to run a script. | The LLM memorizing the tool's source code. | A post-processing step using regular expressions. | The LLM's ability to decide when to call a tool and suggest structured parameters. |
| 2 | Unit 3: Tool Calling & Tavily Search | Lec3 | Decorators | Which decorator is used to convert a standard Python function into a LangChain-compatible Tool? | Easy | 1 | A | @tool | @function | @agent | @node |
| 3 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tavily Search | What makes Tavily Search API specifically better for RAG applications than standard search engines? | Easy | 1 | C | It is free for all users without limits. | It performs image and video recognition. | It is optimized for LLMs, returning cleaned and relevant context for grounding. | It searches offline databases exclusively. |
| 4 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tavily Search | Which parameter in the Tavily Search tool allows getting a direct, synthesized AI answer? | Medium | 1 | B | search_depth="advanced" | include_answer=True | include_raw_content=True | max_results=1 |
| 5 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Design | Why is providing a high-quality docstring/description for a tool critical? | Medium | 1 | A | The LLM uses this text to understand when and how to select the tool. | It is required for the Python interpreter to run the code. | it is used for automatic type checking. | It encrypts the parameters passed to the tool. |
| 6 | Unit 3: Tool Calling & Tavily Search | Lec3 | Pydantic | What is the args_schema parameter used for when defining a Custom Tool? | Hard | 1 | D | To define the tool's output string format. | To set the unique identifier for the tool. | To configure the API endpoints. | To define and validate the input parameter structure using Pydantic. |
| 7 | Unit 3: Tool Calling & Tavily Search | Lec3 | LLM Binding | What is the effect of the llm.bind_tools([...]) method call? | Medium | 1 | B | It executes all provided tools immediately. | It attaches tool schemas to the LLM so the model is aware of their capabilities. | It hardcodes the tool expected outcome into the model's weights. | It prevents the LLM from ever suggesting a tool call. |
| 8 | Unit 3: Tool Calling & Tavily Search | Lec3 | Execution | In a standard tool execution flow, who is responsible for the actual execution of the tool logic? | Medium | 1 | C | The LLM itself (internally). | The external LLM API (e.g., OpenAI servers). | The application runtime environment (e.g., the ToolNode in Python). | The human user via a terminal. |
| 9 | Unit 3: Tool Calling & Tavily Search | Lec3 | Chaining | What is "Tool Chaining" in an agentic workflow? | Medium | 1 | A | Using the output of one tool as the input for another tool call. | Running multiple tools in parallel on different servers. | linking the tool's source code to a git repository. | Reusing the same tool multiple times for the same query. |
| 10 | Unit 3: Tool Calling & Tavily Search | Lec3 | Data Flow | How does the LLM receive the result of a tool execution back into its context? | Medium | 1 | D | It predicts the result based on history. | Via a direct callback to its weights. | It does not receive the result; it only knows the tool ran. | As a ToolMessage appended to the conversation state. |
| 11 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Calling | How does Tool Calling interact with systems? | Medium | 1 | C | Bash scripts. | HTML buttons. | Returning structured JSON invocations. | Downloading source code. |
| 12 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Calling | What terminology do LangChain and Anthropic use? | Easy | 1 | D | Function Extraction | Action Prompting | Tool Scripting | Tool Use |
| 13 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Design | In OpenAI API, what describes a function's capabilities? | Medium | 1 | A | A JSON schema. | A raw Python function. | A Markdown list. | A binary file. |
| 14 | Unit 3: Tool Calling & Tavily Search | Lec3 | Decorators | What is the purpose of the @tool docstring? | Medium | 1 | B | Python compilation. | Description used by LLM. | Generating unit tests. | Data encryption. |
| 15 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tavily Search | What feature makes Tavily suited for AI? | Easy | 1 | C | Offline support. | Wikipedia-only search. | AI-optimized clean results. | Unlimited free tier. |
| 16 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tavily Search | Which parameter restricts Tavily to specific domains? | Easy | 1 | D | restrict_urls | domain_filter | only_sites | include_domains |
| 17 | Unit 3: Tool Calling & Tavily Search | Lec3 | Chaining | What does "Tool Chaining" allow? | Medium | 1 | A | Multi-step workflows. | Blockchain security. | Single-tool limits. | Storing tools in a class. |
| 18 | Unit 3: Tool Calling & Tavily Search | Lec3 | Execution | How are infinite tool hangs handled? | Hard | 1 | B | Restarting the server. | Async execution with timeout. | Writing faster prompts. | Using @cache. |
| 19 | Unit 3: Tool Calling & Tavily Search | Lec3 | Tool Design | Which class is extended for custom tools in LangChain? | Hard | 1 | C | BaseTool | ToolNode | BaseModel (Pydantic). | TypedDict |
| 20 | Unit 3: Tool Calling & Tavily Search | Lec3 | Execution | What is the best practice for API key management? | Easy | 1 | D | Hardcoding. | Storing in public Git. | URL parameters. | Using environment variables. |