pub struct CallOptions {Show 15 fields
pub prompt: Prompt,
pub max_output_tokens: Option<u32>,
pub temperature: Option<f32>,
pub stop_sequences: Option<Vec<String>>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub presence_penalty: Option<f32>,
pub frequency_penalty: Option<f32>,
pub response_format: Option<ResponseFormat>,
pub seed: Option<i64>,
pub tools: Option<Vec<Tool>>,
pub tool_choice: Option<ToolChoice>,
pub include_raw_chunks: Option<bool>,
pub headers: Option<HashMap<String, String>>,
pub provider_options: Option<HashMap<String, HashMap<String, JsonValue>>>,
}Expand description
Configuration options for language model generation requests.
This struct encapsulates all available parameters for controlling language model behavior. It provides fine-grained control over sampling, generation limits, response formatting, and tool integration. Use this structure when making requests to language models through the SDK.
§Fields
-
prompt- The input prompt or conversation history to send to the model. This is the primary content that guides the model’s response generation. -
max_output_tokens- The maximum number of tokens the model should generate in its response. Helps control response length and API costs. Typical values range from 100 to 4096. -
temperature- Controls randomness in token selection. Values from 0.0 to 2.0:- 0.0: Deterministic, always selects the most likely token
- 0.7: Balanced randomness (recommended for most use cases)
- 2.0: Maximum randomness
-
stop_sequences- List of strings that, when generated, will cause the model to stop generating further tokens. Useful for controlling output boundaries. -
top_p- Nucleus sampling parameter (0.0 to 1.0). The model selects from the smallest set of tokens whose probabilities sum to this value. Works well with temperature. -
top_k- Top-k sampling parameter. Limits selection to the k most likely next tokens, reducing tail probability mass. A value of 40-50 is typical. -
presence_penalty- Penalty for tokens that have already appeared in the prompt (-2.0 to 2.0). Positive values encourage diversity and reduce repetition. -
frequency_penalty- Penalty based on token frequency in the generated text (-2.0 to 2.0). Positive values reduce likelihood of repeating common phrases. -
response_format- Specifies the desired format for the model’s response, either plain text or structured JSON with optional schema validation. -
seed- Random seed for deterministic output. When set, the same seed with the same inputs will produce identical outputs (if supported by the provider). -
tools- Array of tool definitions available for the model to call. Enables function calling and tool use capabilities. -
tool_choice- Strategy for tool invocation: Auto (model decides), None (disable tools), Required (must call at least one), or a specific tool by name. -
include_raw_chunks- When streaming, includes raw provider chunks in the response for debugging or advanced use cases. -
headers- Additional HTTP headers to include in the request. Useful for custom authentication, routing, or provider-specific headers. -
provider_options- Provider-specific configuration options that may not be part of the standard SDK parameters.
Fields§
§prompt: PromptThe input prompt or conversation history for the model.
max_output_tokens: Option<u32>Maximum number of tokens to generate in the response.
temperature: Option<f32>Sampling temperature controlling randomness (0.0 to 2.0).
stop_sequences: Option<Vec<String>>Sequences that trigger generation to stop when encountered.
top_p: Option<f32>Nucleus sampling probability mass (0.0 to 1.0).
top_k: Option<u32>Top-k sampling parameter limiting token selection.
presence_penalty: Option<f32>Penalty for tokens that have appeared in the prompt (-2.0 to 2.0).
frequency_penalty: Option<f32>Penalty based on token frequency in generated text (-2.0 to 2.0).
response_format: Option<ResponseFormat>Expected format for the model’s response (Text or JSON).
seed: Option<i64>Random seed for deterministic generation.
tools: Option<Vec<Tool>>Tool definitions available for the model to call.
tool_choice: Option<ToolChoice>Strategy for tool selection and invocation.
include_raw_chunks: Option<bool>Whether to include raw provider chunks in streaming responses.
headers: Option<HashMap<String, String>>Additional HTTP headers for the provider request.
provider_options: Option<HashMap<String, HashMap<String, JsonValue>>>Provider-specific configuration options.
Trait Implementations§
Source§impl Clone for CallOptions
impl Clone for CallOptions
Source§fn clone(&self) -> CallOptions
fn clone(&self) -> CallOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more