An intelligent virtual receptionist for Camping La Rosaleda, built with Google ADK (Agent Development Kit) and Vertex AI RAG Engine.
| Category | Technology |
|---|---|
| AI Framework | |
| LLM | |
| RAG Engine | |
| Deployment | |
| Observability | |
| Frontend | |
| Package Manager |
- RAG-Powered Responses: Uses Vertex AI RAG Engine to retrieve accurate camping information
- Exact Pricing: Provides precise prices based on season (Low/Medium/High)
- Multi-Channel Deployment:
- π Streamlit Web UI (Cloud Run)
- π€ Vertex AI Agent Engine API
- π» Local development with
adk web
- Observability: Full tracing with Arize AI (EU region supported)
- Spanish Language: Fully localized for Spanish-speaking users
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Streamlit UI ββββββΆβ Google ADK ββββββΆβ Vertex AI RAG β
β (Cloud Run) β β Agent Runner β β Engine β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββ βββββββββββββββββββ
β Gemini 2.0 β β RAG Corpus β
β Flash β β (Camping Data) β
ββββββββββββββββ βββββββββββββββββββ
β
βΌ
ββββββββββββββββ
β Arize AI β
β Tracing β
ββββββββββββββββ
- Python 3.11+
- UV package manager
- Google Cloud account with billing enabled
- gcloud CLI installed and configured
-
Clone the repository
git clone https://github.com/Acquarts/google-adk-rag-agent-camping-receptionist.git cd google-adk-rag-agent-camping-receptionist -
Install dependencies
uv sync
-
Configure environment variables
cp .env-example .env # Edit .env with your credentials -
Run locally
# Option 1: ADK Web Interface uv run adk web # Option 2: Streamlit UI uv run streamlit run app.py
Create a .env file with the following variables:
# Google Cloud
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=your-project-id
GOOGLE_CLOUD_LOCATION=europe-west1
# RAG Corpus
RAG_CORPUS=projects/your-project/locations/europe-west1/ragCorpora/your-corpus-id
# Staging bucket for deployment
STAGING_BUCKET=gs://your-bucket-name
# (Optional) Arize Tracing
ARIZE_SPACE_ID=your-space-id
ARIZE_API_KEY=your-api-keygcloud run deploy camping-la-rosaleda \
--source . \
--region europe-west1 \
--allow-unauthenticated \
--set-env-vars "GOOGLE_GENAI_USE_VERTEXAI=1,GOOGLE_CLOUD_PROJECT=your-project,GOOGLE_CLOUD_LOCATION=europe-west1,RAG_CORPUS=your-corpus"uv run python deployment/deploy.py| Season | Dates |
|---|---|
| Low | Jan 1 - Apr 30, Oct 1 - Dec 31 |
| Medium | May 1 - Jul 10, Aug 16 - Sep 30 |
| High | Jul 11 - Aug 15 |
The agent automatically calculates prices based on the current season and provides exact totals for reservations.
βββ app.py # Streamlit UI
βββ rag/
β βββ agent.py # Main agent definition
β βββ prompts.py # System prompts with pricing
β βββ tracing.py # Arize observability setup
βββ deployment/
β βββ deploy.py # Vertex AI Agent Engine deployment
βββ Dockerfile # Cloud Run container
βββ pyproject.toml # Dependencies
This project uses Arize AI for LLM tracing and observability. Traces are sent to the EU endpoint (otlp.eu-west-1a.arize.com) for GDPR compliance.
Apache License 2.0
Adrian Acquaroni
- GitHub: @Acquarts
Made with β€οΈ using Google ADK and Vertex AI