Weaviate documents Search Mode for its Query Agent, returning objects from Cloud collections
Weaviate's docs describe Search Mode, a Query Agent feature on Weaviate Cloud that turns a plain-language request into semantic and filtered queries and returns the matching objects. Local instances are not supported.
If you run Weaviate Cloud, you can try natural-language search with filters and reranking through one `search()` call instead of hand-writing queries. The page offers no quality benchmarks, so test it on your own data.
Weaviate published documentation on 11 November for Search Mode, a Query Agent mode that turns a natural-language request into semantic and filtered queries and returns matching objects from Weaviate Cloud collections.
What happened
The Search Mode page in Weaviate's documentation describes how the Query Agent searches your collections. This is the company's own documentation. It gives no benchmarks or independent test results.
In the docs' example, a request for "vintage shoes under $70" becomes a semantic search for vintage shoes plus a price filter. The agent writes one or more queries, runs them, and reranks the results against the original request. Your code gets Weaviate objects back, ready to render or process.
Key details
- Search Mode is available on Weaviate Cloud only. Locally running Weaviate instances do not support the Query Agent.
- Python and JavaScript/TypeScript examples are provided. Python supports both sync and async use.
limitsets results per page and defaults to 20. Call.next()on a response to fetch more pages. The underlying searches are reused, so pages stay consistent.filteringtakes"recall"(the default, several queries across interpretations) or"precision"(a single query for the most likely intent, which may return nothing).diversity_weighttakes a value from 0.0 to 1.0 and applies Maximal Marginal Relevance (MMR). It is not yet supported for collections with multi-vector embeddings. Across several collections it works only if they share the same embedding model.effortaccepts"medium","high"or"ultrahigh". Higher effort may improve quality but adds latency and cost.- The response lists the searches the agent ran, model-unit usage, total time in seconds and the results. The score on each object is Search Mode's own ranking score, not the original Weaviate score.
- A banner on the page says the GraphQL API is deprecated and will be switched off on Weaviate Cloud on 1 May 2027.
Try it
import os
import weaviate
from weaviate.agents.query import QueryAgent
from weaviate.classes.init import Auth
client = weaviate.connect_to_weaviate_cloud(
cluster_url=os.environ.get("WEAVIATE_URL"),
auth_credentials=Auth.api_key(os.environ.get("WEAVIATE_API_KEY")),
)
qa = QueryAgent(client=client, collections=["ECommerce"])
search_response = qa.search(
query="Find me some vintage shoes under $70",
limit=10,
)
for obj in search_response.search_results.objects:
print(obj.properties["name"], obj.properties["price"])
Why it matters
Search Mode moves query rewriting, filter generation and reranking into the agent. That can cut the glue code in product search or retrieval features. The usage field reports model units, so you can watch cost, especially at higher effort. Teams checking agent output quality may also want a way to measure it, such as the approach in AWS's UAEF write-up.
FAQ
Does Weaviate Search Mode work on a local instance? No. The docs say locally running Weaviate instances do not support the Query Agent, and Search Mode is marked Weaviate Cloud only.
What is the difference between recall and precision filtering? Recall, the default, generates several queries across different filters and readings of the request. Precision generates one query for the most likely reading and may return no results.
Can I get more than one page of results?
Yes. Call .next() on the previous response with a limit and offset. The same underlying searches are reused.
Checked claims
| Claim | Status | Evidence |
|---|---|---|
| Search Mode combines semantic search with structured filtering and returns matching Weaviate objects directly. | confirmed | Search Mode combines AI-powered semantic search with structured filtering and returns the matching Weaviate objects directly. |
| Locally running Weaviate instances do not support the Query Agent. | confirmed | Note, locally running Weaviate instances do not support the Query Agent. |
| The agent reranks retrieved objects against the original request. | confirmed | reranks the retrieved objects by how well each one matches your original request |
| Higher effort may improve quality but increases latency and cost. | confirmed | Higher effort may improve result quality at the expense of increased latency and cost. |
| The diversity_weight parameter applies MMR and takes a value from 0.0 to 1.0. | confirmed | A value between 0.0 and 1.0 that biases the result ranking towards diversity using Maximal Marginal Relevance (MMR). |
| Weaviate's GraphQL API will be switched off on Weaviate Cloud on 1 May 2027. | confirmed | The GraphQL API is deprecated and will be switched off on Weaviate Cloud on May 1, 2027. |
Found a mistake? Use Report above; an editor reads every one. Editorial policy
Question for readersIf you built search on Weaviate Cloud today, which would you pick first, recall or precision filtering, and why?
Discussion · 0
No comments yet. Start the discussion.
Sign in to join the discussion.