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

feat: Adding features field to retrieve_online_features to return mor… #4869

Merged

Conversation

franciscojavierarceo
Copy link
Member

@franciscojavierarceo franciscojavierarceo commented Dec 20, 2024

What this PR does / why we need it:

This pull request introduces several enhancements and refactorings to the retrieve_online_documents method and related components within the Feast SDK. The primary changes include the addition of support for multiple features to be retrieved from the online document store, along with improvements to the serialization and deserialization of float vectors.

Changes

  1. Feature Store Enhancements

    • Updated retrieve_online_documents to accept an optional list of features (features).
    • Added checks to ensure only a single feature view is used for document retrieval.
    • Modified logic to handle both single and multiple feature retrieval scenarios.
  2. Utility Functions

    • Added _serialize_vector_to_float_list function in feast/utils.py for serializing float vectors to ValueProto.
  3. Key Encoding Utilities

    • Introduced serialize_f32 and deserialize_f32 functions in feast/infra/key_encoding_utils.py for efficient serialization and deserialization of float lists.
  4. Provider and Online Store Changes

    • Updated various provider classes (passthrough_provider.py, faiss_online_store.py, sqlite.py, postgres.py, elasticsearch.py, qdrant.py) to handle the new requested_features parameter.
    • Ensured backward compatibility by keeping the requested_feature parameter optional.
  5. Refactoring

    • Simplified the serve_registry method definition for better readability.

Testing

  • Added unit tests to cover scenarios involving single and multiple feature retrieval.
  • Verified that the existing tests pass to ensure backward compatibility.

Documentation

  • Updated docstrings to reflect the new parameters and their usage.
  • Added comments to explain the new utility functions and their purposes.

Which issue(s) this PR fixes:

Step along the path to ship Milvus (#4364)

Misc

Related to this: #4751

…e than just the single entities

Signed-off-by: Francisco Javier Arceo <[email protected]>
Signed-off-by: Francisco Javier Arceo <[email protected]>
@franciscojavierarceo franciscojavierarceo marked this pull request as ready for review December 20, 2024 21:30
@franciscojavierarceo franciscojavierarceo requested review from a team as code owners December 20, 2024 21:30
Copy link
Contributor

@tchughesiv tchughesiv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one question, otherwise lgtm

@franciscojavierarceo franciscojavierarceo merged commit 7df287e into master Dec 21, 2024
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants