pub struct LLMRequestBuilder { /* private fields */ }Expand description
Builder for constructing LLMRequest instances with a fluent API.
§Example
use llm_kernel::llm::LLMRequest;
let request = LLMRequest::builder()
.system("You are concise.")
.user_message("Summarise Rust ownership in one line.")
.temperature(0.0)
.build();Implementations§
Source§impl LLMRequestBuilder
impl LLMRequestBuilder
Sourcepub fn user_message(self, content: impl Into<String>) -> Self
pub fn user_message(self, content: impl Into<String>) -> Self
Append a user message.
Sourcepub fn assistant_message(self, content: impl Into<String>) -> Self
pub fn assistant_message(self, content: impl Into<String>) -> Self
Append an assistant message.
Sourcepub fn message(self, msg: ChatMessage) -> Self
pub fn message(self, msg: ChatMessage) -> Self
Append a raw ChatMessage.
Sourcepub fn messages(self, messages: Vec<ChatMessage>) -> Self
pub fn messages(self, messages: Vec<ChatMessage>) -> Self
Replace the message list with the provided messages.
Convenience for callers that already hold a Vec<ChatMessage> (e.g. a
pre-built conversation), avoiding repeated .message() calls.
Sourcepub fn temperature(self, temp: f32) -> Self
pub fn temperature(self, temp: f32) -> Self
Set the sampling temperature.
Sourcepub fn max_tokens(self, tokens: u32) -> Self
pub fn max_tokens(self, tokens: u32) -> Self
Set the maximum tokens to generate.
Sourcepub fn maybe_max_tokens(self, tokens: Option<u32>) -> Self
pub fn maybe_max_tokens(self, tokens: Option<u32>) -> Self
Set the maximum tokens to generate, or None to use the provider default.
Convenience for callers that already hold an Option<u32> (e.g. a
config field), avoiding a conditional chain.
Sourcepub fn response_format(self, format: ResponseFormat) -> Self
pub fn response_format(self, format: ResponseFormat) -> Self
Set the desired response format.
Sourcepub fn tools(self, tools: Vec<ToolDefinition>) -> Self
pub fn tools(self, tools: Vec<ToolDefinition>) -> Self
Set the tool definitions available to the model.
Sourcepub fn reasoning(self, cfg: ReasoningConfig) -> Self
pub fn reasoning(self, cfg: ReasoningConfig) -> Self
Set reasoning-model controls (effort / on-off switch / summary).
Sourcepub fn verbosity(self, verbosity: Verbosity) -> Self
pub fn verbosity(self, verbosity: Verbosity) -> Self
Set the response verbosity (OpenAI verbosity).
Sourcepub fn extra_body(self, extra: Map<String, Value>) -> Self
pub fn extra_body(self, extra: Map<String, Value>) -> Self
Merge extra provider parameters into the request body verbatim (last-write-wins). Any official spec parameter or provider extension.
Sourcepub fn observability(self, context: ObservabilityContext) -> Self
pub fn observability(self, context: ObservabilityContext) -> Self
Attach an observability context for middleware (kernel-opaque).
Sourcepub fn with_session(self, session_id: impl Into<String>) -> Self
pub fn with_session(self, session_id: impl Into<String>) -> Self
Convenience: set just the session id, creating the context if absent and preserving other fields otherwise.
Sourcepub fn build(self) -> LLMRequest
pub fn build(self) -> LLMRequest
Build the LLMRequest.
Trait Implementations§
Source§impl Clone for LLMRequestBuilder
impl Clone for LLMRequestBuilder
Source§fn clone(&self) -> LLMRequestBuilder
fn clone(&self) -> LLMRequestBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LLMRequestBuilder
impl Debug for LLMRequestBuilder
Source§impl Default for LLMRequestBuilder
impl Default for LLMRequestBuilder
Source§fn default() -> LLMRequestBuilder
fn default() -> LLMRequestBuilder
Auto Trait Implementations§
impl Freeze for LLMRequestBuilder
impl RefUnwindSafe for LLMRequestBuilder
impl Send for LLMRequestBuilder
impl Sync for LLMRequestBuilder
impl Unpin for LLMRequestBuilder
impl UnsafeUnpin for LLMRequestBuilder
impl UnwindSafe for LLMRequestBuilder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> 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>
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.