Agent with RAG Tool
Learn how to create an agent with a pre-built RAG tool.
Support Agent Example
In this example, we create an support agent equipped with a pre-built agentic RAG tool.
RAG tools allow the agent to use knowledge bases to answer questions grounded by documents. To create a knowledge base and obtain its ID, follow this guide.
Info: RAG tools are executed on the server side in the OCI Cloud.
The implementation is an agentic RAG where the system acts more like an autonomous agent rather than a passive retriever and generator.
You can also pass multiple knowledge base IDs to the AgenticRagTool
.
support_agent.py
from oci.addons.adk import Agent, AgentClient
from oci.addons.adk.tool.prebuilt import AgenticRagTool
def main():
client = AgentClient(
auth_type="api_key",
profile="DEFAULT",
region="us-chicago-1"
)
# Assuming the knowledge base is already provisioned
knowledge_base_id = "ocid1.genaiagentknowledgebase..."
# Create a RAG tool that uses the knowledge base
# The tool name and description are optional, but strongly recommended for LLM to understand the tool.
rag_tool = AgenticRagTool(
name="OCI RAG tool",
description="Use this tool to answer questions about Oracle Cloud Infrastructure (OCI).",
knowledge_base_ids=[knowledge_base_id],
)
# Create the agent with the RAG tool
agent = Agent(
client=client,
agent_endpoint_id="ocid1.genaiagentendpoint...",
instructions="Answer question using the OCI RAG tool.",
tools=[rag_tool]
)
# Set up the agent once
agent.setup()
# Run the agent with a user query
input = "Tell me about Oracle Cloud Infrastructure."
response = agent.run(input)
response.pretty_print()
if __name__ == "__main__":
main()