A feature engineering and ML serving library for machine learning applications, especially for personalization and recommendation systems.
Hotvect allows you to:
- Develop feature engineering code that can be shared across offline and online environments.
- Integrate machine learning libraries like Vowpal Wabbit, CatBoost, etc. into ML applications.
- Define ML-enabled models and policies, packaging them into reusable, modular forms that can easily be shared, combined, and deployed into production.
- Perform offline testing and hyperparameter optimization of models and policies, with built-in bookkeeping of test results.
- Integrate with Amazon SageMaker for running offline tests and hyperparameter optimization at scale.
The same data transformation code will be used for training and prediction, ensuring consistency without discrepancies.
Hotvect has characteristics that work well with typical machine learning use cases:
- Out-of-core: Processing happens without reading all data into memory, allowing processing of large datasets.
- Multi-threaded: Processing is multi-threaded, reducing processing time.
- Efficient: The library is coded with efficiency in mind. Using the JVM makes it easy to write efficient feature transformations.
Feature interaction is natively supported, although exploring interaction features requires a separate step.
Note: This installation method using Claude Code is experimental. The setup agent automates environment configuration and source-based installation.
Claude Code is an AI-powered development assistant.
Install Claude Code from: https://claude.ai/code
The Hotvect plugin provides specialized agents, skills, and commands for ML algorithm development and backtesting.
Important: Do NOT run Claude Code from the hotvect repository directory, as it will create logs and artifacts inside the repo.
Installation steps:
# Navigate to your workspace directory (or create one)
cd ~/workspace # or wherever you keep your projects
# NOT the hotvect repo directory!
# In Claude Code, add the marketplace from the hotvect repo path:
/plugin add-marketplace /path/to/hotvect
# Then install the plugin:
/plugin install hvThe plugin provides:
4 Specialized Agents:
hotvect-setup- Automated environment setup with central config managementbacktest- Multi-version algorithm comparison with evaluationaudit- Feature audit generation and cross-version comparisonperformance-test- Algorithm performance benchmarking
4 Autonomous Skills:
documentation- Search hotvect docs and source codetraining-setup- Configure and validate training runsdata-dependency-download- Smart data dependency managementdownload-results- SageMaker result retrieval
13 Slash Commands:
/hv:train- Train ML model using complete hotvect pipeline/hv:backtest- Run backtest to compare algorithm versions/hv:audit- Generate human-readable feature audit/hv:audit-compare- Compare feature audits between versions/hv:predict- Generate model predictions on test data/hv:encode- Transform raw data into ML library format/hv:evaluate- Calculate performance metrics from predictions/hv:generate-state- Generate state files for algorithms/hv:performance-test- Benchmark algorithm throughput and latency/hv:perf-compare- Compare performance test results/hv:download-data-dependency- Download required training/test data/hv:download-backtest-results- Download SageMaker results from S3/hv:compare-evaluations- Compare ML evaluation metrics
After installing the Claude plugin, use the setup agent to configure your development environment:
In Claude Code, ask:
Use the hotvect-setup agent to set up my environment
Or simply:
Set up hotvect
Claude will automatically invoke the setup agent when it recognizes the task.
The setup agent will:
- Verify and install required tools (Java 17-21 for v9, Java 21 for v10, Maven, Python 3.11, uv)
- Clone the Hotvect repository (asks for location)
- Build Hotvect from source:
- Navigates to
python/directory - Runs
make quickto build Java JARs and prepare Python package - Creates Python virtual environment with uv
- Installs Hotvect in editable mode (
uv pip install -e .)
- Navigates to
- Create central configuration at
~/.hotvect/config.json - Set up directory structure for training data, outputs, and scratch space
- Configure AWS credentials for S3 access
- Validate the installation
After setup, you'll have access to:
hvcommand - Main CLI for ML algorithm operations (audit, train, predict, backtest)hv-extcommand - Extended utilities for data management and analysis- Centralized configuration shared by all Claude agents and skills
Hotvect does not include:
- Machine learning algorithms themselves - It is intended to be combined with existing ML libraries.
- Orchestration of ML pipelines - Requires other frameworks like Airflow.
- Life-cycle management of models and policies - Supported by an external Experiment Management Service.
- Creation, management, and execution of online experiments - Provided by the Experiment Management Service.
- Monitoring of ML applications and evaluation of online experiment results - Requires separate solutions.
Hotvect is designed to be library-agnostic, allowing integration with any ML library. Currently, the library must be accessible from a JVM process (via JNI or Java-compatible implementations like H2O.ai's xgboost-predictor). Future versions will support inter-process integrations.
Feature engineering should be implemented in a JVM language (e.g., Java, Kotlin, Scala), while APIs for triggering tasks like offline testing are provided as a Python library.