ADK for TypeScript: API Reference
    Preparing search index...

    Class VertexRagRetrievalTool

    A tool that retrieves relevant content from a Vertex AI RAG corpus to ground model responses.

    This tool operates server-side; it modifies the LLM request config to enable RAG retrieval via the retrieval.vertexRagStore field and does not perform local code execution.

    Note: The Vertex AI RAG Engine only supports one corpus per ragResources array. Create one VertexRagRetrievalTool instance per corpus.

    import {LlmAgent, VertexRagRetrievalTool} from '@google/adk';

    const ragTool = new VertexRagRetrievalTool({
    ragResources: [
    {ragCorpus: 'projects/my-project/locations/us-central1/ragCorpora/my-corpus'},
    ],
    similarityTopK: 5,
    });

    const agent = new LlmAgent({
    name: 'rag_agent',
    model: 'gemini-2.5-flash',
    tools: [ragTool],
    });

    Hierarchy (View Summary)

    Constructors

    Properties

    "[BASE_TOOL_SIGNATURE_SYMBOL]": true

    A unique symbol to identify ADK base tool class.

    "[IN_MODEL_TOOL_SYMBOL]": true

    Marks this tool as one the model runs itself.

    description: string
    isLongRunning: boolean
    name: string

    Accessors

    Methods

    • Gets the OpenAPI specification of this tool in the form of a FunctionDeclaration.

      NOTE

      • Required if subclass uses the default implementation of processLlmRequest to add function declaration to LLM request.
      • Otherwise, can be skipped, e.g. for a built-in GoogleSearch tool for Gemini.

      Returns FunctionDeclaration | undefined

      The FunctionDeclaration of this tool, or undefined if it doesn't need to be added to LlmRequest.config.

    • Whether this tool needs a human to approve args before it runs.

      The gate itself lives in the tool that owns it (see FunctionTool), but the resume path has to ask the same question a turn later, to check that an approval it is about to honour belongs to a tool that gates at all. A tool that never gates returns false here, which is the safe default: an approval naming it is meaningless and gets rejected rather than executed. Mirrors Python's BaseTool.check_require_confirmation.

      Parameters

      • _args: Record<string, unknown>

        The arguments the tool would run with.

      • Optional_toolContext: Context

        The context of the call, when there is one.

      Returns Promise<boolean>

      Whether the call requires confirmation.

    • Answers a function call the model should not have made. The tool is already configured on the request and its results arrive as grounding metadata, so the model is told to use those rather than call again.

      Returns Promise<unknown>