pub struct RequestBuilder { /* private fields */ }Expand description
A way to add messages with finer control given.
This includes control over:
- Logits processors
 - Constraints
 - Logprobs
 - Tools
 - Sampling
 - Enable thinking for models that support the configuration
 
Implementations§
Source§impl RequestBuilder
 
impl RequestBuilder
pub fn new() -> Self
pub fn with_web_search_options( self, web_search_options: WebSearchOptions, ) -> Self
Sourcepub fn add_message(self, role: TextMessageRole, text: impl ToString) -> Self
 
pub fn add_message(self, role: TextMessageRole, text: impl ToString) -> Self
Add a message to the request.
For messages with tool calls, use Self::add_message_with_tool_call.
For messages with tool outputs, use Self::add_tool_message.
Sourcepub fn add_tool_message(
    self,
    tool_content: impl ToString,
    tool_id: impl ToString,
) -> Self
 
pub fn add_tool_message( self, tool_content: impl ToString, tool_id: impl ToString, ) -> Self
Add a message with the output of a tool call.
pub fn add_message_with_tool_call( self, role: TextMessageRole, text: impl ToString, tool_calls: Vec<ToolCallResponse>, ) -> Self
pub fn add_image_message( self, role: TextMessageRole, text: impl ToString, images: Vec<DynamicImage>, model: &Model, ) -> Result<Self>
pub fn add_audio_message( self, role: TextMessageRole, text: impl ToString, audios: Vec<AudioInput>, model: &Model, ) -> Result<Self>
pub fn add_multimodal_message( self, role: TextMessageRole, text: impl ToString, images: Vec<DynamicImage>, audios: Vec<AudioInput>, model: &Model, ) -> Result<Self>
pub fn add_logits_processor( self, processor: Arc<dyn CustomLogitsProcessor>, ) -> Self
pub fn set_adapters(self, adapters: Vec<String>) -> Self
pub fn set_tool_choice(self, tool_choice: ToolChoice) -> Self
pub fn return_logprobs(self, return_logprobs: bool) -> Self
pub fn set_constraint(self, constraint: Constraint) -> Self
Sourcepub fn set_sampling(self, params: SamplingParams) -> Self
 
pub fn set_sampling(self, params: SamplingParams) -> Self
Set the sampling parameters as given.
Sourcepub fn set_deterministic_sampler(self) -> Self
 
pub fn set_deterministic_sampler(self) -> Self
Set the sampling parameters for deterministic generation. This sets up the parameters so that there is:
- No temperature, topk, topp, minp
 - No penalties, stop tokens, or logit bias
 - No maximum length
 
pub fn set_sampler_temperature(self, temperature: f64) -> Self
pub fn set_sampler_topk(self, topk: usize) -> Self
pub fn set_sampler_topp(self, topp: f64) -> Self
pub fn set_sampler_minp(self, minp: f64) -> Self
pub fn set_sampler_topn_logprobs(self, top_n_logprobs: usize) -> Self
pub fn set_sampler_frequency_penalty(self, frequency_penalty: f32) -> Self
pub fn set_sampler_presence_penalty(self, presence_penalty: f32) -> Self
pub fn set_sampler_stop_toks(self, stop_toks: StopTokens) -> Self
pub fn set_sampler_max_len(self, max_len: usize) -> Self
pub fn set_sampler_logits_bias(self, logits_bias: HashMap<u32, f32>) -> Self
pub fn set_sampler_n_choices(self, n_choices: usize) -> Self
pub fn set_sampler_dry_params(self, dry_params: DrySamplingParams) -> Self
pub fn enable_thinking(self, enable_thinking: bool) -> Self
Sourcepub fn with_truncate_sequence(self, truncate_sequence: bool) -> Self
 
pub fn with_truncate_sequence(self, truncate_sequence: bool) -> Self
Truncate prompts that exceed the model’s maximum context length.
Trait Implementations§
Source§impl Clone for RequestBuilder
 
impl Clone for RequestBuilder
Source§fn clone(&self) -> RequestBuilder
 
fn clone(&self) -> RequestBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl Default for RequestBuilder
 
impl Default for RequestBuilder
Source§impl From<TextMessages> for RequestBuilder
 
impl From<TextMessages> for RequestBuilder
Source§fn from(value: TextMessages) -> Self
 
fn from(value: TextMessages) -> Self
Converts to this type from the input type.
Source§impl From<VisionMessages> for RequestBuilder
 
impl From<VisionMessages> for RequestBuilder
Source§fn from(value: VisionMessages) -> Self
 
fn from(value: VisionMessages) -> Self
Converts to this type from the input type.
Source§impl RequestLike for RequestBuilder
 
impl RequestLike for RequestBuilder
fn messages_ref(&self) -> &[IndexMap<String, MessageContent>]
fn images_ref(&self) -> &[DynamicImage]
fn take_messages(&mut self) -> RequestMessage
fn enable_search(&self) -> Option<bool>
fn take_logits_processors( &mut self, ) -> Option<Vec<Arc<dyn CustomLogitsProcessor>>>
fn take_adapters(&mut self) -> Option<Vec<String>>
fn return_logprobs(&self) -> bool
fn take_constraint(&mut self) -> Constraint
fn take_tools(&mut self) -> Option<(Vec<Tool>, ToolChoice)>
fn take_sampling_params(&mut self) -> SamplingParams
fn take_web_search_options(&mut self) -> Option<WebSearchOptions>
fn truncate_sequence(&self) -> bool
Auto Trait Implementations§
impl Freeze for RequestBuilder
impl !RefUnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Sync for RequestBuilder
impl Unpin for RequestBuilder
impl !UnwindSafe for RequestBuilder
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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Downcast for Twhere
    T: AsAny + ?Sized,
 
impl<T> Downcast for Twhere
    T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
    T: AsAny,
 
fn downcast_ref<T>(&self) -> Option<&T>where
    T: AsAny,
Forward to the method defined on the type 
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
    T: AsAny,
 
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
    T: AsAny,
Forward to the method defined on the type 
Any.§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> ⓘ
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 more§impl<F, T> IntoSample<T> for Fwhere
    T: FromSample<F>,
 
impl<F, T> IntoSample<T> for Fwhere
    T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
    T: ?Sized,
 
impl<T> PolicyExt for Twhere
    T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
 
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
 
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as 
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct 
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
Checks if 
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
Use with care! Same as 
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
The inclusion map: converts 
self to the equivalent element of its superset.