Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote Vector Index Build Component -- Future Work #2464

Open
jed326 opened this issue Jan 29, 2025 · 1 comment
Open

Remote Vector Index Build Component -- Future Work #2464

jed326 opened this issue Jan 29, 2025 · 1 comment
Labels
Features Introduces a new unit of functionality that satisfies a requirement Roadmap:Vector Database/GenAI Project-wide roadmap label

Comments

@jed326
Copy link
Contributor

jed326 commented Jan 29, 2025

This issue is to track future work items for the remote vector index build work including both "fast follow" and "deprioritized" items.

Fast Follows

Long Term Improvements

  • Shard level k-nn stats
  • Additional Repository Metrics
  • Transport APIs for getting status and cancelling jobs
  • Multipart/Parallel Download -- This one has a lot of complexities, listing out the high level issues below:
    • In core the multipart download API is still marked experimental
    • There is no easy way to support decrypting individual stream parts, as there may not be any encryption context present in any given part
    • Decryption could be somewhat resolved by downloading the file completely first, then decrypting it sequentially, however that is both disk and CPU intensive
    • We also need to write the .faiss graph into an IndexOutput, which itself is a sequential operation and you cannot open multiple IndexOutputs on the same file
    • This also means that we need to internally manage a buffer that we download to in parallel, as we are unable to download in parallel directly into the IndexOutput
    • You also cannot write to an IndexOutput first and then decrypt the contents, as the IndexOutput is supposed to create an immutable file
    • This means you'd end up with up to 3x extra disk space utilization as well as additional overhead in copying/decrypting streams.
  • Graph Structure Download
  • Distributed retries client side
@owenhalpert
Copy link
Contributor

owenhalpert commented Feb 25, 2025

Fast Follow:

LTI:

  • Client retry configuration enhancements
    • If testing finds that we should increase retry count, add exponential backoff for multiple retries
    • Support configuration on retryable codes, max retry count, base delay (for retries and backoffs)
  • Expand / generalize build request index parameters to allow the remote build service to choose its own parameters based on certain "hints"
  • Validate string endpoint when the user sets it, for port, scheme, expected URL pattern

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Features Introduces a new unit of functionality that satisfies a requirement Roadmap:Vector Database/GenAI Project-wide roadmap label
Projects
None yet
Development

No branches or pull requests

2 participants