agent-starter-pack 0.4.4__py3-none-any.whl → 0.5.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.
- {agent_starter_pack-0.4.4.dist-info → agent_starter_pack-0.5.0.dist-info}/METADATA +2 -2
- {agent_starter_pack-0.4.4.dist-info → agent_starter_pack-0.5.0.dist-info}/RECORD +28 -28
- agents/adk_base/template/.templateconfig.yaml +1 -1
- agents/adk_base/tests/integration/test_agent.py +1 -1
- agents/agentic_rag/template/.templateconfig.yaml +1 -1
- agents/agentic_rag/tests/integration/test_agent.py +1 -1
- agents/live_api/app/server.py +5 -1
- agents/live_api/template/.templateconfig.yaml +1 -1
- src/base_template/README.md +2 -2
- src/base_template/deployment/README.md +1 -1
- src/base_template/pyproject.toml +2 -2
- src/cli/commands/create.py +11 -3
- src/deployment_targets/agent_engine/tests/load_test/README.md +2 -2
- src/deployment_targets/cloud_run/app/server.py +1 -1
- src/deployment_targets/cloud_run/tests/load_test/README.md +2 -2
- src/resources/idx/.idx/dev.nix +2 -9
- src/resources/locks/uv-adk_base-agent_engine.lock +340 -334
- src/resources/locks/uv-adk_base-cloud_run.lock +412 -405
- src/resources/locks/uv-agentic_rag-agent_engine.lock +531 -522
- src/resources/locks/uv-agentic_rag-cloud_run.lock +683 -665
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +678 -629
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +833 -773
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock +647 -571
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock +826 -730
- src/resources/locks/uv-live_api-cloud_run.lock +625 -613
- {agent_starter_pack-0.4.4.dist-info → agent_starter_pack-0.5.0.dist-info}/WHEEL +0 -0
- {agent_starter_pack-0.4.4.dist-info → agent_starter_pack-0.5.0.dist-info}/entry_points.txt +0 -0
- {agent_starter_pack-0.4.4.dist-info → agent_starter_pack-0.5.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.5.0
|
4
4
|
Summary: CLI to bootstrap production-ready Google Cloud GenAI agent projects from templates.
|
5
5
|
Author-email: Google LLC <agent-starter-pack@google.com>
|
6
6
|
License: Apache-2.0
|
@@ -56,7 +56,7 @@ Ready to build your AI agent? Simply run this command:
|
|
56
56
|
|
57
57
|
```bash
|
58
58
|
# Create and activate a Python virtual environment
|
59
|
-
python -m venv venv && source venv/bin/activate
|
59
|
+
python -m venv .venv && source .venv/bin/activate
|
60
60
|
|
61
61
|
# Install the agent starter pack
|
62
62
|
pip install agent-starter-pack
|
@@ -2,16 +2,16 @@ agents/adk_base/README.md,sha256=eLf-F9Z4u_mQOchAnUaSrOAHXRSx8wUQN29kkwz1SF4,894
|
|
2
2
|
agents/adk_base/app/agent.py,sha256=Kt-0TQM4g9NLs7Q2KmRWPfPWWgyQEODVo0uCepLkqDw,2182
|
3
3
|
agents/adk_base/notebooks/adk_app_testing.ipynb,sha256=WTxrxu-bMfjqR8SvwZxNuR2_4Qo20QUZ7F3aBCRxtA0,9613
|
4
4
|
agents/adk_base/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
|
5
|
-
agents/adk_base/template/.templateconfig.yaml,sha256=
|
6
|
-
agents/adk_base/tests/integration/test_agent.py,sha256=
|
5
|
+
agents/adk_base/template/.templateconfig.yaml,sha256=BT88Q8Bri6DYwv2HHjkpcL2mik8u8Gkwi3YV9_XW7PU,893
|
6
|
+
agents/adk_base/tests/integration/test_agent.py,sha256=VypgpEWrQegJBgc58V-BlIsbqh-Hii-hwmkwcz5feFw,1969
|
7
7
|
agents/agentic_rag/README.md,sha256=mxMLkq6tAghFaDmc2sc2sEQ5vn9kGWdiRxfTykwpLz0,2268
|
8
8
|
agents/agentic_rag/app/agent.py,sha256=thaU0njJ3W90DI54EVrFe4lwx9yMWZT4jSGRMnUSdY8,3987
|
9
9
|
agents/agentic_rag/app/retrievers.py,sha256=qfxwSEixMddvAu4FvUTZAFh1Gdp3RPY65s0Wp6gEFVk,4561
|
10
10
|
agents/agentic_rag/app/templates.py,sha256=8N_uRchwiN7hlH9Y8rdJ1CAtOhpHUWZkXZZ7IU-YJJk,867
|
11
11
|
agents/agentic_rag/notebooks/adk_app_testing.ipynb,sha256=WTxrxu-bMfjqR8SvwZxNuR2_4Qo20QUZ7F3aBCRxtA0,9613
|
12
12
|
agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb,sha256=OMTiT3gAFWPvE9pPL8z7tsDwOU-l8wem5wH-OXPPlvk,56805
|
13
|
-
agents/agentic_rag/template/.templateconfig.yaml,sha256=
|
14
|
-
agents/agentic_rag/tests/integration/test_agent.py,sha256=
|
13
|
+
agents/agentic_rag/template/.templateconfig.yaml,sha256=fTsHlqDrmMcOA_yNWYAiQJoLMOQm21JeQMnxO1gYs1Q,1223
|
14
|
+
agents/agentic_rag/tests/integration/test_agent.py,sha256=mxsKFyZrwXzIvAoxlqZv2JndM3VTVTKcugRYdF3APr4,2112
|
15
15
|
agents/crewai_coding_crew/README.md,sha256=4No7sfHQVHELARGiT3fWANJzDR0NP48ow4ct3FoPwlA,1672
|
16
16
|
agents/crewai_coding_crew/app/agent.py,sha256=axa-prJ7N8Gi8ASUSjokLeWCE-Z_cU0A99WwuLGsZyQ,3264
|
17
17
|
agents/crewai_coding_crew/app/crew/crew.py,sha256=pqeeJ4txP-gcVT3PKEAw2zZ4x8g4cDlnFFbf0_zZRr4,2000
|
@@ -28,19 +28,19 @@ agents/langgraph_base_react/template/.templateconfig.yaml,sha256=NE_EJzZPtdbJRFd
|
|
28
28
|
agents/langgraph_base_react/tests/integration/test_agent.py,sha256=wg2Y8V4l7dh7rhWy7Z8zioDW5ILRsz7RZJ-mz0AhK3U,1619
|
29
29
|
agents/live_api/README.md,sha256=c3lu5WguOUBc5hO_UtNZfVhfYxvSzMXuGFICn9M38mU,2897
|
30
30
|
agents/live_api/app/agent.py,sha256=FBsmCYI_dmBIbFD1uojcPxJfozGNc-0rg1fW2PhEyFw,2298
|
31
|
-
agents/live_api/app/server.py,sha256=
|
32
|
-
agents/live_api/template/.templateconfig.yaml,sha256=
|
31
|
+
agents/live_api/app/server.py,sha256=ZXriNDl_zo7WDRBke85lyzMsy66qGzPaRXY1FMy4Fdw,7793
|
32
|
+
agents/live_api/template/.templateconfig.yaml,sha256=DD_hihMsuqmd5VWS18vVGZ3ZGVVpFWVXJ2dU07eKb6k,964
|
33
33
|
agents/live_api/tests/integration/test_server_e2e.py,sha256=D2VETDIyTD2fQyQ6DXwLr-POSYyVzzzcpIFLt5Ppyx4,8398
|
34
34
|
agents/live_api/tests/load_test/load_test.py,sha256=HHZyfC4gqiQtZVF_CbbxENGgWQccMLpwMv0IdoQ6cbQ,1275
|
35
35
|
agents/live_api/tests/unit/test_server.py,sha256=_TjlgQgNkjerIaBGnu8P8_KB8ZlSolDcivALpUOn_Rw,4786
|
36
36
|
src/base_template/.gitignore,sha256=mJKTZIcVdAFiIUQicRfPNGUg6WvwcfTEC2xbmAaU34g,2579
|
37
37
|
src/base_template/Makefile,sha256=O65aYaRQlCOZHfCaAdWbK3eEobw5x83A8nEjK88jtpQ,4538
|
38
|
-
src/base_template/README.md,sha256=
|
39
|
-
src/base_template/pyproject.toml,sha256=
|
38
|
+
src/base_template/README.md,sha256=Bg-wux7NGMAhx1-enAn87dfMUchTi8D7-Gkx7TWDcs4,10119
|
39
|
+
src/base_template/pyproject.toml,sha256=FmD5qLIWjMTjT6euiUegSw8PLeGvxO1bnSg-r0UjkJU,2959
|
40
40
|
src/base_template/app/__init__.py,sha256=UyAgc2l8nkVIUPUzL9hKR7EgzCsc2jSYcOcjHNNmpMU,59
|
41
41
|
src/base_template/app/utils/tracing.py,sha256=2rv1Ukh2jTBENDwoghCItJ28l-Sjz9gMlzdojlVgJa4,6052
|
42
42
|
src/base_template/app/utils/typing.py,sha256=DP5OZC3IGvqA1XbvWt8kI3gyAK3ZjzUSL5Ca17wNeLI,4249
|
43
|
-
src/base_template/deployment/README.md,sha256=
|
43
|
+
src/base_template/deployment/README.md,sha256=qWTCWyEj1bZuny3XyCelXPgljh6yu_GDwfPNUeFoXBY,5245
|
44
44
|
src/base_template/deployment/cd/deploy-to-prod.yaml,sha256=1VncyjYOVyGBsDGN-zvXOH9J1TPL-LarYzbXOHwLDRY,4376
|
45
45
|
src/base_template/deployment/cd/staging.yaml,sha256=WE9vSKh9tNs5pPnWslGyPa5-7AqQSFyuPaY5HAz7RCo,8004
|
46
46
|
src/base_template/deployment/ci/pr_checks.yaml,sha256=7jS9HlRfistS4hhUXMF0tc-5m6g6l9s0rGhq_xP8Tnc,1517
|
@@ -63,7 +63,7 @@ src/base_template/deployment/terraform/dev/vars/env.tfvars,sha256=LoQMjh1AAMR-MG
|
|
63
63
|
src/base_template/deployment/terraform/vars/env.tfvars,sha256=Nze8q1x2Aj6ZUeWC2hDeZWqNUkLp13DgzA_LFmmOzCo,1216
|
64
64
|
src/base_template/tests/unit/test_dummy.py,sha256=2exfCH8qhkZrLWvK04ZxNTO9MV3fdTbZkJN3uK6zvok,850
|
65
65
|
src/cli/main.py,sha256=pMsSlNwkrFqHUHHA5U-WMZ4QRquaI_F7OXQt6yxuugE,1688
|
66
|
-
src/cli/commands/create.py,sha256=
|
66
|
+
src/cli/commands/create.py,sha256=MKfRxDGcvWcm7Y8IqwGM6zcWEtBQlS_JQtoQLn4oDUM,24497
|
67
67
|
src/cli/commands/setup_cicd.py,sha256=Lr0wLeKlRxROsRVFLAI3ygfIh_sTavvgQckDkzFEKMQ,31705
|
68
68
|
src/cli/utils/__init__.py,sha256=_cTmsXGPqOtK0q8UW5164QTltbJRJFR_Efxq_BRL1-o,1311
|
69
69
|
src/cli/utils/cicd.py,sha256=m2BxwV39323rVzJCjJjB37IPdSNQdxVgXGrgnhdbb84,26040
|
@@ -84,14 +84,14 @@ src/deployment_targets/agent_engine/app/agent_engine_app.py,sha256=j5xK6AQYyJmRu
|
|
84
84
|
src/deployment_targets/agent_engine/app/utils/gcs.py,sha256=jKblaWOGQEigw3esaawcfX178shhZi2Fyk0fJSA4T68,1501
|
85
85
|
src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb,sha256=RE6Gp-bu4bHtNBngfkt_CF5emy5YcOWQ5rMYW_Cv8_w,48809
|
86
86
|
src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py,sha256=3mEHdnenqT1RrQpndnQWZSMnn8kSLH85rPDhbxH6_lk,5978
|
87
|
-
src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=
|
87
|
+
src/deployment_targets/agent_engine/tests/load_test/README.md,sha256=qaVE9qR0MvZcaABwf4GS6cAxi7un5ql_vh-zbgh3LmA,1443
|
88
88
|
src/deployment_targets/agent_engine/tests/load_test/load_test.py,sha256=FFCo_LjIZyETb61Eo53qxmg4U7qjT__BPWCYiwBQbhU,3764
|
89
89
|
src/deployment_targets/agent_engine/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
90
90
|
src/deployment_targets/cloud_run/Dockerfile,sha256=vedZX0JJW2bymESqB-0LumnkKyr7hcog8NlR0DX8Q74,843
|
91
91
|
src/deployment_targets/cloud_run/uv.lock,sha256=2RYrR89xDS1FHVb-g2JGZq8zZ-rzbm_jRvehVCYuXRQ,887957
|
92
|
-
src/deployment_targets/cloud_run/app/server.py,sha256=
|
92
|
+
src/deployment_targets/cloud_run/app/server.py,sha256=6xgR99amWepWlOP-uENJzENA7p3ekFl93ivl7-PtG7E,4793
|
93
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=
|
94
|
+
src/deployment_targets/cloud_run/tests/load_test/README.md,sha256=HgWizsGHyh_2i0xOG2-1IN_Eav3GiGNKwZVOffilo2I,2806
|
95
95
|
src/deployment_targets/cloud_run/tests/load_test/load_test.py,sha256=cOlGaNxx6X3C-eWD0LulXyggqTrTeWZPjnsVn7FtZIs,4082
|
96
96
|
src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
97
|
src/frontends/live_api_react/frontend/package-lock.json,sha256=cRmNP68qotvdTypAOU-UZi65ZSai4KTwxYvCYep9LQs,734245
|
@@ -153,24 +153,24 @@ src/resources/containers/data_processing/Dockerfile,sha256=VoB9d5yZiiWnqRfWrIq0g
|
|
153
153
|
src/resources/containers/e2e-tests/Dockerfile,sha256=Q_aTyX_iaFY8j06XZkpMuggJnNO5daiLmmrvqaZHMxw,1611
|
154
154
|
src/resources/idx/idx-template.json,sha256=07OQZCPp45Iqor2O7Tm1e1Gmsdd-AmmUofSvA7y-oRs,793
|
155
155
|
src/resources/idx/idx-template.nix,sha256=sesHGev_PYtVDg0J5tHkg0OO7IR1Bz2iAtl_if3Ar3M,892
|
156
|
-
src/resources/idx/.idx/dev.nix,sha256=
|
157
|
-
src/resources/locks/uv-adk_base-agent_engine.lock,sha256=
|
158
|
-
src/resources/locks/uv-adk_base-cloud_run.lock,sha256=
|
159
|
-
src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=
|
160
|
-
src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=
|
161
|
-
src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=
|
162
|
-
src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=
|
163
|
-
src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=
|
164
|
-
src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=
|
165
|
-
src/resources/locks/uv-live_api-cloud_run.lock,sha256=
|
156
|
+
src/resources/idx/.idx/dev.nix,sha256=XQ4T1xt5I-8SVwnI37v56RFFlxa58Ko-a9G2-oelYAI,1602
|
157
|
+
src/resources/locks/uv-adk_base-agent_engine.lock,sha256=5C0qM0h4QtYmFJKLq3PFddfSzjQWFEjOiO82vHxAUdQ,354900
|
158
|
+
src/resources/locks/uv-adk_base-cloud_run.lock,sha256=1IGYBSh0vFV2zgxKkv97RsfSffrO1eqTgqxXPGanRT8,439843
|
159
|
+
src/resources/locks/uv-agentic_rag-agent_engine.lock,sha256=bUYvGPpldusxjM59ZmkiGx5TD0uVYR_q6Ae4zX_RDMc,520793
|
160
|
+
src/resources/locks/uv-agentic_rag-cloud_run.lock,sha256=jf_-4Fy3Ru-8Sv1FT2wezM68VpJza4mY9vnnASJRRYg,676939
|
161
|
+
src/resources/locks/uv-crewai_coding_crew-agent_engine.lock,sha256=D7ChXJvgpv9tx04oySxtKNYV7c75fFmgjkHkfY-9t7c,752871
|
162
|
+
src/resources/locks/uv-crewai_coding_crew-cloud_run.lock,sha256=gAo8kIqxFo7ce9d3gtgvjqj4uW5qWdyA-rfSFw8wPGM,954380
|
163
|
+
src/resources/locks/uv-langgraph_base_react-agent_engine.lock,sha256=4MaAtU7WsOBcr2sKFQxFLxBAI3sbmTItcwheO--juIY,641971
|
164
|
+
src/resources/locks/uv-langgraph_base_react-cloud_run.lock,sha256=LZChkvjJas5yiajNLar3ejaZ8ZmdzwPuyKZ4mAXtrT8,832580
|
165
|
+
src/resources/locks/uv-live_api-cloud_run.lock,sha256=FJ7T5-oVajY_zjLSHlq5IUVDMg0SKy6g7bwvlMLueSs,773265
|
166
166
|
src/resources/setup_cicd/cicd_variables.tf,sha256=PMflYe1TzQi63LORHkmeCktTYzXFplJgxffNH4DtuAQ,1244
|
167
167
|
src/resources/setup_cicd/github.tf,sha256=scTBgeZlCM74N-pzhVKsnTN0PX9a5GboNl1HN3-LlCM,2791
|
168
168
|
src/resources/setup_cicd/providers.tf,sha256=Km4z6IJt7x7PLaa0kyZbBrO2m3lpuIJZFD5jB7QBfF0,1122
|
169
169
|
src/utils/generate_locks.py,sha256=6V1B8V2BEuevWnXUsxZVTrLjXwFRII8UfsIGrQqZxVs,4320
|
170
170
|
src/utils/lock_utils.py,sha256=RSE6n3hBkH64xNm3Q5wrR0Pqbeo-oc7xaTOhA9yzHjk,2275
|
171
171
|
src/utils/watch_and_rebuild.py,sha256=vP4yIiA7E_lj5sfQdJUl8TXas6V7msDg8XWUutAC05Q,6679
|
172
|
-
agent_starter_pack-0.
|
173
|
-
agent_starter_pack-0.
|
174
|
-
agent_starter_pack-0.
|
175
|
-
agent_starter_pack-0.
|
176
|
-
agent_starter_pack-0.
|
172
|
+
agent_starter_pack-0.5.0.dist-info/METADATA,sha256=NWdmJCeRy_Z3AIw_3UUGJEwIk4MfqV8dkPygrT-c1QY,10454
|
173
|
+
agent_starter_pack-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
174
|
+
agent_starter_pack-0.5.0.dist-info/entry_points.txt,sha256=U7uCxR7YulIhZ0L8R8Hui0Bsy6J7oyESBeDYJYMrQjA,56
|
175
|
+
agent_starter_pack-0.5.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
176
|
+
agent_starter_pack-0.5.0.dist-info/RECORD,,
|
@@ -17,6 +17,6 @@ example_question: "What's the weather in San Francisco?"
|
|
17
17
|
settings:
|
18
18
|
requires_data_ingestion: false
|
19
19
|
deployment_targets: ["agent_engine", "cloud_run"]
|
20
|
-
extra_dependencies: ["google-adk~=
|
20
|
+
extra_dependencies: ["google-adk~=1.1.0"]
|
21
21
|
tags: ["adk"]
|
22
22
|
frontend_type: "None"
|
@@ -29,7 +29,7 @@ def test_agent_stream() -> None:
|
|
29
29
|
|
30
30
|
session_service = InMemorySessionService()
|
31
31
|
|
32
|
-
session = session_service.
|
32
|
+
session = session_service.create_session_sync(user_id="test_user", app_name="test")
|
33
33
|
runner = Runner(agent=root_agent, session_service=session_service, app_name="test")
|
34
34
|
|
35
35
|
message = types.Content(
|
@@ -18,7 +18,7 @@ settings:
|
|
18
18
|
requires_data_ingestion: true
|
19
19
|
deployment_targets: ["agent_engine", "cloud_run"]
|
20
20
|
extra_dependencies: [
|
21
|
-
"google-adk~=
|
21
|
+
"google-adk~=1.1.0",
|
22
22
|
"langchain-google-vertexai~=2.0.7",
|
23
23
|
"langchain~=0.3.24",
|
24
24
|
"langchain-core~=0.3.55",
|
@@ -35,7 +35,7 @@ def test_agent_stream(mock_retrieve: MagicMock) -> None:
|
|
35
35
|
|
36
36
|
session_service = InMemorySessionService()
|
37
37
|
|
38
|
-
session = session_service.
|
38
|
+
session = session_service.create_session_sync(user_id="test_user", app_name="test")
|
39
39
|
runner = Runner(agent=root_agent, session_service=session_service, app_name="test")
|
40
40
|
|
41
41
|
message = types.Content(
|
agents/live_api/app/server.py
CHANGED
@@ -60,6 +60,7 @@ class GeminiSession:
|
|
60
60
|
self.run_id = "n/a"
|
61
61
|
self.user_id = "n/a"
|
62
62
|
self.tool_functions = tool_functions
|
63
|
+
self._tool_tasks: list[asyncio.Task] = []
|
63
64
|
|
64
65
|
async def receive_from_client(self) -> None:
|
65
66
|
"""Listen for and process messages from the client.
|
@@ -137,7 +138,10 @@ class GeminiSession:
|
|
137
138
|
message = types.LiveServerMessage.model_validate(raw_message)
|
138
139
|
tool_call = LiveServerToolCall.model_validate(message.tool_call)
|
139
140
|
# Create a separate task to handle the tool call without blocking
|
140
|
-
asyncio.create_task(
|
141
|
+
task = asyncio.create_task(
|
142
|
+
self._handle_tool_call(self.session, tool_call)
|
143
|
+
)
|
144
|
+
self._tool_tasks.append(task)
|
141
145
|
|
142
146
|
|
143
147
|
def get_connect_and_run_callable(websocket: WebSocket) -> Callable:
|
src/base_template/README.md
CHANGED
@@ -153,13 +153,13 @@ This template follows a "bring your own agent" approach - you focus on your busi
|
|
153
153
|
1. **Prototype:** Build your Generative AI Agent using the intro notebooks in `notebooks/` for guidance. Use Vertex AI Evaluation to assess performance.
|
154
154
|
2. **Integrate:** Import your agent into the app by editing `app/agent.py`.
|
155
155
|
3. **Test:** Explore your agent functionality using the Streamlit playground with `make playground`. The playground offers features like chat history, user feedback, and various input types, and automatically reloads your agent on code changes.
|
156
|
-
4. **Deploy:** Set up and initiate the CI/CD pipelines, customizing tests as necessary. Refer to the [deployment section](#deployment) for comprehensive instructions. For streamlined infrastructure deployment, simply run `agent-starter-pack setup-cicd`. Check out the [`agent-starter-pack setup-cicd` CLI command](https://github.
|
156
|
+
4. **Deploy:** Set up and initiate the CI/CD pipelines, customizing tests as necessary. Refer to the [deployment section](#deployment) for comprehensive instructions. For streamlined infrastructure deployment, simply run `uvx agent-starter-pack setup-cicd`. Check out the [`agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
|
157
157
|
5. **Monitor:** Track performance and gather insights using Cloud Logging, Tracing, and the Looker Studio dashboard to iterate on your application.
|
158
158
|
{% endif %}
|
159
159
|
|
160
160
|
## Deployment
|
161
161
|
|
162
|
-
> **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.
|
162
|
+
> **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
|
163
163
|
|
164
164
|
### Dev Environment
|
165
165
|
|
@@ -29,7 +29,7 @@ The application leverages [**Terraform**](http://terraform.io) to define and pro
|
|
29
29
|
|
30
30
|
## Setup
|
31
31
|
|
32
|
-
> **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.
|
32
|
+
> **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`uvx agent-starter-pack setup-cicd` CLI command](https://googlecloudplatform.github.io/agent-starter-pack/cli/setup_cicd.html). Currently only supporting Github.
|
33
33
|
|
34
34
|
**Prerequisites:**
|
35
35
|
|
src/base_template/pyproject.toml
CHANGED
@@ -16,11 +16,11 @@ dependencies = [
|
|
16
16
|
{%- endif %}
|
17
17
|
"google-cloud-logging~=3.11.4",
|
18
18
|
{%- if cookiecutter.deployment_target == 'cloud_run' %}
|
19
|
-
"google-cloud-aiplatform[evaluation]~=1.
|
19
|
+
"google-cloud-aiplatform[evaluation]~=1.95.1",
|
20
20
|
"fastapi~=0.115.8",
|
21
21
|
"uvicorn~=0.34.0"
|
22
22
|
{%- elif cookiecutter.deployment_target == 'agent_engine' %}
|
23
|
-
"google-cloud-aiplatform[evaluation,agent-engines]~=1.
|
23
|
+
"google-cloud-aiplatform[evaluation,agent-engines]~=1.95.1"
|
24
24
|
{%- endif %}
|
25
25
|
]
|
26
26
|
{% if cookiecutter.deployment_target == 'cloud_run' %}
|
src/cli/commands/create.py
CHANGED
@@ -467,11 +467,19 @@ def _handle_credential_verification(creds_info: dict) -> dict:
|
|
467
467
|
# Check if running in Cloud Shell
|
468
468
|
if os.environ.get("CLOUD_SHELL") == "true":
|
469
469
|
if creds_info["project"] == "":
|
470
|
-
console.print("> It looks like you are running in Cloud Shell.")
|
471
470
|
console.print(
|
472
|
-
">
|
471
|
+
"> It looks like you are running in Cloud Shell.", style="bold blue"
|
473
472
|
)
|
474
|
-
|
473
|
+
console.print(
|
474
|
+
"> You need to set up a project ID to continue, but you haven't setup a project yet.",
|
475
|
+
style="bold blue",
|
476
|
+
)
|
477
|
+
new_project = Prompt.ask("\n> Enter a project ID", default=None)
|
478
|
+
while not new_project:
|
479
|
+
console.print(
|
480
|
+
"> Project ID cannot be empty. Please try again.", style="bold red"
|
481
|
+
)
|
482
|
+
new_project = Prompt.ask("\n> Enter a project ID", default=None)
|
475
483
|
creds_info["project"] = new_project
|
476
484
|
set_gcp_project(creds_info["project"], set_quota_project=False)
|
477
485
|
return creds_info
|
@@ -19,8 +19,8 @@ Follow these steps to execute load tests:
|
|
19
19
|
|
20
20
|
```bash
|
21
21
|
# Create and activate virtual environment
|
22
|
-
python3 -m venv locust_env
|
23
|
-
source locust_env/bin/activate
|
22
|
+
python3 -m venv .locust_env
|
23
|
+
source .locust_env/bin/activate
|
24
24
|
|
25
25
|
# Install required packages
|
26
26
|
pip install locust==2.31.1 "google-cloud-aiplatform[langchain,reasoningengine]>=1.77.0"
|
@@ -32,7 +32,7 @@ provider.add_span_processor(processor)
|
|
32
32
|
trace.set_tracer_provider(provider)
|
33
33
|
|
34
34
|
AGENT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
35
|
-
app: FastAPI = get_fast_api_app(
|
35
|
+
app: FastAPI = get_fast_api_app(agents_dir=AGENT_DIR, web=True)
|
36
36
|
|
37
37
|
app.title = "{{cookiecutter.project_name}}"
|
38
38
|
app.description = "API for interacting with the Agent {{cookiecutter.project_name}}"
|
@@ -18,7 +18,7 @@ uv run uvicorn app.server:app --host 0.0.0.0 --port 8000 --reload
|
|
18
18
|
Using another terminal tab, This is suggested to avoid conflicts with the existing application python environment.
|
19
19
|
|
20
20
|
```bash
|
21
|
-
python3 -m venv locust_env && source locust_env/bin/activate && pip install locust==2.31.1
|
21
|
+
python3 -m venv .locust_env && source locust_env/bin/activate && pip install locust==2.31.1
|
22
22
|
```
|
23
23
|
|
24
24
|
**3. Execute the Load Test:**
|
@@ -69,7 +69,7 @@ export _ID_TOKEN=$(gcloud auth print-identity-token -q)
|
|
69
69
|
**3. Execute the Load Test:**
|
70
70
|
Create virtual environment with Locust:
|
71
71
|
```bash
|
72
|
-
python3 -m venv locust_env && source locust_env/bin/activate && pip install locust==2.31.1
|
72
|
+
python3 -m venv .locust_env && source locust_env/bin/activate && pip install locust==2.31.1
|
73
73
|
```
|
74
74
|
|
75
75
|
Execute load tests. The following command executes the same load test parameters as the local test but targets your remote Cloud Run instance.
|
src/resources/idx/.idx/dev.nix
CHANGED
@@ -7,9 +7,7 @@
|
|
7
7
|
|
8
8
|
# Use https://search.nixos.org/packages to find packages
|
9
9
|
packages = [
|
10
|
-
pkgs.
|
11
|
-
pkgs.python311Packages.pip
|
12
|
-
pkgs.python311Packages.uv
|
10
|
+
pkgs.uv
|
13
11
|
pkgs.gnumake
|
14
12
|
pkgs.terraform
|
15
13
|
pkgs.gh
|
@@ -36,13 +34,8 @@
|
|
36
34
|
echo "Setting gcloud project..."
|
37
35
|
gcloud config set project $GOOGLE_CLOUD_PROJECT
|
38
36
|
|
39
|
-
echo "Creating Python virtual environment and installing packages..."
|
40
|
-
uv venv && uv pip install agent-starter-pack
|
41
|
-
echo "alias agent-starter-pack=\"~/$WS_NAME/.venv/bin/agent-starter-pack\"" >> ~/.bashrc
|
42
|
-
source ~/.bashrc
|
43
|
-
|
44
37
|
echo "Running agent starter pack creation..."
|
45
|
-
|
38
|
+
uvx agent-starter-pack create $AGENT_NAME
|
46
39
|
code ~/$WS_NAME/$AGENT_NAME/README.md
|
47
40
|
exec bash
|
48
41
|
'';
|