The project ships aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/derailed-dash/gemini-file-search-demo/llms.txt
Use this file to discover all available pages before exploring further.
Makefile that wraps common uv commands into short, memorable targets. Instead of memorising exact flags and module paths, you run make <target>. This page documents every target, the full underlying command it executes, and when you need it.
make is available on Linux, macOS, and Windows Subsystem for Linux (WSL). If you are on Windows without WSL, use the underlying uv run commands shown under each target.Full Makefile
make install
Installs all project dependencies using uv. If uv is not present on the system, the target installs it automatically before syncing packages. This is always the first command to run in a new environment.
--extra jupyter flag includes the optional jupyter and ipython packages needed to run notebooks/file_search_store.ipynb. The virtual environment is created at .venv/ in the project root.
make sdk-agent
Runs the baseline SDK agent (app/sdk_agent.py). This agent uses Google Search only — there is no RAG. Use it to establish a baseline before introducing the File Search tool.
exit or quit to stop it.
make sdk-rag-agent
Runs the SDK RAG agent (app/sdk_rag_agent.py). This agent attaches the Gemini File Search tool to the chat session using the store identified by STORE_NAME. Run this after completing the notebook to create and populate your File Search Store.
make adk-playground
Launches the ADK web UI on port 8501. The ADK runner scans the app/ directory, discovers all modules that expose a root_agent, and makes them available in a dropdown in the browser interface. Use this to test both basic_agent_adk and rag_agent_adk without writing any frontend code.
- Locally: open
http://127.0.0.1:8501in your browser. - Cloud Shell: click Web Preview in the Cloud Shell Editor toolbar and change the port to
8501.
--reload_agents flag causes the ADK runner to reload agent modules when source files change, which is useful during development.
make lint
Runs the full suite of code quality checks. This target first syncs the lint optional dependency group (which includes ruff, mypy, codespell, and type stubs), then runs each tool in sequence.
| Tool | What it checks |
|---|---|
codespell | Common spelling mistakes in source files |
ruff check | Linting rules: pycodestyle, pyflakes, isort, flake8-bugbear, and more |
ruff format | Code formatting (equivalent to black) |
mypy | Static type checking |
Jupyter notebooks (
*.ipynb) are excluded from both ruff and mypy checks via the pyproject.toml configuration.