pub struct VertexAiRagRetrievalTool { /* private fields */ }Expand description
Retrieval tool that searches via the Vertex AI RAG API.
Calls the Vertex AI RAG :retrieveContexts endpoint to retrieve relevant
document chunks from the configured corpora.
§Quick start
let tool = VertexAiRagRetrievalTool::new(
VertexAiRagConfig::from_corpus(
"projects/my-proj/locations/us-central1/ragCorpora/my-corpus",
)
.with_similarity_top_k(5),
)
.with_token("ya29.my-access-token");
let results = tool.retrieve("what is the refund policy?", 5).await?;Implementations§
Source§impl VertexAiRagRetrievalTool
impl VertexAiRagRetrievalTool
Sourcepub fn new(config: VertexAiRagConfig) -> Self
pub fn new(config: VertexAiRagConfig) -> Self
Create a new Vertex AI RAG retrieval tool.
No auth token is configured yet — call with_token
or with_token_refresher before issuing
requests.
Sourcepub fn with_token(self, token: impl Into<String>) -> Self
pub fn with_token(self, token: impl Into<String>) -> Self
Set a static bearer token for all requests.
Trait Implementations§
Source§impl BaseRetrievalTool for VertexAiRagRetrievalTool
impl BaseRetrievalTool for VertexAiRagRetrievalTool
Source§fn retrieve<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RetrievalResult>, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn retrieve<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RetrievalResult>, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Search the corpus with a query and return ranked results.
Auto Trait Implementations§
impl Freeze for VertexAiRagRetrievalTool
impl !RefUnwindSafe for VertexAiRagRetrievalTool
impl Send for VertexAiRagRetrievalTool
impl Sync for VertexAiRagRetrievalTool
impl Unpin for VertexAiRagRetrievalTool
impl !UnwindSafe for VertexAiRagRetrievalTool
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<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].