MCPcopy Index your code
hub / github.com/feast-dev/feast / retrieve_online_documents

Method retrieve_online_documents

sdk/python/feast/feature_store.py:3504–3607  ·  view source on GitHub ↗

Retrieves the top k closest document features. Note, embeddings are a subset of features. Args: features: The list of features that should be retrieved from the online store. query: The query to retrieve the closest document features for. top_k:

(
        self,
        query: Union[str, List[float]],
        top_k: int,
        features: List[str],
        distance_metric: Optional[str] = "L2",
    )

Source from the content-addressed store, hash-verified

3502 return response
3503
3504 def retrieve_online_documents(
3505 self,
3506 query: Union[str, List[float]],
3507 top_k: int,
3508 features: List[str],
3509 distance_metric: Optional[str] = "L2",
3510 ) -> OnlineResponse:
3511 """
3512 Retrieves the top k closest document features. Note, embeddings are a subset of features.
3513
3514 Args:
3515 features: The list of features that should be retrieved from the online store.
3516 query: The query to retrieve the closest document features for.
3517 top_k: The number of closest document features to retrieve.
3518 distance_metric: The distance metric to use for retrieval.
3519 """
3520 if isinstance(query, str):
3521 raise ValueError(
3522 "Using embedding functionality is not supported for document retrieval. Please embed the query before calling retrieve_online_documents."
3523 )
3524
3525 (
3526 available_feature_views,
3527 _,
3528 ) = utils._get_feature_views_to_use(
3529 registry=self.registry,
3530 project=self.project,
3531 features=features,
3532 allow_cache=True,
3533 hide_dummy_entity=False,
3534 )
3535 feature_view_set = set()
3536 for _feature in features:
3537 fv_name, _, _ = utils._parse_feature_ref(_feature)
3538 feature_view = self.get_feature_view(fv_name)
3539 feature_view_set.add(feature_view.name)
3540 if len(feature_view_set) > 1:
3541 raise ValueError("Document retrieval only supports a single feature view.")
3542 requested_features = [
3543 utils._parse_feature_ref(f)[2]
3544 for f in features
3545 if isinstance(f, str) and ":" in f
3546 ]
3547 requested_feature_view_name = list(feature_view_set)[0]
3548 for feature_view in available_feature_views:
3549 if feature_view.name == requested_feature_view_name:
3550 requested_feature_view = feature_view
3551 break
3552 else:
3553 raise ValueError(
3554 f"Feature view {requested_feature_view} not found in the registry."
3555 )
3556
3557 provider = self._get_provider()
3558 document_features = self._retrieve_from_online_store(
3559 provider,
3560 requested_feature_view,
3561 requested_features,

Callers 1

Calls 6

get_feature_viewMethod · 0.95
_get_providerMethod · 0.95
OnlineResponseClass · 0.90
to_value_typeMethod · 0.45

Tested by

no test coverage detected