Search (passages)
searchSearch the web and return only the passages that answer your query rather than full pages, using keyword and semantic matching to extract the relevant excerpts.
Instructions
Search the web and return only the passages that answer the query, not whole pages: usually about a tenth of the text of rag_search_ddgs. Use this first.
Tiers, cheapest first:
Search, then keep the top_pages results whose title/snippet match best.
Fetch those pages, split them into ~600-char passages, keyword-match them (BM25) against the query plus
keywords.Only if that leaves too many candidates, or matches nothing (a paraphrase), the local embedder ranks them by meaning. If nothing matched the keywords and the client can show questions, the user is asked whether they want the full pages instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or topic, in natural language. | |
| backend | No | Search backend, same names as deep_research. Default "auto". | auto |
| keywords | No | Terms a good answer would contain, including synonyms and exact phrases. Example for "how do I make postgres faster": ["index", "EXPLAIN ANALYZE", "query planner", "vacuum"]. Strongly improves results. | |
| top_pages | No | Pages to fetch and split. Default 5. | |
| num_results | No | Search results to consider. Default 10. | |
| max_passages | No | Passages to return. Default 8. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||