OSVauco/agents/core-logic/deploy_agent.py

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)