Package com.redis.vl.utils.vectorize
Class HuggingFaceModelDownloader
java.lang.Object
com.redis.vl.utils.vectorize.HuggingFaceModelDownloader
Downloads and caches HuggingFace models locally for offline use. Models are cached in
~/.cache/redisvl/models/ by default.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Progress listener for download tracking. -
Constructor Summary
ConstructorsConstructorDescriptionHuggingFaceModelDownloader
(String cacheDir) Create a downloader with cache directory and default settings.HuggingFaceModelDownloader
(String cacheDir, String baseUrl) Create a downloader with cache directory and custom base URL.HuggingFaceModelDownloader
(String cacheDir, String baseUrl, int timeoutSeconds) Create a downloader with cache directory, base URL, and custom timeout.HuggingFaceModelDownloader
(String cacheDir, String baseUrl, HuggingFaceModelDownloader.ProgressListener listener) Create a downloader with cache directory, base URL, and progress listener.HuggingFaceModelDownloader
(String cacheDir, String baseUrl, HuggingFaceModelDownloader.ProgressListener listener, int timeoutSeconds) Create a downloader with all custom settings. -
Method Summary
Modifier and TypeMethodDescriptiondownloadModel
(String modelName) Download a model from HuggingFace with default revision.downloadModel
(String modelName, String revision) Download a model from HuggingFace with specified revision.
-
Constructor Details
-
HuggingFaceModelDownloader
Create a downloader with cache directory and default settings.- Parameters:
cacheDir
- Directory to cache downloaded models
-
HuggingFaceModelDownloader
Create a downloader with cache directory and custom base URL.- Parameters:
cacheDir
- Directory to cache downloaded modelsbaseUrl
- Base URL for HuggingFace (e.g., "https://huggingface.co/")
-
HuggingFaceModelDownloader
Create a downloader with cache directory, base URL, and custom timeout.- Parameters:
cacheDir
- Directory to cache downloaded modelsbaseUrl
- Base URL for HuggingFacetimeoutSeconds
- Timeout in seconds for HTTP operations
-
HuggingFaceModelDownloader
public HuggingFaceModelDownloader(String cacheDir, String baseUrl, HuggingFaceModelDownloader.ProgressListener listener) Create a downloader with cache directory, base URL, and progress listener.- Parameters:
cacheDir
- Directory to cache downloaded modelsbaseUrl
- Base URL for HuggingFacelistener
- Progress listener for tracking downloads
-
HuggingFaceModelDownloader
public HuggingFaceModelDownloader(String cacheDir, String baseUrl, HuggingFaceModelDownloader.ProgressListener listener, int timeoutSeconds) Create a downloader with all custom settings.- Parameters:
cacheDir
- Directory to cache downloaded modelsbaseUrl
- Base URL for HuggingFacelistener
- Progress listener for tracking downloads (can be null)timeoutSeconds
- Timeout in seconds for HTTP operations
-
-
Method Details
-
downloadModel
Download a model from HuggingFace with default revision.- Parameters:
modelName
- The HuggingFace model name (e.g., "sentence-transformers/all-MiniLM-L6-v2")- Returns:
- Path to the downloaded model directory
- Throws:
IOException
- if download fails or network error occurs
-
downloadModel
Download a model from HuggingFace with specified revision.- Parameters:
modelName
- The HuggingFace model namerevision
- The model revision/branch (e.g., "main", "v1.0")- Returns:
- Path to the downloaded model directory
- Throws:
IOException
- if download fails or network error occurs
-