pub struct APIRequest {
pub model: String,
pub messages: VecDeque<Message>,
pub tools: Vec<ToolDef>,
pub tool_choice: Value,
pub parallel_tool_calls: Option<bool>,
pub temperature: Option<f64>,
pub max_completion_tokens: Option<u64>,
pub top_p: Option<f64>,
pub reasoning_effort: Option<String>,
pub presence_penalty: Option<f64>,
pub web_search_options: Option<WebSearchOptions>,
}Expand description
API Request structure for sending prompt and function information
Fields§
§model: StringSpecifies the model name
messages: VecDeque<Message>Array of prompt messages
tools: Vec<ToolDef>Defines the tools available to the model
tool_choice: ValueInstructions for function calls:
- “auto”: AI will make one or more function calls if needed
- “none”: No function calls will be made
- “required”: One or more function calls are mandatory
- {“type”: “function”, “function”: {“name”: “<function_name>”}}: Calls the function <function_name>
parallel_tool_calls: Option<bool>Specifies whether to make parallel tool calls default: true
temperature: Option<f64>Specifies the diversity of tokens generated by the model Range: 0.0..2.0 default: 0.8 (soft specification)
max_completion_tokens: Option<u64>Specifies the maximum number of tokens generated by the model
top_p: Option<f64>Specifies the width of the probability distribution for selecting the next token Lower values result in more predictable text
reasoning_effort: Option<String>Specifies the level of effort for model reasoning:
- “low”: Low effort
- “medium”: Medium effort
- “high”: High effort default: “medium”
presence_penalty: Option<f64>Specifies whether to apply a repetition penalty to the model Range: 2.0..-2.0
web_search_options: Option<WebSearchOptions>Options for performing web search with available models
Trait Implementations§
Source§impl Debug for APIRequest
impl Debug for APIRequest
Source§impl<'de> Deserialize<'de> for APIRequest
impl<'de> Deserialize<'de> for APIRequest
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
Auto Trait Implementations§
impl Freeze for APIRequest
impl RefUnwindSafe for APIRequest
impl Send for APIRequest
impl Sync for APIRequest
impl Unpin for APIRequest
impl UnwindSafe for APIRequest
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