pub struct GoogleSearchTool;Expand description
Built-in server-side Google Search tool.
This tool does not perform any local execution. Instead, it modifies
the outgoing LlmRequest to include the Google Search tool
configuration appropriate for the target model.
Implementations§
Source§impl GoogleSearchTool
impl GoogleSearchTool
Sourcepub fn process_llm_request(&self, request: &mut LlmRequest, model: &str)
pub fn process_llm_request(&self, request: &mut LlmRequest, model: &str)
Add Google Search configuration to the given request.
Inspects the model string to determine which variant to use:
- Gemini 2.x or above: adds
Tool::google_search()(thegoogleSearchfield). - Gemini 1.x: adds a
Toolwithgoogle_search_retrieval. - Non-Gemini models: the request is left unchanged (no-op).
Trait Implementations§
Source§impl Clone for GoogleSearchTool
impl Clone for GoogleSearchTool
Source§fn clone(&self) -> GoogleSearchTool
fn clone(&self) -> GoogleSearchTool
Returns a duplicate of the value. Read more
1.0.0 · 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 GoogleSearchTool
impl Debug for GoogleSearchTool
Source§impl Default for GoogleSearchTool
impl Default for GoogleSearchTool
Source§fn default() -> GoogleSearchTool
fn default() -> GoogleSearchTool
Returns the “default value” for a type. Read more
impl Copy for GoogleSearchTool
Auto Trait Implementations§
impl Freeze for GoogleSearchTool
impl RefUnwindSafe for GoogleSearchTool
impl Send for GoogleSearchTool
impl Sync for GoogleSearchTool
impl Unpin for GoogleSearchTool
impl UnwindSafe for GoogleSearchTool
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].