Reasoning Engine API には次の制限事項があります。
- Reasoning Engine API は、Python コードのみのデプロイをサポートしています。
- Reasoning Engine API は
us-central1
リージョンでのみサポートされています。
始める前に
このチュートリアルを実行する前に、次の手順を実施してください。
ReasoningEngine
インスタンスを作成する
Vertex AI にアプリケーションをデプロイするには、ReasoningEngine.create
を使用してオブジェクトをパラメータとして渡します。アプリケーションにパッケージの依存関係を導入するには、次のパラメータを使用します。
requirements
: 外部 PyPI パッケージの依存関係のリスト。1 行に 1 つの文字列を記述します。詳細については、要件ファイルの形式をご覧ください。extra_packages
: 内部パッケージの依存関係のリスト。これらのパッケージの依存関係は、アプリケーションに必要なローカル Python パッケージに対応するローカル ファイルまたはディレクトリです。
次のコードは、アプリケーションをデプロイする方法を示しています。
remote_app = reasoning_engines.ReasoningEngine.create(
reasoning_engines.LangchainAgent(
model=model,
tools=[get_exchange_rate],
model_kwargs=model_kwargs,
),
requirements=[
"google-cloud-aiplatform[reasoningengine,langchain]",
],
display_name="DISPLAY_NAME", # Optional.
)
remote_app
アプリケーションのデプロイが完了するまでに数分かかります。コンテナをビルドし、バックエンドで HTTP サーバーを起動します。デプロイのレイテンシは、必要なパッケージのインストールにかかった合計時間によって異なります。
デプロイされると、remote_app
は Vertex AI で実行されている reasoning_engines.LangchainAgent
のインスタンスに対応し、クエリまたは削除が可能になります。reasoning_engines.LangchainAgent
のローカル インスタンスとは別のものです。
デプロイされた各アプリケーションには一意の識別子があります。次のコマンドを実行して、アプリケーションの resource_name
識別子を取得します。
remote_app.resource_name
resource_name
は projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID の形式です。
ベスト プラクティス
- パッケージ バージョンを固定します(再現可能なビルドの場合)。追跡する一般的なパッケージには、
google-cloud-aiplatform
、cloudpickle
、langchain
、langchain-core
、langchain-google-vertexai
、pydantic
などがあります。 - アプリ内の依存関係の数を最小限に抑えます。これにより、依存関係を更新する際の破壊的変更の数を減らし、新しい機能のためにアプリケーションを随時更新しやすくなります。