pub struct GenerateContentConfig {
pub contents: Vec<Content>,
pub generation_config: Option<GenerationConfig>,
pub safety_settings: Vec<SafetySetting>,
pub tools: Vec<Tool>,
pub tool_config: Option<ToolConfig>,
pub system_instruction: Option<Content>,
}Expand description
Configuration for a generateContent request.
Wraps the existing GenerationConfig plus safety settings, tools,
system instruction, and content turns.
Fields§
§contents: Vec<Content>The conversation turns to send.
generation_config: Option<GenerationConfig>Generation parameters (temperature, top_p, max_output_tokens, etc.).
safety_settings: Vec<SafetySetting>Per-category safety thresholds.
tools: Vec<Tool>Tools available to the model.
tool_config: Option<ToolConfig>Tool invocation configuration.
system_instruction: Option<Content>System instruction (prepended to the conversation).
Implementations§
Source§impl GenerateContentConfig
impl GenerateContentConfig
Sourcepub fn from_parts(parts: Vec<Part>) -> Self
pub fn from_parts(parts: Vec<Part>) -> Self
Create a config from a list of content parts (e.g., text + image).
Sourcepub fn from_contents(contents: Vec<Content>) -> Self
pub fn from_contents(contents: Vec<Content>) -> Self
Create a config from existing conversation contents.
Sourcepub fn generation_config(self, config: GenerationConfig) -> Self
pub fn generation_config(self, config: GenerationConfig) -> Self
Set generation config.
Sourcepub fn temperature(self, temp: f32) -> Self
pub fn temperature(self, temp: f32) -> Self
Set temperature.
Sourcepub fn max_output_tokens(self, max: u32) -> Self
pub fn max_output_tokens(self, max: u32) -> Self
Set max output tokens.
Sourcepub fn safety_setting(self, setting: SafetySetting) -> Self
pub fn safety_setting(self, setting: SafetySetting) -> Self
Add a safety setting.
Sourcepub fn tool_config(self, config: ToolConfig) -> Self
pub fn tool_config(self, config: ToolConfig) -> Self
Set tool config.
Sourcepub fn json_output(self, schema: Option<Value>) -> Self
pub fn json_output(self, schema: Option<Value>) -> Self
Set JSON output mode with an optional JSON Schema.
Sets responseMimeType to "application/json" and, if a schema is
provided, sets responseJsonSchema so the model is constrained to
produce valid JSON matching the schema.
Sourcepub fn system_instruction(self, text: impl Into<String>) -> Self
pub fn system_instruction(self, text: impl Into<String>) -> Self
Set system instruction from text.
Sourcepub fn to_request_body(&self) -> Value
pub fn to_request_body(&self) -> Value
Serialize to the JSON request body expected by the REST API.
Trait Implementations§
Source§impl Clone for GenerateContentConfig
impl Clone for GenerateContentConfig
Source§fn clone(&self) -> GenerateContentConfig
fn clone(&self) -> GenerateContentConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for GenerateContentConfig
impl RefUnwindSafe for GenerateContentConfig
impl Send for GenerateContentConfig
impl Sync for GenerateContentConfig
impl Unpin for GenerateContentConfig
impl UnwindSafe for GenerateContentConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].