chroma-core / chroma

the AI-native open-source embedding database
https://www.trychroma.com/
Apache License 2.0
14.72k stars 1.23k forks source link

[ENH] Get vectors orchestrator #2348

Closed HammadB closed 3 months ago

HammadB commented 3 months ago

This PR adds the Get Vectors() RPC for query nodes.

  1. Adds the GetVectors instrumented rpc call and associated types
  2. Adds a GetVectorsOrchestrator for managing these queries
  3. Adds the GetVectorsOperator for reading from the log and record segment to respond to get_vectors
  4. Moves common orchestrator functions into a /common and refactors hnsw orchestrator to use this instead (DRY)
  5. Adds the ChromaError Trait for ChannelError in Sender - needed to use that as Box elsewhere.

I explicitly make the choice to not have to materialize in this operator since it doesn't need to for any reason.

Tasks

github-actions[bot] commented 3 months ago

Reviewer Checklist

Please leverage this checklist to ensure your code review is thorough before approving

Testing, Bugs, Errors, Logs, Documentation