News

Weaviate documents Search Mode for its Query Agent, returning objects from Cloud collections

Published 3 min readAI-assisted · human approved
TL;DR

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.

Why it matters

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.

Original source

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.
  • limit sets 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.
  • filtering takes "recall" (the default, several queries across interpretations) or "precision" (a single query for the most likely intent, which may return nothing).
  • diversity_weight takes 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.
  • effort accepts "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

ClaimStatusEvidence
Search Mode combines semantic search with structured filtering and returns matching Weaviate objects directly.confirmedSearch 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.confirmedNote, locally running Weaviate instances do not support the Query Agent.
The agent reranks retrieved objects against the original request.confirmedreranks the retrieved objects by how well each one matches your original request
Higher effort may improve quality but increases latency and cost.confirmedHigher 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.confirmedA 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.confirmedThe 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.