pub struct OpenAICompatibleFormatter;Expand description
Generic OpenAI-compatible formatter. Unlike OpenAIChatFormatter, this one is
intentionally conservative: it only emits function-shaped tools and silently drops
hosted / native tool types because most compatible providers don’t support them.
Trait Implementations§
Source§impl Clone for OpenAICompatibleFormatter
impl Clone for OpenAICompatibleFormatter
impl Copy for OpenAICompatibleFormatter
Source§impl Debug for OpenAICompatibleFormatter
impl Debug for OpenAICompatibleFormatter
impl Eq for OpenAICompatibleFormatter
Source§impl Hash for OpenAICompatibleFormatter
impl Hash for OpenAICompatibleFormatter
Source§impl ProviderToolFormatter for OpenAICompatibleFormatter
impl ProviderToolFormatter for OpenAICompatibleFormatter
Source§fn family(&self) -> ProviderFamily
fn family(&self) -> ProviderFamily
Family this formatter belongs to (for diagnostics).
Source§fn supported_extensions(&self) -> &'static [&'static str]
fn supported_extensions(&self) -> &'static [&'static str]
Provider extensions preserved by this formatter. Used by callers that want to
validate that a particular extension (e.g.
defer_loading) is supported before
passing a tool through.Source§fn supports(&self, tool: &ToolDefinition) -> bool
fn supports(&self, tool: &ToolDefinition) -> bool
Returns true when this formatter accepts the given tool type unchanged.
Source§fn format_tools(
&self,
tools: &[ToolDefinition],
_model: &str,
) -> Result<Option<Value>, LLMError>
fn format_tools( &self, tools: &[ToolDefinition], _model: &str, ) -> Result<Option<Value>, LLMError>
Format a slice of tool definitions into the wire-shape this provider expects. Read more
impl StructuralPartialEq for OpenAICompatibleFormatter
Auto Trait Implementations§
impl Freeze for OpenAICompatibleFormatter
impl RefUnwindSafe for OpenAICompatibleFormatter
impl Send for OpenAICompatibleFormatter
impl Sync for OpenAICompatibleFormatter
impl Unpin for OpenAICompatibleFormatter
impl UnsafeUnpin for OpenAICompatibleFormatter
impl UnwindSafe for OpenAICompatibleFormatter
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
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> 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 more