# Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os from google.adk.agents import Agent from google.adk.tools.retrieval.vertex_ai_rag_retrieval import VertexAiRagRetrieval from vertexai.preview import rag from dotenv import load_dotenv from .prompts import return_instructions_root load_dotenv() ask_vertex_retrieval = VertexAiRagRetrieval( name='retrieve_rag_documentation', description=( 'Use this tool to retrieve documentation and reference materials for the question from the RAG corpus,' ), rag_resources=[ rag.RagResource( # please fill in your own rag corpus # here is a sample rag corpus for testing purpose # e.g. projects/123/locations/us-central1/ragCorpora/456 rag_corpus=os.environ.get("RAG_CORPUS") ) ], similarity_top_k=10, vector_distance_threshold=0.6, ) root_agent = Agent( model='gemini-2.5-flash', name='ask_rag_agent', instruction=return_instructions_root(), tools=[ ask_vertex_retrieval, ] )