Men-deploy agen

Untuk men-deploy agen di Agent Engine:

  1. (Opsional) Menentukan persyaratan paket
  2. (Opsional) Tentukan file sumber
  3. (Opsional) Mengatur direktori Cloud Storage
  4. (Opsional) Menentukan metadata resource
  5. Membuat instance AgentEngine

Sebelum memulai

Sebelum men-deploy agen, pastikan Anda telah menyelesaikan tugas berikut:

  1. Menyiapkan lingkungan Anda
  2. Mengembangkan agen.

Langkah 1: Tentukan persyaratan paket

Berikan kumpulan paket yang diperlukan oleh agen agar dapat di-deploy. File ini dapat berupa daftar item yang akan diinstal oleh pip, atau jalur ke file yang mengikuti Format File Persyaratan.

Jika agen tidak memiliki dependensi, Anda dapat menyetelnya ke Tidak ada:

requirements = None

Jika agen menggunakan template khusus framework, Anda harus menentukan versi SDK yang diimpor (misalnya, 1.77.0) saat mengembangkan agen.

LangChain

requirements = [
    "google-cloud-aiplatform[agent_engines,langchain]",
    # any other dependencies
]

LangGraph

requirements = [
    "google-cloud-aiplatform[agent_engines,langgraph]",
    # any other dependencies
]

[Opsional] Batasan versi

Jika Anda ingin atau perlu menetapkan batas atas atau menyematkan versi paket tertentu (misalnya google-cloud-aiplatform):

requirements = [
    # See https://pypi.org/project/google-cloud-aiplatform for the latest version.
    "google-cloud-aiplatform[agent_engines,langgraph]==1.77.0",
]

Anda dapat menambahkan paket dan batasan tambahan ke daftar:

requirements = [
    "google-cloud-aiplatform[agent,langgraph]==1.75.0",
    "cloudpickle==3.0", # new
]

[Opsional] Cabang Pengembangan

Anda dapat mengarahkan ke versi paket yang ada di cabang GitHub atau permintaan pull, misalnya:

requirements = [
    "google-cloud-aiplatform[agent_engines,langchain] @ git+https://github.com/googleapis/python-aiplatform.git@BRANCH_NAME", # new
    "cloudpickle==3.0",
]

[Opsional] Format File Persyaratan

Anda dapat mempertahankan daftar persyaratan dalam file (misalnya, path/to/requirements.txt):

requirements = "path/to/requirements.txt"

dengan path/to/requirements.txt adalah file teks yang mengikuti Format File Persyaratan, misalnya:

google-cloud-aiplatform[agent_engines,langchain]
cloudpickle==3.0

Langkah 2: Paket tambahan

Anda dapat menyertakan file atau direktori lokal yang berisi file sumber Python lokal yang diperlukan. Dibandingkan dengan persyaratan paket, hal ini akan memungkinkan Anda menggunakan utilitas pribadi yang telah Anda kembangkan yang tidak tersedia di PyPI atau GitHub.

Jika agen tidak memerlukan paket tambahan, Anda dapat menetapkannya ke None:

extra_packages = None

[Opsional] File dan direktori

Untuk menyertakan satu file (misalnya, agents/agent.py), Anda dapat menambahkannya ke daftar:

extra_packages = ["agents/agent.py"]

Untuk menyertakan kumpulan file di seluruh direktori (misalnya agents/), Anda dapat menentukan direktori:

extra_packages = ["agents"] # directory that includes agents/agent.py

[Opsional] Biner roda

Anda dapat menyertakan biner roda Python (misalnya, path/to/python_package.whl) dan menentukannya dalam persyaratan paket:

requirements = [
    "google-cloud-aiplatform[agent,langgraph]",
    "cloudpickle==3.0",
    "python_package.whl",  # install from the whl file that was uploaded
]
extra_packages = ["path/to/python_package.whl"]  # bundle the whl file for uploading

Langkah 3: Direktori Cloud Storage

Artefak staging akan ditimpa jika sesuai dengan sub-bucket yang ada (folder di bucket Cloud Storage). Jika perlu, Anda dapat menentukan subbucket untuk artefak staging. Langkah ini bersifat opsional, dan Anda dapat menetapkannya ke None jika tidak keberatan untuk menimpa file di sub-bucket default:

