39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
deploy_agent.py — Deploy ADK agent to Gemini Enterprise Agent Platform (Agent Runtime)
|
|
Usage: python3 deploy_agent.py --project PROJECT_ID --region REGION \
|
|
--display-name DISPLAY_NAME --staging-bucket GS_URI
|
|
"""
|
|
|
|
import argparse
|
|
import vertexai
|
|
from vertexai.preview import agent_engines # SDK v1.112.0+ client-based design
|
|
|
|
|
|
def deploy(project: str, region: str, display_name: str, staging_bucket: str):
|
|
vertexai.init(project=project, location=region, staging_bucket=staging_bucket)
|
|
|
|
from agents.core_logic import agent as my_agent # adjust import path
|
|
|
|
print(f"Deploying agent '{display_name}' to Agent Runtime in {region}...")
|
|
remote_agent = agent_engines.create(
|
|
my_agent.root_agent,
|
|
requirements=["google-cloud-aiplatform[adk,agent_engines]>=1.112.0"],
|
|
display_name=display_name,
|
|
)
|
|
print(f"Agent deployed. Resource name: {remote_agent.resource_name}")
|
|
print(f"Console: https://console.cloud.google.com/ai/agents?project={project}")
|
|
print("REMINDER: Run 03-teardown.sh at end of day to stop billing.")
|
|
return remote_agent
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--project", default="propane-will-491900-m5")
|
|
parser.add_argument("--region", default="us-central1")
|
|
parser.add_argument("--display-name", default="oavauco-agent-v1")
|
|
parser.add_argument("--staging-bucket",
|
|
default="gs://propane-will-491900-m5-agent-staging")
|
|
args = parser.parse_args()
|
|
deploy(args.project, args.region, args.display_name, args.staging_bucket)
|