Skip to main content

LlamaCppInstaller

Struct LlamaCppInstaller 

Source
pub struct LlamaCppInstaller { /* private fields */ }
Expand description

The llama.cpp installer.

Implementations§

Source§

impl LlamaCppInstaller

Source

pub fn new(config: LlamaCppConfig) -> Self

Create a new installer with the given config.

Source

pub fn with_defaults() -> Self

Create with default config.

Source

pub fn build_dir_path(&self) -> &str

The directory the source is cloned + built into (also a verification model search root while it still exists).

Source

pub fn dependencies(&self) -> &[&str]

Get the list of required dependencies.

llama.cpp depends on ROCm.

Source

pub fn check_latest_release(&self) -> Option<ReleaseManifest>

Fetch the latest release manifest from GitHub.

Returns None for HTTP/API failures, including 404.

Source

pub fn release_asset_for_arch<'a>( &self, manifest: &'a ReleaseManifest, gpu_arch: &str, ) -> Option<&'a ReleaseAsset>

Source

pub fn validate_repo_access(&self) -> Result<(), String>

Validate the git clone step for private repo access.

Returns Ok(()) if the repo is accessible (public or private with valid auth). Returns Err(String) with an actionable error message if auth fails.

Source

pub fn cmake_flags(&self) -> Vec<String>

Build the CMake flags for the configured channel and GPU arch.

Returns a list of CMake cache variable flags.

Source

pub fn build_commands(&self, home: &str) -> Vec<ShellCommand>

Build the sequence of commands to install llama.cpp with ROCm support.

Source

pub fn resolve_install_strategy( &self, home: &str, manifest: Option<&ReleaseManifest>, ) -> InstallStrategy

Resolve the install strategy for the detected GPU and latest release manifest.

Source

pub fn download_prebuilt_binary( &self, plan: &PrebuiltInstallPlan, ) -> Result<(), String>

Source

pub fn purge_source_artifacts( &self, home: &str, binary_placed: bool, ) -> Result<(), String>

Purge source build artifacts after a successful install.

Removes repo metadata, git credential cache/store entries, and the build tree. Returns Ok(()) when the purge is already complete or if the binary was placed but a cleanup step fails. Returns Err when cleanup fails before installation has produced the binary.

Source

pub fn build_commands_with_auth( &self, home: &str, token: Option<SealedToken>, ) -> Vec<ShellCommand>

Build the sequence of commands to install llama.cpp with ROCm support, handling private repo auth.

Source

pub fn install( &self, home: &str, manifest: Option<&ReleaseManifest>, ) -> Result<(), String>

Source

pub fn run_source_install(&self, home: &str) -> Result<(), String>

Trait Implementations§

Source§

impl Clone for LlamaCppInstaller

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LlamaCppInstaller

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LlamaCppInstaller

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more