pub enum ToolChoice {
Auto,
None,
Required,
Specific {
name: String,
},
}Expand description
工具选择策略 — 控制 LLM 是否以及如何使用工具。
发送给 LLM 的 tool_choice 参数,不同 provider 有不同的映射方式,
由 provider adapter 负责转换。
§Examples
use katu_core::ToolChoice;
let choice = ToolChoice::Auto;
assert!(choice.allows_tools());
let choice = ToolChoice::None;
assert!(!choice.allows_tools());
let choice = ToolChoice::specific("bash");
assert!(choice.allows_tools());
assert_eq!(choice.required_tool(), Some("bash"));Variants§
Implementations§
Trait Implementations§
Source§impl Clone for ToolChoice
impl Clone for ToolChoice
Source§fn clone(&self) -> ToolChoice
fn clone(&self) -> ToolChoice
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolChoice
impl Debug for ToolChoice
Source§impl Default for ToolChoice
impl Default for ToolChoice
Source§fn default() -> ToolChoice
fn default() -> ToolChoice
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ToolChoice
impl<'de> Deserialize<'de> for ToolChoice
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for ToolChoice
impl Hash for ToolChoice
Source§impl PartialEq for ToolChoice
impl PartialEq for ToolChoice
Source§fn eq(&self, other: &ToolChoice) -> bool
fn eq(&self, other: &ToolChoice) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ToolChoice
impl Serialize for ToolChoice
impl Eq for ToolChoice
impl StructuralPartialEq for ToolChoice
Auto Trait Implementations§
impl Freeze for ToolChoice
impl RefUnwindSafe for ToolChoice
impl Send for ToolChoice
impl Sync for ToolChoice
impl Unpin for ToolChoice
impl UnsafeUnpin for ToolChoice
impl UnwindSafe for ToolChoice
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