ec2b666284
Continuous Integration / Pre-commit Linter (push) Waiting to run
Continuous Integration / Mypy Check (Python 3.10) (push) Waiting to run
Continuous Integration / Mypy Check (Python 3.11) (push) Waiting to run
Continuous Integration / Mypy Check (Python 3.12) (push) Waiting to run
Continuous Integration / Mypy Check (Python 3.13) (push) Waiting to run
Continuous Integration / Unit Tests (Python 3.10) (push) Waiting to run
Continuous Integration / Unit Tests (Python 3.11) (push) Waiting to run
Continuous Integration / Unit Tests (Python 3.12) (push) Waiting to run
Continuous Integration / Unit Tests (Python 3.13) (push) Waiting to run
Continuous Integration / Unit Tests (Python 3.14) (push) Waiting to run
Continuous Integration / A2A v0.3 Tests (Python 3.10) (push) Waiting to run
Continuous Integration / A2A v0.3 Tests (Python 3.11) (push) Waiting to run
Continuous Integration / A2A v0.3 Tests (Python 3.12) (push) Waiting to run
Continuous Integration / A2A v0.3 Tests (Python 3.13) (push) Waiting to run
Continuous Integration / A2A v0.3 Tests (Python 3.14) (push) Waiting to run
Copybara PR Handler / close-imported-pr (push) Waiting to run
77 lines
1.6 KiB
Markdown
77 lines
1.6 KiB
Markdown
# Files Retrieval Agent
|
|
|
|
A sample agent that demonstrates using `FilesRetrieval` with the
|
|
`gemini-embedding-2-preview` embedding model for retrieval-augmented
|
|
generation (RAG) over local files.
|
|
|
|
## What it does
|
|
|
|
This agent indexes local text files from the `data/` directory using
|
|
`FilesRetrieval` (backed by LlamaIndex's `VectorStoreIndex` and Google's
|
|
`gemini-embedding-2-preview` embedding model), then answers user questions
|
|
by retrieving relevant documents before generating a response.
|
|
|
|
## Prerequisites
|
|
|
|
- Python 3.10+
|
|
- `google-genai >= 1.64.0` (required for `gemini-embedding-2-preview`
|
|
support via the Vertex AI `embedContent` endpoint)
|
|
- `llama-index-embeddings-google-genai >= 0.3.0`
|
|
|
|
Install dependencies:
|
|
|
|
```bash
|
|
uv sync --all-extras
|
|
```
|
|
|
|
## Authentication
|
|
|
|
Configure one of the following:
|
|
|
|
**Google AI API:**
|
|
|
|
```bash
|
|
export GOOGLE_API_KEY="your-api-key"
|
|
```
|
|
|
|
**Vertex AI:**
|
|
|
|
```bash
|
|
export GOOGLE_GENAI_USE_ENTERPRISE=1
|
|
export GOOGLE_CLOUD_PROJECT="your-project-id"
|
|
export GOOGLE_CLOUD_LOCATION="us-central1"
|
|
```
|
|
|
|
Note: `gemini-embedding-2-preview` is currently only available in
|
|
`us-central1`.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
cd contributing/samples
|
|
|
|
# Interactive CLI
|
|
adk run files_retrieval_agent
|
|
|
|
# Web UI
|
|
adk web .
|
|
```
|
|
|
|
## Example queries
|
|
|
|
- "What agent types does ADK support?"
|
|
- "How does FilesRetrieval work?"
|
|
- "What tools are available in ADK?"
|
|
|
|
## File structure
|
|
|
|
```
|
|
files_retrieval_agent/
|
|
├── __init__.py
|
|
├── agent.py # Agent definition with FilesRetrieval tool
|
|
├── data/
|
|
│ ├── adk_overview.txt # ADK architecture overview
|
|
│ └── tools_guide.txt # ADK tools documentation
|
|
└── README.md
|
|
```
|