{"id":28308619,"url":"https://github.com/ashwin-pc/test-adk-agents","last_synced_at":"2025-09-03T22:34:06.251Z","repository":{"id":293930262,"uuid":"985519608","full_name":"ashwin-pc/Test-ADK-Agents","owner":"ashwin-pc","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-21T19:02:09.000Z","size":45,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T01:37:03.771Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ashwin-pc.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}},"created_at":"2025-05-17T23:59:52.000Z","updated_at":"2025-05-19T17:45:52.000Z","dependencies_parsed_at":"2025-05-18T02:50:08.125Z","dependency_job_id":null,"html_url":"https://github.com/ashwin-pc/Test-ADK-Agents","commit_stats":null,"previous_names":["ashwin-pc/test-adk-agents"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashwin-pc/Test-ADK-Agents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwin-pc%2FTest-ADK-Agents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwin-pc%2FTest-ADK-Agents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwin-pc%2FTest-ADK-Agents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwin-pc%2FTest-ADK-Agents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashwin-pc","download_url":"https://codeload.github.com/ashwin-pc/Test-ADK-Agents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashwin-pc%2FTest-ADK-Agents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523075,"owners_count":25120859,"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-09-03T02:00:09.631Z","response_time":76,"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-05-24T08:08:37.511Z","updated_at":"2025-09-03T22:34:06.240Z","avatar_url":"https://github.com/ashwin-pc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LLM Agent Testbed\n\nThis repository serves as an experimental testbed for exploring different types of LLM agents and their capabilities. Using Google's Agent Development Kit (ADK) and LiteLLM, this project provides a framework for testing various agent implementations and use cases.\n\n## Overview\n\nThe project aims to:\n- Experiment with different LLM agent architectures and capabilities\n- Test integration with various LLM providers (currently AWS Bedrock)\n- Explore practical applications of LLM agents\n- Benchmark performance, capabilities, and limitations\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.8+\n- AWS account with Bedrock access\n- Configured AWS credentials\n\n### Installation\n\n1. Clone the repository\n```bash\ngit clone \u003crepository-url\u003e\ncd Agents\n```\n\n2. Install dependencies\n```bash\npip install -r requirements.txt\n```\n\n3. Set up environment variables by creating a `.env` file:\n```\n# Copy from .env.example and modify as needed\ncp .env.example .env\n```\n\n### Model Selection\n\nThis project uses a simple constant-based model selection system that makes it easy to work with different models based on their capabilities rather than specific identifiers:\n\n```python\n# Import models based on their capabilities\nfrom agent_models import FAST_MODEL, SMART_MODEL, POWERFUL_MODEL\n\n# Or use semantic aliases\nfrom agent_models import LITE_MODEL, STANDARD_MODEL, THINKING_MODEL\n\n# Create an agent with the chosen model\nagent = LlmAgent(\n    name=\"my_agent\",\n    model=LiteLlm(model=SMART_MODEL),\n    # other parameters...\n)\n```\n\nYou can override the default models by setting environment variables in your `.env` file:\n```\nAGENT_FAST_MODEL=bedrock/your-preferred-fast-model\nAGENT_SMART_MODEL=bedrock/your-preferred-smart-model\nAGENT_POWERFUL_MODEL=bedrock/your-preferred-powerful-model\n```\n\n### Testing AWS Connection\n\nVerify your AWS Bedrock connectivity:\n```bash\npython test_bedrock.py\n```\n\nThis script (`test_bedrock.py`) is a standalone utility that:\n- Validates your AWS credentials and environment configuration\n- Tests your Bedrock API access by making a simple call to a specified model\n- Provides detailed troubleshooting information if connection issues occur\n- Uses the model configuration system for selecting which model to test\n\n### Testing OpenSearch Connection\n\nTest your OpenSearch connectivity and agent functionality:\n```bash\npython test_opensearch.py\n```\n\nThis script (`test_opensearch.py`):\n- Validates your OpenSearch connection settings\n- Creates a test index with mapping\n- Indexes a sample document\n- Performs searches using both direct query and simple text search\n- Provides detailed output of each operation\n\n## ADK Commands and Tools\n\n### ADK CLI Commands\n\nGoogle's Agent Development Kit (ADK) provides a suite of command-line tools to help with agent development:\n\n```bash\n# Show all available ADK commands and options\nadk --help\n\n# Create a new agent project with prepopulated templates\nadk create\n\n# Run your agent interactively in the CLI\nadk run\n\n# Start a FastAPI server with Web UI for interactive agent development\nadk web\n\n# Deploy your agent to hosted environments\nadk deploy\n\n# Evaluate your agent using evaluation sets\nadk eval\n\n# Start a FastAPI server for agent API access\nadk api_server\n```\n\n### ADK Web Interface\n\nThe ADK also provides a web interface for interactive development and testing:\n\n```bash\n# Start the ADK web interface\nadk web\n```\n\nThe web interface allows you to:\n- Interact with your agent in real-time\n- View detailed traces of agent execution\n- Debug tool calls and responses\n- Test different prompts and configurations\n- Analyze performance metrics\n- Export conversations for future testing\n\nBy default, the web interface runs at `http://localhost:8080` and provides a user-friendly dashboard for agent development.\n\n### ADK Configuration\n\nConfigure your ADK project by editing the `adk.yaml` file in your project root:\n\n```yaml\nproject_id: your-project-id\nagent_name: your-agent-name\nregion: your-region\nmodel: your-model-id\n```\n\n## Current Implementations\n\n### Weather and Time Agent\n\nLocated in `test-agent/agent.py`, this first implementation provides:\n- Weather information for cities (currently limited to New York)\n- Current time for cities (currently limited to New York)\n- Uses Claude 3.5 Sonnet via AWS Bedrock\n\nThis initial agent serves as a proof of concept and verification that the framework functions correctly.\n\n### OpenSearch Agent\n\nLocated in `opensearch_agent/agent.py`, this implementation provides:\n- Connection to OpenSearch clusters\n- Index creation with custom mappings\n- Document indexing with optional ID specification\n- Document search using OpenSearch Query DSL\n- Simple text-based search with automatic query generation\n- Document deletion by ID\n\nThe OpenSearch agent demonstrates how to integrate external data stores with LLM agents to enable semantic search and data management capabilities.\n\n### Repository Agent with Claude Code\n\nLocated in `repo_agent/agent.py`, this implementation provides:\n- Integration with the Claude Code CLI to analyze repositories\n- Code search functionality to find patterns and concepts in codebases\n- Code explanation capability to understand files or specific code sections\n- Code modification tools to implement changes based on instructions\n- General task execution for repository-related operations\n\nThe Repository Agent demonstrates how to leverage Claude's advanced code understanding capabilities within an agent framework to interact with code repositories.\n\n#### Testing the Repository Agent\n\nTest your Repository Agent setup with a local repository:\n```bash\npython test_repo_agent.py --repo-path /path/to/your/repository\n```\n\nThis test script:\n- Verifies that Claude Code CLI is properly installed\n- Tests access to the specified repository\n- Runs a simple Claude Code query against the repository\n- Tests the agent's search functionality\n\n**Prerequisites:**\n- Claude Code CLI must be installed (`npm install -g @anthropic-ai/claude-code`)\n- A local code repository to test with\n\nIf you use a custom alias for Claude Code (like `cc`), you can configure it by setting the `CLAUDE_CODE_CMD` environment variable in your `.env` file:\n```\nCLAUDE_CODE_CMD=cc\n```\n\n## Future Work\n\n- Implement additional agent types and capabilities\n- Add support for more LLM providers\n- Create benchmark tools to compare agent performance\n- Explore multi-agent interactions and collaborations","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashwin-pc%2Ftest-adk-agents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashwin-pc%2Ftest-adk-agents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashwin-pc%2Ftest-adk-agents/lists"}