pub struct HfModelSource {
pub repo_id: String,
pub filename: String,
pub revision: Option<String>,
}Expand description
HuggingFace Hub model source specification.
Supports parsing model identifiers like:
- “cool-japan/oxigaf-flame-2023” (default revision)
- “cool-japan/oxigaf-flame-2023:main” (branch/tag)
- “cool-japan/oxigaf-flame-2023@v1.0” (specific revision)
Fields§
§repo_id: StringRepository identifier (e.g., “cool-japan/oxigaf-flame”)
filename: StringModel filename within the repository
revision: Option<String>Optional revision (branch, tag, or commit SHA)
Implementations§
Source§impl HfModelSource
impl HfModelSource
Sourcepub fn parse(spec: &str) -> Result<Self>
pub fn parse(spec: &str) -> Result<Self>
Parse a HuggingFace model specification string.
§Examples
let source = HfModelSource::parse("cool-japan/oxigaf-flame").unwrap();
assert_eq!(source.repo_id, "cool-japan/oxigaf-flame");
assert!(source.revision.is_none());
let source = HfModelSource::parse("cool-japan/oxigaf-flame:main").unwrap();
assert_eq!(source.revision, Some("main".to_string()));Sourcepub fn with_filename(self, filename: String) -> Self
pub fn with_filename(self, filename: String) -> Self
Set a custom filename instead of the default “model.safetensors”.
Sourcepub fn download(&self, token: Option<&str>) -> Result<PathBuf>
pub fn download(&self, token: Option<&str>) -> Result<PathBuf>
Download the model from HuggingFace Hub.
§Arguments
token- Optional HuggingFace authentication token for private models
§Returns
The path to the downloaded model file in the HuggingFace cache directory.
§Errors
Returns an error if:
- The API client cannot be initialized
- The repository or file is not found
- Network errors occur during download
- Authentication fails for private models
Auto Trait Implementations§
impl Freeze for HfModelSource
impl RefUnwindSafe for HfModelSource
impl Send for HfModelSource
impl Sync for HfModelSource
impl Unpin for HfModelSource
impl UnsafeUnpin for HfModelSource
impl UnwindSafe for HfModelSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.