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_text(text: impl Into<String>) -> GenerateContentConfig
pub fn from_text(text: impl Into<String>) -> GenerateContentConfig
Create a config from a simple text prompt.
Sourcepub fn from_parts(parts: Vec<Part>) -> GenerateContentConfig
pub fn from_parts(parts: Vec<Part>) -> GenerateContentConfig
Create a config from a list of content parts (e.g., text + image).
Sourcepub fn from_contents(contents: Vec<Content>) -> GenerateContentConfig
pub fn from_contents(contents: Vec<Content>) -> GenerateContentConfig
Create a config from existing conversation contents.
Sourcepub fn generation_config(
self,
config: GenerationConfig,
) -> GenerateContentConfig
pub fn generation_config( self, config: GenerationConfig, ) -> GenerateContentConfig
Set generation config.
Sourcepub fn temperature(self, temp: f32) -> GenerateContentConfig
pub fn temperature(self, temp: f32) -> GenerateContentConfig
Set temperature.
Sourcepub fn max_output_tokens(self, max: u32) -> GenerateContentConfig
pub fn max_output_tokens(self, max: u32) -> GenerateContentConfig
Set max output tokens.
Sourcepub fn top_p(self, top_p: f32) -> GenerateContentConfig
pub fn top_p(self, top_p: f32) -> GenerateContentConfig
Set top_p.
Sourcepub fn top_k(self, top_k: u32) -> GenerateContentConfig
pub fn top_k(self, top_k: u32) -> GenerateContentConfig
Set top_k.
Sourcepub fn safety_setting(self, setting: SafetySetting) -> GenerateContentConfig
pub fn safety_setting(self, setting: SafetySetting) -> GenerateContentConfig
Add a safety setting.
Sourcepub fn tool(self, tool: Tool) -> GenerateContentConfig
pub fn tool(self, tool: Tool) -> GenerateContentConfig
Add a tool.
Sourcepub fn tool_config(self, config: ToolConfig) -> GenerateContentConfig
pub fn tool_config(self, config: ToolConfig) -> GenerateContentConfig
Set tool config.
Sourcepub fn json_output(self, schema: Option<Value>) -> GenerateContentConfig
pub fn json_output(self, schema: Option<Value>) -> GenerateContentConfig
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>,
) -> GenerateContentConfig
pub fn system_instruction( self, text: impl Into<String>, ) -> GenerateContentConfig
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<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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].