AG2 agent development kit using Ollama and Firecrawl scraping.
Project description
Gemma Firecrawl Agent
Small Python ADK-style scaffold for an AG2 agent that talks to a local Ollama model and can call Firecrawl to scrape web pages into LLM-ready text.
Setup
After this project is published to PyPI:
pip install gemma-firecrawl-agent
For local development from source:
python -m venv .venv
source .venv/bin/activate
pip install -e .
cp .env.example .env
Edit .env:
FIRECRAWL_API_KEY=fc-your-key
OLLAMA_MODEL=gemma3:4b
OLLAMA_VLM_MODEL=qwen3-vl:8b
OLLAMA_HOST=http://127.0.0.1:11434
LLAMA_CPP_MODEL=llama-cpp
LLAMA_CPP_BASE_URL=http://127.0.0.1:8080/v1
LLAMA_CPP_API_KEY=sk-no-key-required
Make sure Ollama is running and the model is pulled:
ollama pull gemma3:4b
ollama pull qwen3-vl:8b
ollama serve
Run
gemma-firecrawl-agent "Scrape https://example.com and summarize the page."
Use the VLM provider profile:
gemma-firecrawl-agent --provider vlm "Scrape https://example.com and summarize the page."
Use a local llama.cpp server:
llama-server -m /path/to/model.gguf --host 127.0.0.1 --port 8080
gemma-firecrawl-agent --provider llama-cpp "Scrape https://example.com and summarize the page."
Use structured output when you want a JSON object:
gemma-firecrawl-agent --structured "Scrape https://example.com and summarize the page."
Structured output also works with the VLM provider:
gemma-firecrawl-agent --provider vlm --structured "Scrape https://example.com and summarize the page."
And with llama.cpp:
gemma-firecrawl-agent --provider llama-cpp --structured "Scrape https://example.com and summarize the page."
Sample structured output shape:
{
"title": "Short page or task title",
"url": "https://example.com",
"summary": "One concise paragraph.",
"key_points": [
"First important point",
"Second important point"
],
"source_status": "scraped"
}
Print the sample shape from the CLI:
gemma-firecrawl-agent --show-structured-shape
You can also run the module directly:
python -m gemma_firecrawl_agent.cli "Scrape https://example.com and list the key facts."
Publishing
Release steps live in PUBLISHING.md. The short version is:
pip install -e ".[dev]"
python -m build
python -m twine check dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemma_firecrawl_agent-0.1.0.tar.gz.
File metadata
- Download URL: gemma_firecrawl_agent-0.1.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c1cdcc5b97a31820fb7441e6b098e304095473efe623eebf6d515d485676233
|
|
| MD5 |
86bd4c63d72cb23f96bb7b0684cf15bd
|
|
| BLAKE2b-256 |
92e5f8f00f69d925b2b3d390270e1eb7046c72e7d8c1da2b955ec91f72a6ab03
|
File details
Details for the file gemma_firecrawl_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gemma_firecrawl_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2859becae40a32045f6f333d8a41db92343e85910d72a0623117cd7a367c0ac
|
|
| MD5 |
85af8f0e3a78cfac46aeec6b29ad2fdd
|
|
| BLAKE2b-256 |
8c6ffd76ce058b601a9336459dd8bf095c0cc3bdeb6ec61542cf7709ca59debd
|