コンテキスト キャッシュを削除する

コンテキスト キャッシュを削除するには、キャッシュ ID、コンテキスト キャッシュが関連付けられている Google Cloud プロジェクト ID、コンテキスト キャッシュの作成リクエストが処理されたリージョンが必要です。コンテキスト キャッシュのキャッシュ ID は、コンテキスト キャッシュの作成時に返されます。コンテキスト キャッシュ リストコマンドを使用して、プロジェクトに関連付けられた各コンテキスト キャッシュのキャッシュ ID を取得することもできます。

コンテキスト キャッシュの削除例

次の例は、コンテキスト キャッシュを削除する方法を示しています。

Python

Vertex AI SDK for Python のインストールまたは更新方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Vertex AI SDK for Python API リファレンス ドキュメントをご覧ください。

ストリーミング レスポンスと非ストリーミング レスポンス

モデルがストリーミング レスポンスを生成するのか、非ストリーミング レスポンスを生成するのかについては、選択が可能です。ストリーミング レスポンスの場合、出力トークンが生成されるとすぐに各レスポンスが返されます。非ストリーミング レスポンスの場合、すべての出力トークンが生成された後にすべてのレスポンスが返されます。

ストリーミング レスポンスの場合は、generate_contentstream パラメータを使用します。

  response = model.generate_content(contents=[...], stream = True)
  

非ストリーミング レスポンスの場合は、パラメータを削除するか、パラメータを False に設定します。

サンプルコード

import vertexai

from vertexai.preview import caching

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# cache_id = "your-cache-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

cached_content = caching.CachedContent(cached_content_name=cache_id)
cached_content.delete()

Go

このサンプルを試す前に、Vertex AI クイックスタートの Go の設定手順を実施してください。詳細については、Vertex AI Go SDK for Gemini リファレンス ドキュメントをご覧ください。

Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。

ストリーミング レスポンスと非ストリーミング レスポンス

モデルがストリーミング レスポンスを生成するのか、非ストリーミング レスポンスを生成するのかについては、選択が可能です。ストリーミング レスポンスの場合、出力トークンが生成されるとすぐに各レスポンスが返されます。非ストリーミング レスポンスの場合、すべての出力トークンが生成された後にすべてのレスポンスが返されます。

ストリーミング レスポンスの場合は、GenerateContentStream メソッドを使用します。

  iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
  

非ストリーミング レスポンスの場合は、GenerateContent メソッドを使用します。

  resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
  

サンプルコード

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/vertexai/genai"
)

// deleteContextCache shows how to delete a cached content
// contentName is the ID of the cached content
func deleteContextCache(w io.Writer, contentName string, projectID, location string) error {
	// location := "us-central1"
	ctx := context.Background()

	client, err := genai.NewClient(ctx, projectID, location)
	if err != nil {
		return fmt.Errorf("unable to create client: %w", err)
	}
	defer client.Close()

	err = client.DeleteCachedContent(ctx, contentName)
	if err != nil {
		return fmt.Errorf("DeleteCachedContent: %w", err)
	}
	fmt.Fprintf(w, "Deleted cached content %q", contentName)
	return nil
}

REST

以下は、パブリッシャー モデルのエンドポイントに DELETE リクエストを送信して、REST を使用して Google Cloud プロジェクトに関連付けられたコンテキスト キャッシュを削除する方法を示しています。

リクエストのデータを使用する前に、次のように置き換えます。

HTTP メソッドと URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/cachedContents/CACHE_ID" | Select-Object -Expand Content

削除オペレーションが成功すると、レスポンスは空になります。

curl コマンドの例

LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"
CACHE_ID="CACHE_ID"

curl \
-X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/${CACHE_ID}

次のステップ