pub struct FunctionCallingHandler { /* private fields */ }Expand description
Function calling handler
Implementations§
Source§impl FunctionCallingHandler
impl FunctionCallingHandler
Sourcepub fn convert_tools_for_provider(
&self,
provider_type: &ProviderType,
tools: &[ToolDefinition],
) -> Result<Value>
pub fn convert_tools_for_provider( &self, provider_type: &ProviderType, tools: &[ToolDefinition], ) -> Result<Value>
Convert function definitions to provider-specific format
Sourcepub fn extract_tool_calls_from_response(
&self,
provider_type: &ProviderType,
response: &Value,
) -> Result<Vec<ToolCall>>
pub fn extract_tool_calls_from_response( &self, provider_type: &ProviderType, response: &Value, ) -> Result<Vec<ToolCall>>
Extract tool calls from provider response
Source§impl FunctionCallingHandler
impl FunctionCallingHandler
Sourcepub fn register_function<F>(&mut self, name: String, executor: F) -> Result<()>where
F: FunctionExecutor + 'static,
pub fn register_function<F>(&mut self, name: String, executor: F) -> Result<()>where
F: FunctionExecutor + 'static,
Register a function
Sourcepub fn get_tool_definitions(&self) -> Vec<ToolDefinition>
pub fn get_tool_definitions(&self) -> Vec<ToolDefinition>
Get available functions as tool definitions
Source§impl FunctionCallingHandler
impl FunctionCallingHandler
Sourcepub async fn process_tool_calls(
&self,
tool_calls: &[ToolCall],
) -> Result<Vec<ChatMessage>>
pub async fn process_tool_calls( &self, tool_calls: &[ToolCall], ) -> Result<Vec<ChatMessage>>
Process tool calls in a chat completion request
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for FunctionCallingHandler
impl !UnwindSafe for FunctionCallingHandler
impl Freeze for FunctionCallingHandler
impl Send for FunctionCallingHandler
impl Sync for FunctionCallingHandler
impl Unpin for FunctionCallingHandler
impl UnsafeUnpin for FunctionCallingHandler
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> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
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> ⓘ
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 moreCreates a shared type from an unshared type.