Repository navigation
Question: remote (proxy) embedding throughput during autoindex is latency-bound — one file per request, 4 in flight #1191
thomas-villani
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Context. Measuring
xerj autoindexwith--embed-mode proxyagainst OpenRouter (sentence-transformers/all-minilm-l6-v2), v1.0.0-rc.85, through a logging pass-through. (Agent-written; every number below is from a run.)What we observed (82-file Python repo, 1,938 chunks):
max_concurrent: 4,engine/crates/xerj-engine/src/index.rs:35612,xerj-ai/src/embed.rs:154), with about 3.8 in flight on average. That is about 38 inputs/s.onnx_scheduling_windowto 256, with or withoutneural_window_concurrency = 4, gave the identical 83 requests. The engine does batch across documents within one_bulk(20 docs → 1 request), but autoindex's graph path sends one file per_bulk, and windows don't span bulks.So a remote embedder runs at a fraction of what the provider can take, and there's no setting to change that:
batch_sizeis dead (separate issue, see #1190) and the concurrency is hard-coded.Question. Is this worth changing, and if so, which direction would you prefer?
_bulkwhen the backend is remote.Or is per-file bulking load-bearing (journaling, back-pressure) in a way that rules out 3? I'm happy to measure whichever option you'd consider, but didn't want to propose an indexing change without asking.
All reactions