Experiments with Gemini and xAI APIs using intelligent caching.
- Python 3.9+
- uv package manager
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shOr via Homebrew:
brew install uvWindows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"- Clone the repository
git clone https://github.com/TonyGregg/AgenticExperiments.git
cd AgenticExperiments- Install dependencies
# This installs all dependencies from pyproject.toml
uv sync- Set up environment variables
# Create .env file
cp .env.example .env
# Edit .env and add your API keys
# GEMINI_API_KEY=your_gemini_key_here
# XAI_API_KEY=your_xai_key_here- Run the application
uv run python main.py- Run the application in server mode
uv run python run_server.pyuv sync --all-extrasuv run pytestuv run black src/uv run mypy src/my-agentic-ai/
├── src/
│ ├── agents/ # AI agent implementations
│ ├── utils/ # Utilities (cache, config)
│ ├── models/ # Data models
│ └── services/ # API clients
├── tests/ # Unit tests
├── data/ # Cache and data files (gitignored)
├── main.py # Entry point
├── pyproject.toml # Dependencies and project config
└── uv.lock # Locked dependency versions
# Add runtime dependency
uv add package-name
# Add dev dependency
uv add --dev package-nameMIT