pub enum Tool {
Function {
function: FunctionDefinition,
},
WebSearch {
filters: Option<WebSearchFilters>,
enable_image_understanding: Option<bool>,
},
XSearch {
allowed_x_handles: Option<Vec<String>>,
excluded_x_handles: Option<Vec<String>>,
from_date: Option<String>,
to_date: Option<String>,
enable_image_understanding: Option<bool>,
enable_video_understanding: Option<bool>,
},
CodeInterpreter {},
CollectionsSearch {
collection_ids: Option<Vec<String>>,
},
Mcp {
server: McpServer,
allowed_tools: Option<Vec<String>>,
},
}Expand description
A tool that can be used by the model.
Variants§
Function
A custom function tool.
Fields
§
function: FunctionDefinitionThe function definition.
WebSearch
Web search tool.
Fields
§
filters: Option<WebSearchFilters>Search filters.
XSearch
X (Twitter) search tool.
Fields
CodeInterpreter
Code interpreter tool.
CollectionsSearch
Collections search tool.
Mcp
Remote MCP server tool.
Implementations§
Source§impl Tool
impl Tool
Sourcepub fn function(
name: impl Into<String>,
description: impl Into<String>,
parameters: Value,
) -> Self
pub fn function( name: impl Into<String>, description: impl Into<String>, parameters: Value, ) -> Self
Create a function tool.
Sourcepub fn web_search() -> Self
pub fn web_search() -> Self
Create a web search tool with default settings.
Sourcepub fn web_search_filtered(filters: WebSearchFilters) -> Self
pub fn web_search_filtered(filters: WebSearchFilters) -> Self
Create a web search tool with filters.
Sourcepub fn code_interpreter() -> Self
pub fn code_interpreter() -> Self
Create a code interpreter tool.
Sourcepub fn collections_search(collection_ids: Vec<String>) -> Self
pub fn collections_search(collection_ids: Vec<String>) -> Self
Create a collections search tool.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tool
impl<'de> Deserialize<'de> for Tool
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
Auto Trait Implementations§
impl Freeze for Tool
impl RefUnwindSafe for Tool
impl Send for Tool
impl Sync for Tool
impl Unpin for Tool
impl UnsafeUnpin for Tool
impl UnwindSafe for Tool
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