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
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
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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()
.