agent-starter-pack 0.2.2__py3-none-any.whl → 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of agent-starter-pack might be problematic. Click here for more details.
- {agent_starter_pack-0.2.2.dist-info → agent_starter_pack-0.3.0.dist-info}/METADATA +14 -16
- {agent_starter_pack-0.2.2.dist-info → agent_starter_pack-0.3.0.dist-info}/RECORD +69 -54
- agents/adk_base/README.md +14 -0
- agents/adk_base/app/agent.py +66 -0
- agents/adk_base/notebooks/adk_app_testing.ipynb +305 -0
- agents/adk_base/template/.templateconfig.yaml +21 -0
- agents/adk_base/tests/integration/test_agent.py +58 -0
- agents/agentic_rag/README.md +1 -0
- agents/agentic_rag/app/agent.py +44 -89
- agents/agentic_rag/app/templates.py +0 -25
- agents/agentic_rag/notebooks/adk_app_testing.ipynb +305 -0
- agents/agentic_rag/template/.templateconfig.yaml +3 -1
- agents/agentic_rag/tests/integration/test_agent.py +34 -27
- agents/langgraph_base_react/README.md +1 -1
- agents/langgraph_base_react/template/.templateconfig.yaml +1 -1
- src/base_template/Makefile +15 -4
- src/base_template/README.md +8 -2
- src/base_template/app/__init__.py +3 -0
- src/base_template/app/utils/tracing.py +11 -1
- src/base_template/app/utils/typing.py +54 -4
- src/base_template/deployment/README.md +4 -1
- src/base_template/deployment/cd/deploy-to-prod.yaml +3 -3
- src/base_template/deployment/cd/staging.yaml +4 -4
- src/base_template/deployment/ci/pr_checks.yaml +1 -1
- src/base_template/deployment/terraform/build_triggers.tf +3 -0
- src/base_template/deployment/terraform/dev/variables.tf +4 -0
- src/base_template/deployment/terraform/dev/vars/env.tfvars +0 -3
- src/base_template/deployment/terraform/variables.tf +4 -0
- src/base_template/deployment/terraform/vars/env.tfvars +0 -4
- src/base_template/pyproject.toml +5 -3
- src/{deployment_targets/agent_engine → base_template}/tests/unit/test_dummy.py +2 -1
- src/cli/commands/create.py +45 -11
- src/cli/commands/setup_cicd.py +25 -6
- src/cli/utils/gcp.py +1 -1
- src/cli/utils/template.py +27 -25
- src/data_ingestion/README.md +37 -50
- src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +2 -1
- src/deployment_targets/agent_engine/app/agent_engine_app.py +68 -22
- src/deployment_targets/agent_engine/app/utils/gcs.py +1 -1
- src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +63 -0
- src/deployment_targets/agent_engine/tests/load_test/load_test.py +9 -2
- src/deployment_targets/cloud_run/Dockerfile +1 -1
- src/deployment_targets/cloud_run/app/server.py +41 -15
- src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +60 -3
- src/deployment_targets/cloud_run/tests/load_test/README.md +1 -1
- src/deployment_targets/cloud_run/tests/load_test/load_test.py +57 -24
- src/frontends/live_api_react/frontend/package-lock.json +3 -3
- src/frontends/streamlit/frontend/utils/stream_handler.py +3 -3
- src/frontends/streamlit_adk/frontend/side_bar.py +214 -0
- src/frontends/streamlit_adk/frontend/streamlit_app.py +314 -0
- src/frontends/streamlit_adk/frontend/style/app_markdown.py +37 -0
- src/frontends/streamlit_adk/frontend/utils/chat_utils.py +84 -0
- src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +110 -0
- src/frontends/streamlit_adk/frontend/utils/message_editing.py +61 -0
- src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +223 -0
- src/frontends/streamlit_adk/frontend/utils/stream_handler.py +311 -0
- src/frontends/streamlit_adk/frontend/utils/title_summary.py +129 -0
- src/resources/locks/uv-adk_base-agent_engine.lock +5335 -0
- src/resources/locks/uv-adk_base-cloud_run.lock +5927 -0
- src/resources/locks/uv-agentic_rag-agent_engine.lock +939 -732
- src/resources/locks/uv-agentic_rag-cloud_run.lock +1087 -907
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +778 -671
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +852 -753
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock +665 -591
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock +842 -743
- src/resources/locks/uv-live_api-cloud_run.lock +830 -731
- agents/agentic_rag/notebooks/evaluating_langgraph_agent.ipynb +0 -1561
- src/base_template/tests/unit/test_utils/test_tracing_exporter.py +0 -140
- src/deployment_targets/cloud_run/tests/unit/test_server.py +0 -124
- {agent_starter_pack-0.2.2.dist-info → agent_starter_pack-0.3.0.dist-info}/WHEEL +0 -0
- {agent_starter_pack-0.2.2.dist-info → agent_starter_pack-0.3.0.dist-info}/entry_points.txt +0 -0
- {agent_starter_pack-0.2.2.dist-info → agent_starter_pack-0.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-starter-pack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: CLI tool to create GCP-based AI agent projects from templates
|
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -9,7 +9,7 @@ Requires-Python: >=3.10
|
|
|
9
9
|
Requires-Dist: backoff>=2.2.1
|
|
10
10
|
Requires-Dist: click~=8.1.7
|
|
11
11
|
Requires-Dist: cookiecutter~=2.5.0
|
|
12
|
-
Requires-Dist: google-cloud-aiplatform~=1.
|
|
12
|
+
Requires-Dist: google-cloud-aiplatform~=1.87.0
|
|
13
13
|
Requires-Dist: pyyaml~=6.0.1
|
|
14
14
|
Requires-Dist: rich~=13.7.0
|
|
15
15
|
Provides-Extra: jupyter
|
|
@@ -33,7 +33,7 @@ It accelerates development by providing a holistic, production-ready solution, a
|
|
|
33
33
|
|
|
34
34
|
| ⚡️ Launch | 🧪 Experiment | ✅ Deploy | 🛠️ Customize |
|
|
35
35
|
|---|---|---|---|
|
|
36
|
-
| [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring
|
|
36
|
+
| [Pre-built agent templates](./agents/) (ReAct, RAG, multi-agent, Live Multimodal API). | [Vertex AI evaluation](https://cloud.google.com/vertex-ai/generative-ai/docs/models/evaluation-overview) and an interactive playground. | Production-ready infra with [monitoring, observability](./docs/observability.md), and [CI/CD](./docs/deployment.md) on [Cloud Run](https://cloud.google.com/run) or [Agent Engine](https://cloud.google.com/vertex-ai/generative-ai/docs/agent-engine/overview). | Extend and customize templates according to your needs. |
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -60,7 +60,7 @@ For more installation options, see the [Installation Guide](docs/installation.md
|
|
|
60
60
|
🆕 The starter pack offers full support for Agent Engine, a new fully managed solution to deploy agents. Simply run this command to get started:
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
agent-starter-pack create my-agent -d agent_engine -a
|
|
63
|
+
agent-starter-pack create my-agent -d agent_engine -a adk_base
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
|
|
@@ -70,13 +70,17 @@ agent-starter-pack create my-agent -d agent_engine -a langgraph_base_react
|
|
|
70
70
|
|
|
71
71
|
| Agent Name | Description |
|
|
72
72
|
|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
73
|
-
| `
|
|
74
|
-
| `agentic_rag` | A RAG agent
|
|
73
|
+
| `adk_base` | An agent implementing a base ReAct agent using Google's [Agent Development Kit](https://github.com/google/adk-python)
|
|
74
|
+
| `agentic_rag` | A RAG agent for document retrieval and Q&A. Supporting [Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction) and [Vector Search](https://cloud.google.com/vertex-ai/docs/vector-search/overview). |
|
|
75
|
+
| `langgraph_base_react` | An agent implementing a base ReAct agent using LangGraph |
|
|
75
76
|
| `crewai_coding_crew` | A multi-agent system implemented with CrewAI created to support coding activities |
|
|
76
77
|
| `live_api` | A real-time multimodal RAG agent powered by Gemini, supporting audio/video/text chat with vector DB-backed responses |
|
|
77
78
|
|
|
78
79
|
**More agents are on the way!** We are continuously expanding our [agent library](./agents/). Have a specific agent type in mind? [Contribute!](#contributing)
|
|
79
80
|
|
|
81
|
+
**🔍 ADK Samples**
|
|
82
|
+
|
|
83
|
+
Looking to explore more ADK examples? Check out the [ADK Samples Repository](https://github.com/google/adk-samples) for additional examples and use cases demonstrating ADK's capabilities.
|
|
80
84
|
|
|
81
85
|
#### Extra Features
|
|
82
86
|
|
|
@@ -94,16 +98,6 @@ This starter pack covers all aspects of Agent development, from prototyping and
|
|
|
94
98
|
|
|
95
99
|
---
|
|
96
100
|
|
|
97
|
-
#### From `e2e-gen-ai-app-starter-pack` to `agent-starter-pack`
|
|
98
|
-
|
|
99
|
-
This project represents the next evolution of the [e2e-gen-ai-app-starter-pack](goo.gle/e2e-gen-ai-app-starter-pack). Building on the foundation of the original, we've made significant improvements:
|
|
100
|
-
|
|
101
|
-
* **Streamlined CLI:** A new command-line interface (`agent-starter-pack`) simplifies project creation, template selection, and deployment.
|
|
102
|
-
* **Expanded Agent Options:** Support for a wider variety of agent frameworks (LangGraph, CrewAI, and the Google GenAI SDK) and deployment targets (including Vertex AI Agent Engine).
|
|
103
|
-
* **Simplified setup**: Integrated gcloud authentication and projects and region configurations
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
101
|
## 🔧 Requirements
|
|
108
102
|
|
|
109
103
|
- Python 3.10+
|
|
@@ -127,6 +121,10 @@ See the [documentation](docs/) for more details:
|
|
|
127
121
|
- **March 6, 2025**: A [120 Minute livestream video demo](https://www.youtube.com/watch?v=yIRIT_EtALs&t=235s) of the new `agent-starter-pack` were we build 3 Agents under 30 minutes!
|
|
128
122
|
- **Oct 29, 2024**: A [20-Minute Video Walkthrough](https://youtu.be/kwRG7cnqSu0) is available, showcasing the previous `agent-starter-pack`.
|
|
129
123
|
|
|
124
|
+
## Explore More Generative AI Resources
|
|
125
|
+
|
|
126
|
+
Looking for more examples and resources for Generative AI on Google Cloud? Check out the [GoogleCloudPlatform/generative-ai](https://github.com/GoogleCloudPlatform/generative-ai) repository for notebooks, code samples, and more!
|
|
127
|
+
|
|
130
128
|
## Contributing
|
|
131
129
|
|
|
132
130
|
Contributions are welcome! See the [Contributing Guide](CONTRIBUTING.md).
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
agents/
|
|
2
|
-
agents/
|
|
1
|
+
agents/adk_base/README.md,sha256=4_VlWQI0HU_rvaKZ59Qs7P5VYklWoEJr9pSV-m_BADc,852
|
|
2
|
+
agents/adk_base/app/agent.py,sha256=Dm7dcELj0RbALNI20R9-uEay_RHgej0dPOdQRHA7E-8,2187
|
|
3
|
+
agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=7qZmhssPoJCfT0DA2WpT3uwHgLBIu1EGoFyUDkjaVio,8198
|
|
4
|
+
agents/adk_base/template/.templateconfig.yaml,sha256=JNQsR2s2oOOCaycp_5FEy5MU3xsj4SyOKScUNI7teMg,856
|
|
5
|
+
agents/adk_base/tests/integration/test_agent.py,sha256=1VyshBu44p_PUAQQxV0QROmv6OUGt_m0nDLyaTI77po,1964
|
|
6
|
+
agents/agentic_rag/README.md,sha256=mxMLkq6tAghFaDmc2sc2sEQ5vn9kGWdiRxfTykwpLz0,2268
|
|
7
|
+
agents/agentic_rag/app/agent.py,sha256=EkbMIjEeyXqK49wIkoW6uWotxyXCIfJpeLCizw2QDZM,3959
|
|
3
8
|
agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
|
|
4
|
-
agents/agentic_rag/app/templates.py,sha256=
|
|
5
|
-
agents/agentic_rag/notebooks/
|
|
6
|
-
agents/agentic_rag/template/.templateconfig.yaml,sha256=
|
|
7
|
-
agents/agentic_rag/tests/integration/test_agent.py,sha256=
|
|
9
|
+
agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
|
|
10
|
+
agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=7qZmhssPoJCfT0DA2WpT3uwHgLBIu1EGoFyUDkjaVio,8198
|
|
11
|
+
agents/agentic_rag/template/.templateconfig.yaml,sha256=gaDURx4tBI3620txEFAE8zJSmHL9qtZjlARCEZnBpi0,1120
|
|
12
|
+
agents/agentic_rag/tests/integration/test_agent.py,sha256=HbEv2gzC77jrse3RZ0ra_Bcu6zW_7YlrxYWcYfei63M,2107
|
|
8
13
|
agents/crewai_coding_crew/README.md,sha256=4No7sfHQVHELARGiT3fWANJzDR0NP48ow4ct3FoPwlA,1672
|
|
9
14
|
agents/crewai_coding_crew/app/agent.py,sha256=GcmNrOyRPhnI7LICIV6GvBvcDfA_PKqPsQcOEzAORmY,3269
|
|
10
15
|
agents/crewai_coding_crew/app/crew/crew.py,sha256=pqeeJ4txP-gcVT3PKEAw2zZ4x8g4cDlnFFbf0_zZRr4,2000
|
|
@@ -14,10 +19,10 @@ agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb,sha256=ifTn4Rf
|
|
|
14
19
|
agents/crewai_coding_crew/notebooks/evaluating_langgraph_agent.ipynb,sha256=fb4rTMlA-XCniZyPIP9ni4nvIDmLj9Uq8Saw7WrG0fc,58015
|
|
15
20
|
agents/crewai_coding_crew/template/.templateconfig.yaml,sha256=cl2idKg9NZKrkIkDhxCVSiDIJaoDjy5yMVmVc93Nlm8,974
|
|
16
21
|
agents/crewai_coding_crew/tests/integration/test_agent.py,sha256=0uvfmM3FSdESIU7ICb2oqABsQqylQU2PE3UBwbpif-A,1629
|
|
17
|
-
agents/langgraph_base_react/README.md,sha256=
|
|
22
|
+
agents/langgraph_base_react/README.md,sha256=KZQ0e8q9CqnIEiItH9Tc2Ceb2mC3sBcyQUo-ZAmO-zs,482
|
|
18
23
|
agents/langgraph_base_react/app/agent.py,sha256=2HsbZaSLpMhJQ21geauKPfavcavPW50lx4WV5dXlvnQ,2514
|
|
19
24
|
agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb,sha256=fb4rTMlA-XCniZyPIP9ni4nvIDmLj9Uq8Saw7WrG0fc,58015
|
|
20
|
-
agents/langgraph_base_react/template/.templateconfig.yaml,sha256=
|
|
25
|
+
agents/langgraph_base_react/template/.templateconfig.yaml,sha256=MPgKPeG3WilPe7DupN_tArMHWfRPcoGeTToIE_WhQP8,992
|
|
21
26
|
agents/langgraph_base_react/tests/integration/test_agent.py,sha256=wg2Y8V4l7dh7rhWy7Z8zioDW5ILRsz7RZJ-mz0AhK3U,1619
|
|
22
27
|
agents/live_api/README.md,sha256=eB6e1VAwOsX6d3ns2HgVzdtywKUaZ39-PraKFCjtj7s,3012
|
|
23
28
|
agents/live_api/app/agent.py,sha256=KXcc10JU-ytbvDmr8bx6uOGxoVQMckppUa29cQBA8rM,2522
|
|
@@ -29,68 +34,67 @@ agents/live_api/tests/integration/test_server_e2e.py,sha256=D2VETDIyTD2fQyQ6DXwL
|
|
|
29
34
|
agents/live_api/tests/load_test/load_test.py,sha256=HHZyfC4gqiQtZVF_CbbxENGgWQccMLpwMv0IdoQ6cbQ,1275
|
|
30
35
|
agents/live_api/tests/unit/test_server.py,sha256=_TjlgQgNkjerIaBGnu8P8_KB8ZlSolDcivALpUOn_Rw,4786
|
|
31
36
|
src/base_template/.gitignore,sha256=mJKTZIcVdAFiIUQicRfPNGUg6WvwcfTEC2xbmAaU34g,2579
|
|
32
|
-
src/base_template/Makefile,sha256=
|
|
33
|
-
src/base_template/README.md,sha256=
|
|
34
|
-
src/base_template/pyproject.toml,sha256=
|
|
35
|
-
src/base_template/app/
|
|
36
|
-
src/base_template/app/utils/
|
|
37
|
-
src/base_template/
|
|
38
|
-
src/base_template/deployment/
|
|
39
|
-
src/base_template/deployment/cd/
|
|
40
|
-
src/base_template/deployment/
|
|
37
|
+
src/base_template/Makefile,sha256=vxOfXc3ZH2re_AYbWVjOBAMPeOgEtjGTOHMhEwAMs_c,3690
|
|
38
|
+
src/base_template/README.md,sha256=0dHYVT8IlG0eMd7dEelAaPyuyk5ZDHnKAvNV8x7TBEA,10397
|
|
39
|
+
src/base_template/pyproject.toml,sha256=pLw8q6j3qQWcu6A3HUpwsT2p3BzfmM2RDxjwUgZ2ulQ,2865
|
|
40
|
+
src/base_template/app/__init__.py,sha256=UyAgc2l8nkVIUPUzL9hKR7EgzCsc2jSYcOcjHNNmpMU,59
|
|
41
|
+
src/base_template/app/utils/tracing.py,sha256=sYN_zSaIrOSSc4YTewKp3FNkKXj0Ksk79ZT_Ftv5QrY,6046
|
|
42
|
+
src/base_template/app/utils/typing.py,sha256=DP5OZC3IGvqA1XbvWt8kI3gyAK3ZjzUSL5Ca17wNeLI,4249
|
|
43
|
+
src/base_template/deployment/README.md,sha256=XjRRcEiyoobi0YEXybfvtaOi9ecNDU2bVKczv0MUBac,5255
|
|
44
|
+
src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=Vzt83DunPF64wVsY96KTGvhxZFHAF5Tze_88KW4O-oo,4297
|
|
45
|
+
src/base_template/deployment/cd/staging.yaml,sha256=URqQPOxEv1ngYM7RoIs-iGMZsDdq6wUdmH953sipK_o,7925
|
|
46
|
+
src/base_template/deployment/ci/pr_checks.yaml,sha256=7jS9HlRfistS4hhUXMF0tc-5m6g6l9s0rGhq_xP8Tnc,1517
|
|
41
47
|
src/base_template/deployment/terraform/apis.tf,sha256=98vqe53RLtFwnQq_9N1widR8J0c1SGqwhCXp_GohITA,1497
|
|
42
|
-
src/base_template/deployment/terraform/build_triggers.tf,sha256=
|
|
48
|
+
src/base_template/deployment/terraform/build_triggers.tf,sha256=_XDFj6kPd21NmEKKRjpqYIa48P8VHCMVG_6thLqrS0Y,6363
|
|
43
49
|
src/base_template/deployment/terraform/iam.tf,sha256=-KrOngRch4gKnPkZy0ybQQq0RW5-TI80tJ-VJLg-AdA,5597
|
|
44
50
|
src/base_template/deployment/terraform/locals.tf,sha256=mrmOigExLk5g734-2VodDj8qQUTBq20e7FgQD0KUF8E,1390
|
|
45
51
|
src/base_template/deployment/terraform/log_sinks.tf,sha256=PP_n3Jr-_EhMy6shVUrx7ztdQic5W3mKPjC0zQSvAjA,2955
|
|
46
52
|
src/base_template/deployment/terraform/providers.tf,sha256=LFjFQm8XbhWfQRwBUwhTjHLDWUbHW-IlFg71E0zFHIg,1080
|
|
47
53
|
src/base_template/deployment/terraform/service_accounts.tf,sha256=av5UohEL5JmTw4FUMg7DVYjg_8Kg1u9yYUTD3QlGEmo,1689
|
|
48
54
|
src/base_template/deployment/terraform/storage.tf,sha256=v1Vo3SS9yUJOJ8QDVyo0sj_YFY-lElRvdsUrxbIzyuI,8639
|
|
49
|
-
src/base_template/deployment/terraform/variables.tf,sha256=
|
|
55
|
+
src/base_template/deployment/terraform/variables.tf,sha256=w_GD6rLPKVeUESi91dEfBZvPccyDM_uNSAOYdYHaYbs,5851
|
|
50
56
|
src/base_template/deployment/terraform/dev/apis.tf,sha256=kUXkyN-fB8SKssVBxWKZvtHHFGcz09L4Rz9fPQNPSB8,1337
|
|
51
57
|
src/base_template/deployment/terraform/dev/iam.tf,sha256=ZHFs4TMvq6mqD90n8ecXndzW3pyu4EbZO4iJis88BH0,3394
|
|
52
58
|
src/base_template/deployment/terraform/dev/log_sinks.tf,sha256=uVdMtDdd8MnxtKhqzVaYqadE11P3r4fs2IdgNecxM4I,2671
|
|
53
59
|
src/base_template/deployment/terraform/dev/providers.tf,sha256=1S9jCh48d6ailVZ1e14EHsUUDSp7DyGZGExJwViFCkM,900
|
|
54
60
|
src/base_template/deployment/terraform/dev/storage.tf,sha256=1mgLs21SUhfcoRICqd7BqUlEVAVGeN3kMsQ4UAQLOh8,4654
|
|
55
|
-
src/base_template/deployment/terraform/dev/variables.tf,sha256=
|
|
56
|
-
src/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=
|
|
57
|
-
src/base_template/deployment/terraform/vars/env.tfvars,sha256=
|
|
58
|
-
src/base_template/tests/unit/
|
|
61
|
+
src/base_template/deployment/terraform/dev/variables.tf,sha256=U3UbpWysuSDEZkd94rAN_-XYwoOJXKuMNx3zyE7ULJM,4190
|
|
62
|
+
src/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=LoQMjh1AAMR-MGfaSCsVMjdoYTk2T4oS4D9vMH54CdQ,714
|
|
63
|
+
src/base_template/deployment/terraform/vars/env.tfvars,sha256=Nze8q1x2Aj6ZUeWC2hDeZWqNUkLp13DgzA_LFmmOzCo,1216
|
|
64
|
+
src/base_template/tests/unit/test_dummy.py,sha256=2exfCH8qhkZrLWvK04ZxNTO9MV3fdTbZkJN3uK6zvok,850
|
|
59
65
|
src/cli/main.py,sha256=pMsSlNwkrFqHUHHA5U-WMZ4QRquaI_F7OXQt6yxuugE,1688
|
|
60
|
-
src/cli/commands/create.py,sha256=
|
|
61
|
-
src/cli/commands/setup_cicd.py,sha256=
|
|
66
|
+
src/cli/commands/create.py,sha256=J4DH8OFcs8mA1nZLCBLepkCSixdHiL0EYz195M2Lu4o,24156
|
|
67
|
+
src/cli/commands/setup_cicd.py,sha256=ghrbX85omEMIdCIYqCLc2eE0NZr2UbHS6sp7UoC9jbE,31421
|
|
62
68
|
src/cli/utils/__init__.py,sha256=_cTmsXGPqOtK0q8UW5164QTltbJRJFR_Efxq_BRL1-o,1311
|
|
63
69
|
src/cli/utils/cicd.py,sha256=tlz50wI0unRosRZsDpZ5Oh5haMJmNjc9dV0-TPWawKE,27443
|
|
64
70
|
src/cli/utils/datastores.py,sha256=gv1V6eDcOEKx4MRNG5C3Y-VfixYq1AzQuaYMLp8QRNo,1058
|
|
65
|
-
src/cli/utils/gcp.py,sha256=
|
|
71
|
+
src/cli/utils/gcp.py,sha256=gVak73MD74sZTXvchZB59KFpoqp-aTIsvcMKvYMkXJE,4062
|
|
66
72
|
src/cli/utils/logging.py,sha256=0lHe4EPi1A8sOx9xkA7gS4UNl0GsIyp2ahydkkuCzLY,1570
|
|
67
|
-
src/cli/utils/template.py,sha256=
|
|
73
|
+
src/cli/utils/template.py,sha256=iIRh6hNP-na7j9UcxE8r6ZwukXq_WLIwv-VbQ9U2Oxk,28931
|
|
68
74
|
src/cli/utils/version.py,sha256=F4udQmzniPStqWZFIgnv3Qg3l9non4mfy2An-Oveqmc,2916
|
|
69
|
-
src/data_ingestion/README.md,sha256=
|
|
75
|
+
src/data_ingestion/README.md,sha256=LNxSQoJW9JozK-TbyGQLj5L_MGWNwrfLk6V6RmQ2oBQ,4032
|
|
70
76
|
src/data_ingestion/pyproject.toml,sha256=-1Mf2QB8K70ICQV5UPZDpf-fN3UwEQLVzQyxfakCSTY,445
|
|
71
77
|
src/data_ingestion/uv.lock,sha256=HzSD6_IxS2urt49EefD9MvVxBwxW_bJ-k0XltTDT3Vc,144223
|
|
72
78
|
src/data_ingestion/data_ingestion_pipeline/pipeline.py,sha256=UAS6dxV954yARP0NdDbCf5kzap3NfmoX52eZ2mZtWXs,3331
|
|
73
79
|
src/data_ingestion/data_ingestion_pipeline/submit_pipeline.py,sha256=tWGqL0zUB3V5JxR1SpX7LMjCW5r6JEGnvgF8tAxZ12s,7784
|
|
74
|
-
src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py,sha256=
|
|
80
|
+
src/data_ingestion/data_ingestion_pipeline/components/ingest_data.py,sha256=QbPmk6V7JPGo5Yc1BhL-1W_t9CXEN0iY5NKaGWlfSbM,10667
|
|
75
81
|
src/data_ingestion/data_ingestion_pipeline/components/process_data.py,sha256=3D4CaUV9pBaIU10MogJMQAR00JPVzqjFHN6eL7WM_5Y,22045
|
|
76
82
|
src/deployment_targets/agent_engine/deployment_metadata.json,sha256=G_t_n-UNrFsBgH1Xrw5-ZqYzUGwZ4X6ipsIm_yiSq-w,72
|
|
77
|
-
src/deployment_targets/agent_engine/app/agent_engine_app.py,sha256=
|
|
78
|
-
src/deployment_targets/agent_engine/app/utils/gcs.py,sha256=
|
|
83
|
+
src/deployment_targets/agent_engine/app/agent_engine_app.py,sha256=hRzFSAjaxMJzahJ0CYypWjV1SMAFok3UsAly4jMScTk,11334
|
|
84
|
+
src/deployment_targets/agent_engine/app/utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
|
|
79
85
|
src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb,sha256=RE6Gp-bu4bHtNBngfkt_CF5emy5YcOWQ5rMYW_Cv8_w,48809
|
|
80
|
-
src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=
|
|
86
|
+
src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=3mEHdnenqT1RrQpndnQWZSMnn8kSLH85rPDhbxH6_lk,5978
|
|
81
87
|
src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=ckP2eu5_HpOjM390KXNwUk4YWAzWqir3YOTceyoeL64,1441
|
|
82
|
-
src/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=
|
|
88
|
+
src/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=FFCo_LjIZyETb61Eo53qxmg4U7qjT__BPWCYiwBQbhU,3764
|
|
83
89
|
src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
-
src/deployment_targets/
|
|
85
|
-
src/deployment_targets/cloud_run/Dockerfile,sha256=JTh6P_RXE3bkdsHS0zIgguDVVf0XyLViMcb-UNT3Da4,835
|
|
90
|
+
src/deployment_targets/cloud_run/Dockerfile,sha256=vedZX0JJW2bymESqB-0LumnkKyr7hcog8NlR0DX8Q74,843
|
|
86
91
|
src/deployment_targets/cloud_run/uv.lock,sha256=2RYrR89xDS1FHVb-g2JGZq8zZ-rzbm_jRvehVCYuXRQ,887957
|
|
87
|
-
src/deployment_targets/cloud_run/app/server.py,sha256=
|
|
88
|
-
src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=
|
|
89
|
-
src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=
|
|
90
|
-
src/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=
|
|
92
|
+
src/deployment_targets/cloud_run/app/server.py,sha256=lqoo_wAi8yvVsC4aoUD4k74UKArci3w1jF3dkwPOyvU,4793
|
|
93
|
+
src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py,sha256=dKgFE8ksZz-6IDqMfJjTJcwgywJcN9gpSd9Ni97NjPg,7784
|
|
94
|
+
src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=ibuQTghqnZD84ConqsqRxhMOdYhuqoCQA3xiOs5wKqE,2804
|
|
95
|
+
src/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=cOlGaNxx6X3C-eWD0LulXyggqTrTeWZPjnsVn7FtZIs,4082
|
|
91
96
|
src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
|
-
src/
|
|
93
|
-
src/frontends/live_api_react/frontend/package-lock.json,sha256=OgbAH3fn_v4bd-TwS3NNKiqPN_ysyqALD_ap20W6-as,734245
|
|
97
|
+
src/frontends/live_api_react/frontend/package-lock.json,sha256=BRRGo-rI1wxRa_VLm0NlPV9LGUy7kLccKGjSWJLVntE,734245
|
|
94
98
|
src/frontends/live_api_react/frontend/package.json,sha256=OBOzzDiDiESPzmbLDlZ6KM1Trit71vXdP692dI-g9Uo,1381
|
|
95
99
|
src/frontends/live_api_react/frontend/tsconfig.json,sha256=cyqEhf7-Yydz-PX8_cuF8JpsyC363NDTNkrmCk0sKAo,595
|
|
96
100
|
src/frontends/live_api_react/frontend/public/favicon.ico,sha256=FY9oTN01RzaJ2lZ1rCjNXsEfT1gWZJA3fPx0QMBlMCU,15086
|
|
@@ -134,25 +138,36 @@ src/frontends/streamlit/frontend/utils/chat_utils.py,sha256=Z0OYQu-14_d9tDmH9Z4V
|
|
|
134
138
|
src/frontends/streamlit/frontend/utils/local_chat_history.py,sha256=9wc8L8j4tk10DBPQdV64kdZvqE1fHxC2esK8szid0l8,4741
|
|
135
139
|
src/frontends/streamlit/frontend/utils/message_editing.py,sha256=YWoPe2KeWMuL3YVTm0am6MK3kzjEIYVmdkdwTQpmGdQ,2263
|
|
136
140
|
src/frontends/streamlit/frontend/utils/multimodal_utils.py,sha256=v6YbCkz_YcnEo-9YvRjwBNt0SzU4M39bYxJGmKk69vE,7313
|
|
137
|
-
src/frontends/streamlit/frontend/utils/stream_handler.py,sha256=
|
|
141
|
+
src/frontends/streamlit/frontend/utils/stream_handler.py,sha256=kRKv7gQDEDsVtJxUsxY5uqCCtR3nQmT1nkZyrQ6Hpsw,12030
|
|
138
142
|
src/frontends/streamlit/frontend/utils/title_summary.py,sha256=B0cadS_KPW-tsbABauI4J681aqjEtuKFDa25e9R1WKc,3030
|
|
143
|
+
src/frontends/streamlit_adk/frontend/side_bar.py,sha256=VsrIVJkjZPg8AAkVn8Nrn9XN4KasrPVYEKhsZXFqGkU,9053
|
|
144
|
+
src/frontends/streamlit_adk/frontend/streamlit_app.py,sha256=0KtzcvVzc8Ge3XJp0nmeZ691RlI22wsU32WUhKoX9LM,12243
|
|
145
|
+
src/frontends/streamlit_adk/frontend/style/app_markdown.py,sha256=4H9GGlaOIbG_4T4QvHyTMfoeumJze7cZ2VuGIv39wFo,1050
|
|
146
|
+
src/frontends/streamlit_adk/frontend/utils/chat_utils.py,sha256=-Yoh8ly20aSiuf9SYfSIHlPcJ6a5cfdK0rNIJo_p1EE,3095
|
|
147
|
+
src/frontends/streamlit_adk/frontend/utils/local_chat_history.py,sha256=GK0GmYrr2jC7UnMu77OPDgIgfrEO22rXk_VoxfDrJcM,4261
|
|
148
|
+
src/frontends/streamlit_adk/frontend/utils/message_editing.py,sha256=wt2OMJ4RUMoeJu_mVLMR2s4mxTlxWoQAxlxYXgKCBlc,2453
|
|
149
|
+
src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py,sha256=7TV3n36HBQOCv4sC9tEjD2sEXzzBDOuqgXr84QC3Tms,7722
|
|
150
|
+
src/frontends/streamlit_adk/frontend/utils/stream_handler.py,sha256=xKwiY1KLWQdDtQ5eVrSkP3uubEAKDiOJNjWHjQiBxLg,12323
|
|
151
|
+
src/frontends/streamlit_adk/frontend/utils/title_summary.py,sha256=lmYJUIz99jWY1dTziUao554GJBHFQTzQBRvoEl-x020,4347
|
|
139
152
|
src/resources/containers/data_processing/Dockerfile,sha256=VoB9d5yZiiWnqRfWrIq0gGNMzZg-eVy733OgP72ZgO0,950
|
|
140
153
|
src/resources/containers/e2e-tests/Dockerfile,sha256=Q_aTyX_iaFY8j06XZkpMuggJnNO5daiLmmrvqaZHMxw,1611
|
|
141
|
-
src/resources/locks/uv-
|
|
142
|
-
src/resources/locks/uv-
|
|
143
|
-
src/resources/locks/uv-
|
|
144
|
-
src/resources/locks/uv-
|
|
145
|
-
src/resources/locks/uv-
|
|
146
|
-
src/resources/locks/uv-
|
|
147
|
-
src/resources/locks/uv-
|
|
154
|
+
src/resources/locks/uv-adk_base-agent_engine.lock,sha256=syI9vNoQn5E82OuKH2XyPMjxd5NiaBdXjzARp-CP6u0,628425
|
|
155
|
+
src/resources/locks/uv-adk_base-cloud_run.lock,sha256=TyGqfTb65fw2Dri6KH6SYQMDu4pOcMDqyERY0kn0K_Y,797636
|
|
156
|
+
src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=hEJuGbmoOBqlyU3-cZ-bAtBMP4WPD92ap8vVi34nqyM,638035
|
|
157
|
+
src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=3oJiJ1Ac7DRawQ6Hl6TzsU4FhRD383158RokHOxEGeo,807246
|
|
158
|
+
src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=OqYAP4kYOXwiFRrOFBeB593rU_U1eI2TQuFgI5gAy9E,734457
|
|
159
|
+
src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=4_6ZNQ7Q45lSmIVnWL8BRMSfPedkS9WSyk8ORoA6vpY,911344
|
|
160
|
+
src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=r7vPXAjYM7Lk_J-Qnp590PCEtNsWYXNDLKGSEBGSZpA,611193
|
|
161
|
+
src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=BiZP9gsmrlQ4ludBaXb14-_P0wbKp5ra9Nwn8QbYmJA,781686
|
|
162
|
+
src/resources/locks/uv-live_api-cloud_run.lock,sha256=_iSIEzx3Wjq4OtsZFcQ7IYsOIHyvBc7YCy1Qta9jRH4,784743
|
|
148
163
|
src/resources/setup_cicd/cicd_variables.tf,sha256=PMflYe1TzQi63LORHkmeCktTYzXFplJgxffNH4DtuAQ,1244
|
|
149
164
|
src/resources/setup_cicd/github.tf,sha256=scTBgeZlCM74N-pzhVKsnTN0PX9a5GboNl1HN3-LlCM,2791
|
|
150
165
|
src/resources/setup_cicd/providers.tf,sha256=Km4z6IJt7x7PLaa0kyZbBrO2m3lpuIJZFD5jB7QBfF0,1122
|
|
151
166
|
src/utils/generate_locks.py,sha256=xu5IAhGGBPkVQGSJX4kk7_JNDwWJUEaXAHbmaQIohbg,4386
|
|
152
167
|
src/utils/lock_utils.py,sha256=_QdzQtgIbCmJ87s046_i1g966slVNmvr3bJDeHbRQSM,2419
|
|
153
168
|
src/utils/watch_and_rebuild.py,sha256=vP4yIiA7E_lj5sfQdJUl8TXas6V7msDg8XWUutAC05Q,6679
|
|
154
|
-
agent_starter_pack-0.
|
|
155
|
-
agent_starter_pack-0.
|
|
156
|
-
agent_starter_pack-0.
|
|
157
|
-
agent_starter_pack-0.
|
|
158
|
-
agent_starter_pack-0.
|
|
169
|
+
agent_starter_pack-0.3.0.dist-info/METADATA,sha256=gqs2okJC9y34nuxb4SmgELfSO3Juldd8O_-GzDzyicA,8026
|
|
170
|
+
agent_starter_pack-0.3.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
171
|
+
agent_starter_pack-0.3.0.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
|
|
172
|
+
agent_starter_pack-0.3.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
173
|
+
agent_starter_pack-0.3.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# ADK: Minimal Agent Example
|
|
2
|
+
|
|
3
|
+
[](https://google.github.io/adk-docs/)
|
|
4
|
+
|
|
5
|
+
A basic agent built using the **[Google Agent Development Kit (ADK)](https://google.github.io/adk-docs/)**. This example demonstrates core ADK concepts like agent creation and tool integration in a minimal setup.
|
|
6
|
+
|
|
7
|
+
This agent uses the `gemini-2.0-flash` model and is equipped with two simple tools:
|
|
8
|
+
* `get_weather`: Simulates fetching weather (hardcoded for SF).
|
|
9
|
+
* `get_current_time`: Simulates fetching the time (hardcoded for SF).
|
|
10
|
+
|
|
11
|
+
## Additional Resources
|
|
12
|
+
|
|
13
|
+
- **ADK Samples**: Explore more examples and use cases in the [official ADK Samples Repository](https://github.com/google/adk-samples)
|
|
14
|
+
- **ADK Documentation**: Learn more about ADK concepts and capabilities in the [official documentation](https://google.github.io/adk-docs/)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Copyright 2025 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
import datetime
|
|
16
|
+
import os
|
|
17
|
+
from zoneinfo import ZoneInfo
|
|
18
|
+
|
|
19
|
+
import google.auth
|
|
20
|
+
from google.adk.agents import Agent
|
|
21
|
+
|
|
22
|
+
_, project_id = google.auth.default()
|
|
23
|
+
os.environ.setdefault("GOOGLE_CLOUD_PROJECT", project_id)
|
|
24
|
+
os.environ.setdefault("GOOGLE_CLOUD_LOCATION", "us-central1")
|
|
25
|
+
os.environ.setdefault("GOOGLE_GENAI_USE_VERTEXAI", "True")
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def get_weather(query: str) -> str:
|
|
29
|
+
"""Simulates a web search. Use it get information on weather.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
query: A string containing the location to get weather information for.
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
A string with the simulated weather information for the queried location.
|
|
36
|
+
"""
|
|
37
|
+
if "sf" in query.lower() or "san francisco" in query.lower():
|
|
38
|
+
return "It's 60 degrees and foggy."
|
|
39
|
+
return "It's 90 degrees and sunny."
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def get_current_time(query: str) -> str:
|
|
43
|
+
"""Simulates getting the current time for a city.
|
|
44
|
+
|
|
45
|
+
Args:
|
|
46
|
+
city: The name of the city to get the current time for.
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
A string with the current time information.
|
|
50
|
+
"""
|
|
51
|
+
if "sf" in query.lower() or "san francisco" in query.lower():
|
|
52
|
+
tz_identifier = "America/Los_Angeles"
|
|
53
|
+
else:
|
|
54
|
+
return f"Sorry, I don't have timezone information for query: {query}."
|
|
55
|
+
|
|
56
|
+
tz = ZoneInfo(tz_identifier)
|
|
57
|
+
now = datetime.datetime.now(tz)
|
|
58
|
+
return f"The current time for query {query} is {now.strftime('%Y-%m-%d %H:%M:%S %Z%z')}"
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
root_agent = Agent(
|
|
62
|
+
name="root_agent",
|
|
63
|
+
model="gemini-2.0-flash",
|
|
64
|
+
instruction="You are a helpful AI assistant designed to provide accurate and useful information.",
|
|
65
|
+
tools=[get_weather, get_current_time],
|
|
66
|
+
)
|