REST Resource: projects.locations.featureOnlineStores.featureViews

Resource: FeatureView

FeatureView is representation of values that the FeatureOnlineStore will serve based on its syncConfig.

Fields
name string

Identifier. name of the FeatureView. Format: projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}

createTime string (Timestamp format)

Output only. timestamp when this FeatureView was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime string (Timestamp format)

Output only. timestamp when this FeatureView was last updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

etag string

Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels map (key: string, value: string)

Optional. The labels with user-defined metadata to organize your FeatureViews.

label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed.

See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable.

syncConfig object (SyncConfig)

Configures when data is to be synced/updated for this FeatureView. At the end of the sync the latest featureValues for each entityId of this FeatureView are made ready for online serving.

indexConfig object (IndexConfig)

Optional. Configuration for index preparation for vector search. It contains the required configurations to create an index from source data, so that approximate nearest neighbor (a.k.a ANN) algorithms search can be performed during online serving.

satisfiesPzs boolean

Output only. reserved for future use.

satisfiesPzi boolean

Output only. reserved for future use.

Union field source.

source can be only one of the following:

bigQuerySource object (BigQuerySource)

Optional. Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore.

featureRegistrySource object (FeatureRegistrySource)

Optional. Configures the features from a feature Registry source that need to be loaded onto the FeatureOnlineStore.

vertexRagSource object (VertexRagSource)

Optional. The Vertex RAG Source that the FeatureView is linked to.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "labels": {
    string: string,
    ...
  },
  "syncConfig": {
    object (SyncConfig)
  },
  "indexConfig": {
    object (IndexConfig)
  },
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean,

  // Union field source can be only one of the following:
  "bigQuerySource": {
    object (BigQuerySource)
  },
  "featureRegistrySource": {
    object (FeatureRegistrySource)
  },
  "vertexRagSource": {
    object (VertexRagSource)
  }
  // End of list of possible types for union field source.
}

BigQuerySource

Fields
uri string

Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.

entityIdColumns[] string

Required. columns to construct entityId / row keys.

JSON representation
{
  "uri": string,
  "entityIdColumns": [
    string
  ]
}

FeatureRegistrySource

A feature Registry source for features that need to be synced to Online Store.

Fields
featureGroups[] object (FeatureGroup)

Required. List of features that need to be synced to Online Store.

projectNumber string (int64 format)

Optional. The project number of the parent project of the feature Groups.

JSON representation
{
  "featureGroups": [
    {
      object (FeatureGroup)
    }
  ],
  "projectNumber": string
}

FeatureGroup

Features belonging to a single feature group that will be synced to Online Store.

Fields
featureGroupId string

Required. Identifier of the feature group.

featureIds[] string

Required. Identifiers of features under the feature group.

JSON representation
{
  "featureGroupId": string,
  "featureIds": [
    string
  ]
}

VertexRagSource

A Vertex Rag source for features that need to be synced to Online Store.

Fields
uri string

Required. The BigQuery view/table URI that will be materialized on each manual sync trigger. The table/view is expected to have the following columns and types at least: - corpus_id (STRING, NULLABLE/REQUIRED) - fileId (STRING, NULLABLE/REQUIRED) - chunkId (STRING, NULLABLE/REQUIRED) - chunk_data_type (STRING, NULLABLE/REQUIRED) - chunk_data (STRING, NULLABLE/REQUIRED) - embeddings (FLOAT, REPEATED) - file_original_uri (STRING, NULLABLE/REQUIRED)

ragCorpusId string (int64 format)

Optional. The RAG corpus id corresponding to this FeatureView.

JSON representation
{
  "uri": string,
  "ragCorpusId": string
}

SyncConfig

Configuration for Sync. Only one option is set.

Fields
cron string

Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

continuous boolean

Optional. If true, syncs the FeatureView in a continuous manner to Online Store.

JSON representation
{
  "cron": string,
  "continuous": boolean
}

IndexConfig

Configuration for vector indexing.

Fields
embeddingColumn string

Optional. column of embedding. This column contains the source data to create index for vector search. embeddingColumn must be set when using vector search.

filterColumns[] string

Optional. columns of features that're used to filter vector search results.

crowdingColumn string

Optional. column of crowding. This column contains crowding attribute which is a constraint on a neighbor list produced by FeatureOnlineStoreService.SearchNearestEntities to diversify search results. If NearestNeighborQuery.per_crowding_attribute_neighbor_count is set to K in SearchNearestEntitiesRequest, it's guaranteed that no more than K entities of the same crowding attribute are returned in the response.

distanceMeasureType enum (DistanceMeasureType)

Optional. The distance measure used in nearest neighbor search.

Union field algorithm_config. The configuration with regard to the algorithms used for efficient search. algorithm_config can be only one of the following:
treeAhConfig object (TreeAHConfig)

Optional. Configuration options for the tree-AH algorithm (Shallow tree + Asymmetric Hashing). Please refer to this paper for more details: https://arxiv.org/abs/1908.10396

bruteForceConfig object (BruteForceConfig)

Optional. Configuration options for using brute force search, which simply implements the standard linear search in the database for each query. It is primarily meant for benchmarking and to generate the ground truth for approximate search.

embeddingDimension integer

Optional. The number of dimensions of the input embedding.

JSON representation
{
  "embeddingColumn": string,
  "filterColumns": [
    string
  ],
  "crowdingColumn": string,
  "distanceMeasureType": enum (DistanceMeasureType),

  // Union field algorithm_config can be only one of the following:
  "treeAhConfig": {
    object (TreeAHConfig)
  },
  "bruteForceConfig": {
    object (BruteForceConfig)
  }
  // End of list of possible types for union field algorithm_config.
  "embeddingDimension": integer
}

TreeAHConfig

Configuration options for the tree-AH algorithm.

Fields
leafNodeEmbeddingCount string (int64 format)

Optional. Number of embeddings on each leaf node. The default value is 1000 if not set.

JSON representation
{
  "leafNodeEmbeddingCount": string
}

BruteForceConfig

This type has no fields.

Configuration options for using brute force search.

DistanceMeasureType

The distance measure used in nearest neighbor search.

Enums
DISTANCE_MEASURE_TYPE_UNSPECIFIED Should not be set.
SQUARED_L2_DISTANCE Euclidean (L_2) Distance.
COSINE_DISTANCE

Cosine Distance. Defined as 1 - cosine similarity.

We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead of COSINE distance. Our algorithms have been more optimized for DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is mathematically equivalent to COSINE distance and results in the same ranking.

DOT_PRODUCT_DISTANCE Dot Product Distance. Defined as a negative of the dot product.

Methods

create

Creates a new FeatureView in a given FeatureOnlineStore.

delete

Deletes a single FeatureView.

fetchFeatureValues

Fetch feature values under a FeatureView.

get

Gets details of a single FeatureView.

list

Lists FeatureViews in a given FeatureOnlineStore.

patch

Updates the parameters of a single FeatureView.

searchNearestEntities

Search the nearest entities under a FeatureView.

sync

Triggers on-demand sync for the FeatureView.