pub struct Gemini { /* private fields */ }Expand description
Native Gemini backend wired up to the aither traits.
Implementations§
Source§impl Gemini
impl Gemini
Sourcepub fn new(api_key: impl Into<String>) -> Gemini
pub fn new(api_key: impl Into<String>) -> Gemini
Create a backend using the default chat/embedding models.
Sourcepub fn with_base_url(self, base_url: impl Into<String>) -> Gemini
pub fn with_base_url(self, base_url: impl Into<String>) -> Gemini
Override the REST base URL (useful for sandboxes or proxies).
Sourcepub const fn with_auth_mode(self, mode: AuthMode) -> Gemini
pub const fn with_auth_mode(self, mode: AuthMode) -> Gemini
Select header-based authentication.
Sourcepub fn with_text_model(self, model: impl Into<String>) -> Gemini
pub fn with_text_model(self, model: impl Into<String>) -> Gemini
Override the default chat model.
Sourcepub fn with_embedding_model(
self,
model: impl Into<String>,
dim: usize,
) -> Gemini
pub fn with_embedding_model( self, model: impl Into<String>, dim: usize, ) -> Gemini
Override the embedding model and (optionally) its dimensionality.
Sourcepub fn with_image_model(self, model: impl Into<String>) -> Gemini
pub fn with_image_model(self, model: impl Into<String>) -> Gemini
Override the optional image model.
Sourcepub fn without_image_model(self) -> Gemini
pub fn without_image_model(self) -> Gemini
Disable image generation support.
Sourcepub fn with_tts(
self,
model: impl Into<String>,
voice: impl Into<String>,
) -> Gemini
pub fn with_tts( self, model: impl Into<String>, voice: impl Into<String>, ) -> Gemini
Override the optional text-to-speech model + voice.
Sourcepub fn with_native_capabilities(
self,
abilities: impl IntoIterator<Item = Ability>,
) -> Gemini
pub fn with_native_capabilities( self, abilities: impl IntoIterator<Item = Ability>, ) -> Gemini
Declare native capabilities exposed by the selected Gemini model.
Sourcepub fn with_native_capability(self, ability: Ability) -> Gemini
pub fn with_native_capability(self, ability: Ability) -> Gemini
Declare a single native capability.
Trait Implementations§
Source§impl AudioGenerator for Gemini
impl AudioGenerator for Gemini
Source§impl AudioTranscriber for Gemini
impl AudioTranscriber for Gemini
Source§impl EmbeddingModel for Gemini
impl EmbeddingModel for Gemini
Source§impl From<Gemini> for CloudEmbedder
impl From<Gemini> for CloudEmbedder
Source§impl From<Gemini> for CloudProvider
impl From<Gemini> for CloudProvider
Source§impl ImageGenerator for Gemini
impl ImageGenerator for Gemini
Source§impl LanguageModel for Gemini
impl LanguageModel for Gemini
Source§type Error = GeminiError
type Error = GeminiError
The error type returned by this language model.
Source§fn respond(
&self,
request: LLMRequest,
) -> impl Stream<Item = Result<Event, <Gemini as LanguageModel>::Error>> + Send
fn respond( &self, request: LLMRequest, ) -> impl Stream<Item = Result<Event, <Gemini as LanguageModel>::Error>> + Send
Generates a streaming response to a conversation. Read more
Source§fn generate<T>(
&self,
request: LLMRequest,
) -> impl Future<Output = Result<T, GenerateError<<Gemini as LanguageModel>::Error>>> + Sendwhere
T: JsonSchema + DeserializeOwned + 'static,
fn generate<T>(
&self,
request: LLMRequest,
) -> impl Future<Output = Result<T, GenerateError<<Gemini as LanguageModel>::Error>>> + Sendwhere
T: JsonSchema + DeserializeOwned + 'static,
Generates structured output conforming to JSON schema. Read more
Source§fn retry_policy(&self) -> RetryPolicy
fn retry_policy(&self) -> RetryPolicy
How a request to this model that failed with a retryable failure is
sent again. Read more
Source§fn profile(
&self,
) -> impl Future<Output = Result<Profile, <Gemini as LanguageModel>::Error>> + Send
fn profile( &self, ) -> impl Future<Output = Result<Profile, <Gemini as LanguageModel>::Error>> + Send
Returns model profile and capabilities. Read more
Source§fn respond_with_tools(
&self,
request: LLMRequestWithTools<'_>,
) -> impl Stream<Item = Result<Event, Self::Error>> + Send
fn respond_with_tools( &self, request: LLMRequestWithTools<'_>, ) -> impl Stream<Item = Result<Event, Self::Error>> + Send
Generates a streaming response with a mutable tool registry. Read more
Source§fn complete(
&self,
prefix: &str,
) -> impl Stream<Item = Result<Event, Self::Error>> + Send
fn complete( &self, prefix: &str, ) -> impl Stream<Item = Result<Event, Self::Error>> + Send
Completes given text prefix.
Source§fn summarize(
&self,
text: &str,
) -> impl Stream<Item = Result<Event, Self::Error>> + Send
fn summarize( &self, text: &str, ) -> impl Stream<Item = Result<Event, Self::Error>> + Send
Summarizes text. Read more
Source§fn categorize<T>(
&self,
text: &str,
) -> impl Future<Output = Result<T, GenerateError<Self::Error>>> + Sendwhere
T: JsonSchema + DeserializeOwned + 'static,
fn categorize<T>(
&self,
text: &str,
) -> impl Future<Output = Result<T, GenerateError<Self::Error>>> + Sendwhere
T: JsonSchema + DeserializeOwned + 'static,
Categorizes text. Read more
Source§impl Moderation for Gemini
impl Moderation for Gemini
Auto Trait Implementations§
impl Forget for Gemini
impl Freeze for Gemini
impl RefUnwindSafe for Gemini
impl Send for Gemini
impl Sync for Gemini
impl Unpin for Gemini
impl UnsafeUnpin for Gemini
impl UnwindSafe for Gemini
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