mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-11-05 07:39:47 +00:00
`LocalEmbeddingStore._call_with_retry()` shortened a rejected input once, to half of the configured `max_input_length`. Two shapes of input-length rejection still left the chunk unembedded, and an unembedded chunk keeps `needs_reindex` set, so a strict reindex never completes: - a shortened request that is still above the provider's real per-item limit was never shortened again, even with retry budget left; - an input already below half the configured budget produced an identical "shorter" request, so nothing was re-sent at all. The retry now derives a strictly smaller request from the text the provider just rejected and keeps shrinking within an explicit round budget, still bounded by the remaining retry budget. It stops on success, on an exhausted budget, or when no smaller non-empty request exists. Source text, chunk contents, configuration, vector-space checks, cache behaviour and the existing error routing are untouched; the shrink step no longer sleeps, because an input-length rejection is deterministic rather than rate limiting. Refs: #683 |
||
|---|---|---|
| .. | ||
| fixtures/config | ||
| integration | ||
| unit | ||