|
| 1 | +# Agent Templates |
| 2 | + |
| 3 | +The Agent Starter Pack follows a "bring your own agent" approach. It provides several production-ready agent templates designed to accelerate your development while offering the flexibility to use your preferred agent framework or pattern. |
| 4 | + |
| 5 | +## Available Templates |
| 6 | + |
| 7 | + |
| 8 | +| Agent Name | Description | Use Case | |
| 9 | +|------------|-------------|----------| |
| 10 | +| `adk_base` | A base ReAct agent implemented using Google's [Agent Development Kit](https://github.com/google/adk-python) | General purpose conversational agent | |
| 11 | +| `agentic_rag` | A RAG agent for document retrieval and Q&A | Document search and question answering | |
| 12 | +| `langgraph_base_react` | A base ReAct agent using LangGraph | Graph based conversational agent | |
| 13 | +| `crewai_coding_crew` | A multi-agent system implemented with CrewAI | Collaborative coding assistance | |
| 14 | +| `live_api` | A real-time multimodal RAG agent | Audio/video/text chat with knowledge base | |
| 15 | + |
| 16 | +## Choosing the Right Template |
| 17 | + |
| 18 | +When selecting a template, consider these factors: |
| 19 | + |
| 20 | +1. **Primary Goal**: Are you building a conversational bot, a Q&A system over documents, a task-automation crew, or something else? |
| 21 | +2. **Core Pattern/Framework**: Do you have a preference for Google's ADK, LangChain/LangGraph, CrewAI, or implementing a pattern like RAG directly? The Starter Pack supports various approaches. |
| 22 | +3. **Reasoning Complexity**: Does your agent need complex planning and tool use (like ReAct), or is it more focused on retrieval and synthesis (like basic RAG)? |
| 23 | +4. **Collaboration Needs**: Do you need multiple specialized agents working together? |
| 24 | +5. **Modality**: Does your agent need to process or respond with audio, video, or just text? |
| 25 | + |
| 26 | +## Template Details |
| 27 | + |
| 28 | +### ADK Base (`adk_base`) |
| 29 | + |
| 30 | +This template provides a minimal example of a ReAct agent built using Google's [Agent Development Kit (ADK)](https://github.com/google/adk-python). It demonstrates core ADK concepts like agent creation and tool integration, enabling reasoning and tool selection. Ideal for: |
| 31 | + |
| 32 | +* Getting started with agent development on Google Cloud. |
| 33 | +* Building general-purpose conversational agents. |
| 34 | +* Learning the ADK framework and ReAct pattern. |
| 35 | + |
| 36 | +### Agentic RAG (`agentic_rag`) |
| 37 | + |
| 38 | +Built on the ADK, this template implements [Retrieval-Augmented Generation (RAG)](https://cloud.google.com/use-cases/retrieval-augmented-generation?hl=en) with a production-ready data ingestion pipeline for document-based question answering. It allows you to ingest, process, and embed custom data to enhance response relevance. Features include: |
| 39 | + |
| 40 | +* Automated data ingestion pipeline for custom data. |
| 41 | +* Flexible datastore options: [Vertex AI Search](https://cloud.google.com/vertex-ai-search-and-conversation) and [Vertex AI Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
| 42 | +* Generation of custom embeddings for enhanced semantic search. |
| 43 | +* Answer synthesis from retrieved context. |
| 44 | +* Infrastructure deployment via Terraform and Cloud Build. |
| 45 | + |
| 46 | +### LangGraph Base ReAct (`langgraph_base_react`) |
| 47 | + |
| 48 | +This template provides a minimal example of a ReAct agent built using [LangGraph](https://langchain-ai.github.io/langgraph/). It serves as an excellent starting point for developing agents with graph-based structures, offering: |
| 49 | + |
| 50 | +* Explicit state management for complex, multi-step reasoning flows. |
| 51 | +* Fine-grained control over reasoning cycles. |
| 52 | +* Robust tool integration and error handling capabilities. |
| 53 | +* Streaming response support using Vertex AI. |
| 54 | +* Includes a basic search tool to demonstrate tool usage. |
| 55 | + |
| 56 | +### CrewAI Coding Crew (`crewai_coding_crew`) |
| 57 | + |
| 58 | +This template combines [CrewAI](https://www.crewai.com/)'s multi-agent collaboration with LangGraph's conversational control to create an interactive coding assistant. It orchestrates specialized agents (e.g., Senior Engineer, QA Engineer) to understand requirements and generate code. Key features include: |
| 59 | + |
| 60 | +* Interactive requirements gathering through natural dialogue (LangGraph). |
| 61 | +* Collaborative code development by a crew of specialized AI agents (CrewAI). |
| 62 | +* Sequential processing for tasks from requirements to implementation and QA. |
| 63 | +* Ideal for complex tasks requiring delegation and simulating team collaboration. |
| 64 | + |
| 65 | +### Live API (`live_api`) |
| 66 | + |
| 67 | +Powered by Google Gemini, this template showcases a real-time, multimodal conversational RAG agent using the [Vertex AI Live API](https://cloud.google.com/vertex-ai/generative-ai/docs/live-api). Features include: |
| 68 | + |
| 69 | +* Handles audio, video, and text interactions. |
| 70 | +* Leverages tool calling. |
| 71 | +* Real-time bidirectional communication via WebSockets for low-latency chat. |
| 72 | +* Production-ready Python backend (FastAPI) and React frontend. |
| 73 | +* Includes feedback collection capabilities. |
| 74 | + |
| 75 | +## Customizing Templates |
| 76 | + |
| 77 | +All templates are provided as starting points and are designed for customization: |
| 78 | + |
| 79 | +1. Choose a template that most closely matches your needs. |
| 80 | +2. Create a new agent instance based on the selected template. |
| 81 | +3. Familiarize yourself with the code structure, focusing on the agent logic, tool definitions, and any UI components. |
| 82 | +4. Modify and extend the code: adjust prompts, add or remove tools, integrate different data sources, change the reasoning logic, or update the framework versions as needed. |
| 83 | + |
| 84 | +Have fun building your agent! |
0 commit comments