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
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, image: DynamicImage, ) -> 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
Trait Implementations§
Source§impl Clone for RequestBuilder
impl Clone for RequestBuilder
Source§fn clone(&self) -> RequestBuilder
fn clone(&self) -> RequestBuilder
Returns a copy 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 take_messages(&mut self) -> RequestMessage
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>
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<T> Pointable for T
impl<T> Pointable for T
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()
.