VertexAiRagRetrieval

class VertexAiRagRetrieval(name: String, description: String, val ragCorpora: List<String>? = null, val ragResources: List<VertexRagStoreRagResource>? = null, val similarityTopK: Int? = null, val vectorDistanceThreshold: Double? = null) : BaseTool

A built-in tool that uses Vertex AI RAG (Retrieval-Augmented Generation) to retrieve data.

The model runs retrieval internally via the Gemini-native vertexRagStore retrieval kind; the tool performs no local execution.

Constructors

Link copied to clipboard
constructor(name: String, description: String, ragCorpora: List<String>? = null, ragResources: List<VertexRagStoreRagResource>? = null, similarityTopK: Int? = null, vectorDistanceThreshold: Double? = null)

Types

Link copied to clipboard
class Builder

Fluent builder for VertexAiRagRetrieval, provided primarily for Java callers. Any property left unset falls back to the same default as the constructor.

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The custom metadata of the tool.

Link copied to clipboard

The description of the tool.

Link copied to clipboard

Whether the tool's final result will be delivered out-of-band. When true, the framework marks the call as long-running and uses the tool's return value as the function-response payload. Returning Unit means "no response yet": the FR event is suppressed so the function-call event (which carries the call id in longRunningToolIds and is thus the turn's final response) ends the turn without re-invoking the model. A non-Unit return -- including an explicit empty Map -- is treated as a real response and emitted. (Unit suppression aligns with Python; Java instead always emits {}.) The longRunningToolIds id also drives the resumable-mode pause gate so the invocation can be resumed later via a user-injected function-response.

Link copied to clipboard

The name of the tool.

Link copied to clipboard

Deprecated. Use ragResources instead. RagCorpora resource names.

Link copied to clipboard

The RAG sources to retrieve from (one corpus, or files from one corpus).

Link copied to clipboard

Number of top k results to return from the selected corpora.

Link copied to clipboard

Only return results with a vector distance below the threshold.

Functions

Link copied to clipboard
open override fun close()
Link copied to clipboard
open override fun declaration(): FunctionDeclaration?

Returns the underlying function declaration.

Link copied to clipboard
open suspend override fun processLlmRequest(toolContext: ToolContext, llmRequest: LlmRequest): LlmRequest

Processes the LLM request before it is sent.

Link copied to clipboard
open suspend override fun run(context: ToolContext, args: Map<String, Any?>): Any

Executes the tool and returns its result.