{"id":32522066,"url":"https://github.com/droxer/agent-cookbooks","last_synced_at":"2025-10-28T06:51:04.365Z","repository":{"id":281354046,"uuid":"861324541","full_name":"droxer/agent-cookbooks","owner":"droxer","description":"LangGraph based Agent Cookbooks","archived":false,"fork":false,"pushed_at":"2025-10-27T03:32:44.000Z","size":6864,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-27T05:32:11.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/droxer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-22T15:43:30.000Z","updated_at":"2025-10-27T03:32:48.000Z","dependencies_parsed_at":"2025-03-24T10:21:49.913Z","dependency_job_id":"549106ab-4172-4796-b540-6f50fedf48db","html_url":"https://github.com/droxer/agent-cookbooks","commit_stats":null,"previous_names":["droxer/agent-cookbook","droxer/agentic-cookbook","droxer/agent-cookbooks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/droxer/agent-cookbooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droxer%2Fagent-cookbooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droxer%2Fagent-cookbooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droxer%2Fagent-cookbooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droxer%2Fagent-cookbooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/droxer","download_url":"https://codeload.github.com/droxer/agent-cookbooks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droxer%2Fagent-cookbooks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281397302,"owners_count":26493908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-28T06:51:03.413Z","updated_at":"2025-10-28T06:51:04.349Z","avatar_url":"https://github.com/droxer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Cookbooks\n\nA collection of practical examples demonstrating various agentic AI patterns and techniques using LangChain, LangGraph, and related technologies.\n\n## Setup\n\n1. Install uv:\n```bash\npip install uv\n```\n\n2. Create and activate a virtual environment:\n```bash\nuv venv\nsource .venv/bin/activate  # On Unix/macOS\n# or\n.venv\\Scripts\\activate  # On Windows\n```\n\n3. Install dependencies:\n```bash\nuv sync\n```\n\n## Development\n\nProject configuration is managed in `pyproject.toml`. This includes:\n- Project metadata (name, version, authors)\n- Python version requirements\n- All project dependencies with their versions\n\n- To add new dependencies:\n```bash\n# Add the dependency to pyproject.toml under [project.dependencies], then run:\nuv sync\n```\n\n- To update dependencies:\n```bash\nuv sync --upgrade\n```\n\n## Codebase Structure\n\nThe repository is organized as an agentic AI cookbook with examples demonstrating various patterns and techniques:\n\n```\nagentic-cookbook/\n├── cookbooks/\n│   ├── multi-agents.py              # Multi-agent coordination with supervisor pattern\n│   ├── context_tools_call.py        # Dynamic tool selection using semantic search\n│   ├── context_offloading.py        # Context management with scratchpad\n│   ├── context_compact.py           # Context compression with summarization\n│   ├── context_pruning.py           # Context pruning techniques\n│   ├── a2a/                         # A2A protocol implementation\n│   │   ├── agents.py                # LangGraph A2A conversational agent\n│   │   └── langraph.json            # LangGraph configuration\n│   ├── a2a_agents.py                # A2A agent communication example\n│   ├── mcp/                         # Model Context Protocol servers\n│   │   ├── weather_server.py        # Weather data MCP server\n│   │   └── math_server.py           # Math operations MCP server\n│   ├── store/                       # Embedding store implementations\n│   │   └── embedding_store.py       # PGVector and Chroma store abstraction\n│   ├── tools/                       # Tool implementations\n│   │   ├── tools_registry.py        # Math tools registry with semantic search\n│   │   └── retriever_tool.py        # Document retrieval tool\n│   └── utils/\n│       └── responses.py             # Response formatting utilities\n├── pyproject.toml                   # Project dependencies and configuration\n└── README.md                        # This file\n```\n\n## Running Code Examples\n\nEach Python file in the cookbooks directory demonstrates a specific agentic AI technique:\n\n```bash\n# Multi-agent coordination using supervisor pattern\npython cookbooks/multi-agents.py\n\n# Dynamic tool selection using semantic search\npython cookbooks/context_tools_call.py\n\n# Context management with scratchpad\npython cookbooks/context_offloading.py\n\n# Context compression with summarization\npython cookbooks/context_compact.py\n\n# Context pruning techniques\npython cookbooks/context_pruning.py\n\n# A2A agent communication example\npython cookbooks/a2a_agents.py\n\n# Response formatting utilities\npython cookbooks/utils/responses.py\n```\n\n## Key Components\n\n### 1. Multi-Agent Coordination (`multi-agents.py`)\n- Implements a supervisor pattern with specialized agents (math expert, research expert)\n- Uses `langgraph_supervisor` for agent delegation\n- Demonstrates clear role separation and coordination between agents\n\n### 2. Dynamic Tool Selection (`context_tools_call.py`)\n- Semantic search over tool descriptions using embeddings\n- Runtime tool binding based on query relevance\n- Vector store with `InMemoryStore` for tool indexing\n\n### 3. Context Management Strategies\n- **Scratchpad** (`context_offloading.py`): Persistent note-taking within conversation threads\n- **Compression** (`context_compact.py`): Tool output summarization using separate LLM\n- **Pruning** (`context_pruning.py`): Selective context retention\n\n### 4. Tool System (`tools/tools_registry.py`)\n- Automatic conversion of Python math functions to LangChain tools\n- UUID-based tool registry for efficient lookup\n- Vector embeddings for semantic tool discovery\n- `init_tools()` function to populate the search index\n\n### 5. Model Context Protocol (MCP) Servers\n- **Weather Server** (`mcp/weather_server.py`): National Weather Service API integration with async tool definitions for weather alerts and forecasts\n- **Math Server** (`mcp/math_server.py`): Basic arithmetic operations exposed as MCP tools\n\n### 6. Embedding Store Abstraction (`store/embedding_store.py`)\n- Unified interface for PGVector and Chroma vector stores\n- Document loading and chunking from web sources\n- Factory pattern for store creation\n\n### 7. A2A Protocol Implementation (`a2a/`)\n- **Agents** (`a2a/agents.py`): LangGraph A2A conversational agent supporting messages input for conversational interactions\n- **Agent Communication** (`a2a_agents.py`): Example implementation for communication between A2A agents using JSON-RPC protocol\n\n## Architecture\n\n### Core Libraries\n- **LangChain**: Core LLM orchestration and tool management\n- **LangGraph**: Workflow and state management\n- **LangGraph-Supervisor**: Multi-agent coordination\n- **LangGraph-Bigtool**: Advanced tool handling\n- **LangGraph-Runtime**: A2A protocol support\n- **FastMCP**: Model Context Protocol server implementation\n- **Vector Stores**: PGVector and Chroma for embeddings\n\n### Configuration\n- Environment variables loaded via `.env` files (python-dotenv)\n- Project metadata and dependencies in `pyproject.toml`\n- Python version requirement: \u003e=3.12\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroxer%2Fagent-cookbooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdroxer%2Fagent-cookbooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroxer%2Fagent-cookbooks/lists"}