gcs_dir_name = None

Untuk menghindari file ditimpa (misalnya, untuk lingkungan yang berbeda seperti dev, staging, prod), Anda dapat menyiapkan sub-bucket yang sesuai, dan menentukan sub-bucket untuk melakukan staging artefak, seperti:

gcs_dir_name = "dev" # or "staging" or "prod"

Jika ingin atau perlu menghindari konflik, Anda dapat membuat UUID acak, misalnya:

import uuid
gcs_dir_name = str(uuid.uuid4())

Langkah 4: Metadata resource

Anda dapat menetapkan metadata pada resource ReasoningEngine yang dibuat di Vertex AI, misalnya:

display_name = "Currency Exchange Rate Agent (Staging)"

description = """
An agent that has access to tools for looking up the exchange rate.

If you run into any issues, please contact the dev team.
"""

Untuk mengetahui kumpulan parameter lengkap, buka referensi API.

Langkah 5: Buat instance AgentEngine

Untuk men-deploy aplikasi di Vertex AI, gunakan agent_engines.create dan teruskan objek sebagai parameter:

remote_agent = agent_engines.create(
    local_agent,                    # Required.
    requirements=requirements,      # Optional.
    extra_packages=extra_packages,  # Optional.
    gcs_dir_name=gcs_dir_name,      # Optional.
    display_name=display_name,      # Optional.
    description=description,        # Optional.
)

Deployment memerlukan waktu beberapa menit untuk dijalankan. Saat men-deploy agen,

  1. Paket artefak dibuat secara lokal, yang terdiri dari:
    • *.pkl file pickle yang sesuai dengan local_agent.
    • requirements.txt file teks yang berisi persyaratan paket.
    • dependencies.tar.gz file tar yang berisi paket tambahan.
  2. Paket diupload ke Cloud Storage (di bagian sub-bucket yang sesuai) untuk melakukan staging artefak.
  3. URI Cloud Storage untuk masing-masing artefak ditentukan dalam PackageSpec.
  4. Layanan Agent Engine menerima permintaan, mem-build penampung, dan mengaktifkan server HTTP di backend.

Latensi deployment bergantung pada total waktu yang diperlukan untuk menginstal paket yang diperlukan. Setelah di-deploy, remote_agent sesuai dengan instance local_agent yang berjalan di Vertex AI dan dapat dikueri atau dihapus. Instance ini terpisah dari instance lokal agen.

Setiap agen yang di-deploy memiliki ID unik. Anda dapat menjalankan perintah berikut untuk mendapatkan ID resource_name untuk agen yang di-deploy:

remote_agent.resource_name

Praktik Terbaik

  1. Sematkan versi paket Anda (untuk build yang dapat direproduksi). Paket umum yang perlu dilacak mencakup: google-cloud-aiplatform, cloudpickle, langchain, langchain-core, langchain-google-vertexai, dan pydantic.
  2. Minimalkan jumlah dependensi dalam aplikasi Anda. Hal ini mengurangi jumlah perubahan yang menyebabkan error saat mengupdate dependensi dan mempermudah update aplikasi dari waktu ke waktu untuk fitur yang lebih baru.

Men-deploy dalam Produksi dengan Paket Awal Agen

Paket Awal Agen adalah kumpulan template agen AI generatif siap produksi yang dibuat untuk Vertex AI Agent Engine. Alat ini mempercepat deployment dengan menyediakan:

  • Template Agen Siap Pakai: ReAct, RAG, multi-agen, dan lainnya.
  • Interactive Playground: Menguji dan berinteraksi dengan agen Anda.
  • Infrastruktur Otomatis: Menggunakan Terraform untuk pengelolaan resource yang disederhanakan.
  • Pipeline CI/CD: Alur kerja deployment otomatis yang memanfaatkan Cloud Build.
  • Kemampuan observasi: Mencakup dukungan bawaan untuk Cloud Trace dan Cloud Logging.

Mulai: Panduan memulai

Langkah berikutnya