Class HuggingFaceModelDownloader

java.lang.Object
com.redis.vl.utils.vectorize.HuggingFaceModelDownloader

public class HuggingFaceModelDownloader extends Object
Downloads and caches HuggingFace models locally for offline use. Models are cached in ~/.cache/redisvl/models/ by default.
  • Constructor Details

    • HuggingFaceModelDownloader

      public HuggingFaceModelDownloader(String cacheDir)
      Create a downloader with cache directory and default settings.
      Parameters:
      cacheDir - Directory to cache downloaded models
    • HuggingFaceModelDownloader

      public HuggingFaceModelDownloader(String cacheDir, String baseUrl)
      Create a downloader with cache directory and custom base URL.
      Parameters:
      cacheDir - Directory to cache downloaded models
      baseUrl - Base URL for HuggingFace (e.g., "https://huggingface.co/")
    • HuggingFaceModelDownloader

      public HuggingFaceModelDownloader(String cacheDir, String baseUrl, int timeoutSeconds)
      Create a downloader with cache directory, base URL, and custom timeout.
      Parameters:
      cacheDir - Directory to cache downloaded models
      baseUrl - Base URL for HuggingFace
      timeoutSeconds - 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 models
      baseUrl - Base URL for HuggingFace
      listener - 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 models
      baseUrl - Base URL for HuggingFace
      listener - Progress listener for tracking downloads (can be null)
      timeoutSeconds - Timeout in seconds for HTTP operations
  • Method Details

    • downloadModel

      public Path downloadModel(String modelName) throws IOException
      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

      public Path downloadModel(String modelName, String revision) throws IOException
      Download a model from HuggingFace with specified revision.
      Parameters:
      modelName - The HuggingFace model name
      revision - 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