Agent Engine の移行ガイド

Vertex AI SDK のバージョン v1.112.0 では、Vertex AI SDK for Python 内の agent_engines モジュールがクライアント ベースの設計にリファクタリングされました。

このページでは、モジュールの主な変更点と、クライアント ベースの設計に既存のコードを移行する方法について説明します。

Agent Engine の一般的な情報については、概要をご覧ください。

主な変更点

大まかに言うと、サービス クライアント パラメータはクライアントごとに初期化され、クライアントにはサービス インタラクションに関連するモジュールが含まれます。

まとめると次のようになります。

import vertexai
from vertexai import agent_engines

vertexai.init(project=GCP_PROJECT, location=GCP_REGION)
agent_engines.create(...)

に置き換えられます。

import vertexai

client = vertexai.Client(project=GCP_PROJECT, location=GCP_REGION)
client.agent_engines.create(...)

Vertex AI SDK の Vertex AI Agent Engine の次の名前空間は、非推奨フェーズに入っています。クライアント ベースの Vertex AI SDK の同等の名前空間を使用します。この SDK には、非推奨のモジュールとパッケージと同等の機能がすべて備わっています。

Vertex AI SDK 名前空間 影響を受けるコード クライアントベースの Vertex AI SDK の置き換え
vertexai.agent_engines 影響を受けるメソッド:
  • vertexai.agent_engines.create
  • vertexai.agent_engines.get
  • vertexai.agent_engines.list
  • vertexai.agent_engines.update
  • vertexai.agent_engines.delete
置き換え:
  • client.agent_engines.create
  • client.agent_engines.get
  • client.agent_engines.list
  • client.agent_engines.update
  • client.agent_engines.delete
client.agent_engines 影響を受けるメソッド:
  • client.agent_engines.create_memory
  • client.agent_engines.delete_memory
  • client.agent_engines.generate_memories
  • client.agent_engines.get_memory
  • client.agent_engines.list_memories
  • client.agent_engines.retrieve_memories
  • client.agent_engines.create_session
  • client.agent_engines.delete_session
  • client.agent_engines.get_session
  • client.agent_engines.list_sessions
  • client.agent_engines.append_session_event
  • client.agent_engines.list_session_events
置き換え:
  • client.agent_engines.memories.create
  • client.agent_engines.memories.delete
  • client.agent_engines.memories.generate
  • client.agent_engines.memories.get
  • client.agent_engines.memories.list
  • client.agent_engines.memories.retrieve
  • client.agent_engines.sessions.create
  • client.agent_engines.sessions.delete
  • client.agent_engines.sessions.get
  • client.agent_engines.sessions.list
  • client.agent_engines.sessions.events.append
  • client.agent_engines.sessions.events.list

クライアントベースの設計に移行する

このセクションでは、既存の Agent Engine コードをクライアント ベースの設計に移行する方法を示すコード スニペットを紹介します。

Agent Engine インスタンスを作成する

import vertexai
from vertexai import agent_engines

vertexai.init(
  project=PROJECT,
  location=LOCATION,
  staging_bucket=STAGING_BUCKET,
)
agent_engines.create(
    local_agent,
    requirements=REQUIREMENTS,
    extra_packages=EXTRA_PACKAGES,
    # ...
)

import vertexai

client = vertexai.Client(
  project=PROJECT,
  location=LOCATION,
)
client.agent_engines.create(
    agent=local_agent,
    config={
        "staging_bucket": STAGING_BUCKET,
        "requirements": REQUIREMENTS,
        "extra_packages": EXTRA_PACKAGES,
        # ...
    },
)

Agent Engine インスタンスを更新する

import vertexai
from vertexai import agent_engines

vertexai.init(
  project=PROJECT,
  location=LOCATION,
  staging_bucket=STAGING_BUCKET,
)
agent_engines.update(
    resource_name,
    agent_engine=local_agent,
    requirements=REQUIREMENTS,
    extra_packages=EXTRA_PACKAGES,
    # ...
)

import vertexai

client = vertexai.Client(
  project=PROJECT,
  location=LOCATION,
)
client.agent_engines.update(
    name=resource_name,
    agent=local_agent,
    config={
        "staging_bucket": STAGING_BUCKET,
        "requirements": REQUIREMENTS,
        "extra_packages": EXTRA_PACKAGES,
        # ...
    },
)

Agent Engine インスタンスの取得

import vertexai
from vertexai import agent_engines

vertexai.init(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = agent_engines.get(resource_name)

import vertexai

client = vertexai.Client(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = client.agent_engines.get(name=resource_name)

Agent Engine インスタンスの一覧表示

import vertexai
from vertexai import agent_engines

vertexai.init(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = agent_engines.list()

import vertexai

client = vertexai.Client(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = client.agent_engines.list()

エージェント エンジン インスタンスを削除する

import vertexai
from vertexai import agent_engines

vertexai.init(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = agent_engines.list()

import vertexai

client = vertexai.Client(
  project=PROJECT,
  location=LOCATION,
)
agent_engine = client.agent_engines.list()