Table of Contents

Class ModelDownloader

Namespace
JD.AI.Core.LocalModels
Assembly
JD.AI.Core.dll

Shared download logic with progress, resume support, retry, and cancellation.

public sealed class ModelDownloader
Inheritance
ModelDownloader
Inherited Members

Constructors

ModelDownloader(string?)

public ModelDownloader(string? cacheDir = null)

Parameters

cacheDir string

Properties

CacheDirectory

public string CacheDirectory { get; }

Property Value

string

Methods

DownloadAsync(Uri, IProgress<(long downloaded, long? total, string status)>?, CancellationToken)

Downloads a model from a URL with retry logic and progress reporting.

public Task<ModelMetadata> DownloadAsync(Uri url, IProgress<(long downloaded, long? total, string status)>? progress = null, CancellationToken ct = default)

Parameters

url Uri
progress IProgress<(long downloaded, long? total, string status)>
ct CancellationToken

Returns

Task<ModelMetadata>

DownloadFromHuggingFaceAsync(string, string?, IProgress<(long downloaded, long? total, string status)>?, CancellationToken)

Downloads a model from HuggingFace by repo ID and optional filename.

public Task<ModelMetadata> DownloadFromHuggingFaceAsync(string repoId, string? filename = null, IProgress<(long downloaded, long? total, string status)>? progress = null, CancellationToken ct = default)

Parameters

repoId string
filename string
progress IProgress<(long downloaded, long? total, string status)>
ct CancellationToken

Returns

Task<ModelMetadata>