dynavec / Docs / Streaming

Streaming

Deliver results to agents page-by-page as they arrive.

search_stream() is a generator: it yields one hit at a time as S3 Vectors paginates, so an agent can start consuming the first results before the full set returns. Amazon S3 Vectors returns at most 100 vectors per response page; dynavec follows nextToken up to the service limit of 10,000 results.

for hit in db.search_stream("large query", top_k=250, namespace="kb", page_size=50):
    handle(hit)   # one hit at a time; page_size is the DynamoDB hydration batch

page_size (or DynavecConfig(top_k_page_size=50)) only changes how many hits are hydrated from DynamoDB per batch. It does not change the S3 Vectors page size (fixed at 100) or time-to-first-result.

Reranking and rescoring need the full candidate set, so they are not applied in streaming mode. Use search() when you need them.