|
6 | 6 | "source": [ |
7 | 7 | "# Tool Search: Alternate Approaches\n", |
8 | 8 | "\n", |
9 | | - "**Recommend first reading the cookbook: [Tool Search with Embeddings](./tool_search_with_embeddings.ipynb).**\n", |
| 9 | + "**Recommend first reading see the cookbook: Tool Search with Embeddings.**\n", |
10 | 10 | "\n", |
11 | | - "The goal of this cookbook is to show alternate approaches to tool search (or \"tool discovery\") with Claude. We'll demonstrate two useful techniques:\n", |
| 11 | + "The goal of this cookbook is to show of some alternate approaches to using tool search (or really \"tool discovery\") with Claude. In this cookbook we'll demonstrate two useful techniques:\n", |
12 | 12 | "\n", |
13 | | - "1. **Tools can be discovered without \"search\"**. Instead of semantic search, we'll include all tool names in Claude's system prompt and provide a `describe_tool` tool for Claude to load specific tools into context.\n", |
14 | | - "2. **Tools don't need to be in the `tools` list initially**. Using `defer_loading=True`, tools can be added dynamically while preserving prompt caching.\n", |
| 13 | + "1. Tools can be discovered without \"Search\". In this cookbook, we'll include all of the tool names in Claude's system prompt and provide Claude with decribe_tool_tool to load the tool fully into \n", |
| 14 | + "Claude's context.\n", |
| 15 | + "2. Tools do not have to be passed in the request's `tools` list if they have not been loaded into Claude's context yet. This can be a bit more application complexity to manage, but can allow your \n", |
| 16 | + "application to keep requests small, even while Claude has potential access to thousands of tools.\n", |
15 | 17 | "\n", |
16 | | - "This cookbook demonstrates these techniques using a describe_tool example, but the same pattern applies to many discovery mechanisms (searching, listing by category, etc.).\n", |
| 18 | + "Users have a lot of flexibility to design tool search to keep Claude's context (and Messages requests) as focused as possible.\n", |
17 | 19 | "\n", |
18 | 20 | "## Prerequisites\n", |
19 | 21 | "\n", |
20 | | - "- Python 3.11+\n", |
21 | | - "- Anthropic API key\n", |
22 | | - "- Basic understanding of [Claude Tool Use](https://docs.anthropic.com/en/docs/build-with-claude/tool-use)\n", |
| 22 | + "Before following this guide, ensure you have:\n", |
23 | 23 | "\n", |
24 | | - "## Setup" |
| 24 | + "**Required Knowledge**\n", |
| 25 | + "- Python fundamentals - comfortable with functions, dictionaries, and basic data structures\n", |
| 26 | + "- Basic understanding of Claude tool use - we recommend reading the [Tool Use Guide](https://docs.anthropic.com/en/docs/build-with-claude/tool-use) first\n", |
| 27 | + "\n", |
| 28 | + "**Required Tools**\n", |
| 29 | + "- Python 3.11 or higher\n", |
| 30 | + "- Anthropic API key ([get one here](https://docs.anthropic.com/claude/reference/getting-started-with-the-api))" |
25 | 31 | ] |
26 | 32 | }, |
27 | 33 | { |
|
0 commit comments