OSVauco/agents/core-logic/deploy_agent.py

51 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""
deploy_agent.py — Deploy ADK agent til Vertex AI Agent Engine
Usage: python3 deploy_agent.py [--project PROJECT_ID] [--region REGION] \
[--display-name DISPLAY_NAME] [--staging-bucket GS_URI]
Krever: google-cloud-aiplatform>=1.157.0, google-adk>=2.0.0
"""
import argparse
import sys
import vertexai
from vertexai import agent_engines # riktig import for SDK >= 1.157.0
def deploy(project: str, region: str, display_name: str, staging_bucket: str):
print(f"Initialiserer Vertex AI: project={project}, region={region}")
vertexai.init(project=project, location=region, staging_bucket=staging_bucket)
# Importer Jason ADK agent
sys.path.insert(0, ".")
import agent as my_agent
print(f"Deployer agent '{display_name}' til Vertex AI Agent Engine i {region}...")
remote_agent = agent_engines.create(
my_agent.root_agent,
requirements=[
"google-cloud-aiplatform[adk,agent_engines]>=1.157.0",
"google-adk>=2.2.0",
"httpx>=0.27.0",
"google-auth>=2.29.0",
],
display_name=display_name,
)
print(f"\n✅ Agent deployet!")
print(f" Resource name : {remote_agent.resource_name}")
print(f" Console : https://console.cloud.google.com/ai/agents?project={project}")
print(f" Region : {region}")
print("\n⚠️ Husk: kjør teardown når du er ferdig for å unngå unnødige kostnader.")
return remote_agent
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Deploy Jason ADK agent til Vertex AI")
parser.add_argument("--project", default="propane-will-491900-m5")
parser.add_argument("--region", default="us-central1")
parser.add_argument("--display-name", default="jason-vauger-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)