pub struct GenerateContent {
pub provider: GeminiConfig,
pub model: String,
pub cached_content: Option<String>,
pub thought_replay: ThoughtReplay,
}Expand description
Completion wire for unary generateContent and SSE streamGenerateContent.
Both modes use GenerateContentDecoder.
Fields§
§provider: GeminiConfigThe key and the API root.
model: StringThe model to address, e.g. GEMINI_2_5_FLASH.
cached_content: Option<String>Handle of a cachedContents resource every request reads its prefix
from. See Self::with_cached_content.
thought_replay: ThoughtReplayWhich thought signatures requests re-send. See ThoughtReplay.
Implementations§
Source§impl GenerateContent
impl GenerateContent
Sourcepub fn new(provider: GeminiConfig, model: impl Into<String>) -> Self
pub fn new(provider: GeminiConfig, model: impl Into<String>) -> Self
The wire for model.
Sourcepub fn thought_replay(self, replay: ThoughtReplay) -> Self
pub fn thought_replay(self, replay: ThoughtReplay) -> Self
Re-send thought signatures as replay says. See ThoughtReplay.
Sourcepub fn with_cached_content(self, name: impl Into<String>) -> Self
pub fn with_cached_content(self, name: impl Into<String>) -> Self
Use an explicit cachedContents/<id> handle as every request’s prefix.
Encoding rejects requests with their own system instruction, tools, or
tool choice. See crate::providers::gemini::cached_content for cache ownership.
Trait Implementations§
Source§impl Clone for GenerateContent
impl Clone for GenerateContent
Source§impl Debug for GenerateContent
impl Debug for GenerateContent
Source§impl<'de> Deserialize<'de> for GenerateContent
impl<'de> Deserialize<'de> for GenerateContent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for GenerateContent
impl PartialEq for GenerateContent
Source§impl Serialize for GenerateContent
impl Serialize for GenerateContent
impl StructuralPartialEq for GenerateContent
Source§impl<T> Transport<GenerateContent> for Caching<T>where
T: Transport<GenerateContent>,
impl<T> Transport<GenerateContent> for Caching<T>where
T: Transport<GenerateContent>,
Source§impl Wire for GenerateContent
impl Wire for GenerateContent
Source§type Op = Completion
type Op = Completion
The operation this wire performs.
Source§type Payload = Encoded
type Payload = Encoded
What
Self::encode produces for the transport to send.Source§type Decoder<'id> = GenerateContentDecoder<'id>
type Decoder<'id> = GenerateContentDecoder<'id>
The decoder for one of its replies, branded with that reply.
Source§fn describe(&self) -> Descriptor<'_>
fn describe(&self) -> Descriptor<'_>
What the wire says about itself.
Source§fn encode(
&self,
request: CompletionRequest,
mode: Mode,
) -> Result<Encoded, EncodeError>
fn encode( &self, request: CompletionRequest, mode: Mode, ) -> Result<Encoded, EncodeError>
The request to send. Pure: it may read
self, request and mode,
and nothing else. A request that cannot be built is an
EncodeError, which always reports as a request failure.Auto Trait Implementations§
impl Freeze for GenerateContent
impl RefUnwindSafe for GenerateContent
impl Send for GenerateContent
impl Sync for GenerateContent
impl Unpin for GenerateContent
impl UnsafeUnpin for GenerateContent
impl UnwindSafe for GenerateContent
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> IntoToolOutput for Twhere
T: Serialize + 'static,
impl<T> IntoToolOutput for Twhere
T: Serialize + 'static,
Source§fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
Convert this value without routing structured data through a string.