Reading library
Design a stop decision for another search page
Make another LocalLLaMA search page a deliberate choice. Connect the open question, request cost and pagination boundary without predicting unseen answer quality.
Identify the unresolved task
A next-page button is easier to judge when the reader can name what remains unresolved. In a proposed quantization search, the task might be finding a discussion that states the conditions of a memory measurement. After reading the first response, ask whether the available material addresses that condition. The answer may be yes, no, or unclear because context is missing. This is a reading decision, not a conclusion that the first page contains the most relevant records. The API provides no such ranking guarantee.
Keep the reader's question and a short note beside the loaded records. If the first page already supplies a useful reference, let the reader keep it and leave without another retrieval. If it does not, preserve the precise uncertainty: for example, hardware unspecified, rather than simply more results needed. These are illustrative interface choices for your application, not observed LocalLLaMA findings. Automatic scrolling should not turn an unanswered question into an unlimited search or displace a reference the reader is still trying to inspect.
Estimate another request
Estimate the concrete request cost and reading work, not the value of unseen answers. Advancing from page 1 to page 2 with limit=3 requests up to another three records for the same conditions. Each successful retrieval costs one credit, including an empty response. The standard conversion is $1 for 1000 paid credits; the minimum $50 top-up provides 50000. Those account facts help the operator budget requests. They do not justify telling the reader that a particular next page will contain a useful experiment or a broader range of views.
Your application can choose a smaller reading budget than the service maximum. Explain it before the next request: another page, up to three records, same filters. Do not estimate relevance from the diversity of a tiny first page or from an invented score distribution. _doc order gives no reason to assume useful records arrive first or that later pages have diminishing value. The reader may instead revise one filter or stop. These choices are more honest than a recommendation based on material the application has not received.
Inspect boundary signals
Read pagination.has_more before offering another page, and keep the submitted filters and limit fixed while incrementing page. The service accepts page numbers 1 through 100 and at most 100 records per request. At page=100 with limit=100, a full final page has no space for a lookahead record beyond the exposed window. pagination.window_exhausted can therefore accompany has_more=false and a lower-bound total. Stop requesting that sequence at the boundary without announcing that every matching archive record has been read.
Display pagination.total together with pagination.relation. A gte total means at least that many matches are indicated, not approximately that many; unknown may accompany null. An empty page after the first can have an unknown total. These fields describe the bounded response, not completeness of the topic. Repeated or similar records are also not proof that later pages are redundant. If your own list deduplicates actual IDs, explain that local choice and retain enough provenance to distinguish it from what each response returned.
Let the user stop
Use an explicit next-page action and make leaving the current page straightforward. A reader should be able to retain a useful reference, close the notebook, or return to the submitted conditions without triggering further calls. While a page request is in progress, prevent repeated activation of that same action and keep existing text available. A Stop action, if your application offers one, should say what it actually stops: future automatic requests or waiting in the interface. It does not guarantee that already submitted server work is cancelled or uncharged.
If the next request fails, keep the previous records and the pending page number distinct. Offer a deliberate retry only when appropriate. An upstream failure has refund handling, possibly pending reconciliation; a response lost in transit leaves its final billing outcome uncertain. Do not silently skip to another page and hide the failed attempt. Finish with a useful state: the reader knows what was inspected, why they continued or stopped, and what remains unknown. That is a defensible endpoint for a historical search, even without a complete answer.