feast-feature-store
Overview
Feature store management skill using Feast for online/offline feature serving, feature registration, and ensuring training-serving consistency in ML systems.
Capabilities
- Feature definition and registration
- Online feature serving setup
- Offline feature retrieval for training
- Point-in-time correctness validation
- Feature freshness monitoring
- Entity management
- Feature view creation and management
- Materialization scheduling
Target Processes
- Feature Store Implementation and Management
- Feature Engineering Design and Implementation
- Model Training Pipeline
Tools and Libraries
- Feast
- Redis (online store)
- PostgreSQL/BigQuery/Snowflake (offline store)
- Parquet files
Input Schema
{
"type": "object",
"required": ["action"],
"properties": {
"action": {
"type": "string",
"enum": ["apply", "materialize", "get-online", "get-historical", "list", "teardown"],
"description": "Feast action to perform"
},
"featureRepo": {
"type": "string",
"description": "Path to feature repository"
},
"features": {
"type": "array",
"items": { "type": "string" },
"description": "Feature references (feature_view:feature_name)"
},
"entityDf": {
"type": "string",
"description": "Path to entity DataFrame for historical retrieval"
},
"materializationWindow": {
"type": "object",
"properties": {
"startDate": { "type": "string" },
"endDate": { "type": "string" }
}
}
}
}
Output Schema
{
"type": "object",
"required": ["status", "action"],
"properties": {
"status": {
"type": "string",
"enum": ["success", "error"]
},
"action": {
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"dtype": { "type": "string" },
"featureView": { "type": "string" },
"freshness": { "type": "string" }
}
}
},
"materializationStatus": {
"type": "object",
"properties": {
"lastMaterialized": { "type": "string" },
"rowsProcessed": { "type": "integer" }
}
},
"retrievedData": {
"type": "string",
"description": "Path to retrieved feature data"
}
}
}
Usage Example
{
kind: 'skill',
title: 'Retrieve training features',
skill: {
name: 'feast-feature-store',
context: {
action: 'get-historical',
featureRepo: 'feature_repo/',
features: ['user_features:age', 'user_features:tenure', 'transaction_features:avg_amount'],
entityDf: 'data/training_entities.parquet'
}
}
}