DataPower API Gateway のみ

ジェミニ・インヴォーク

Gemini呼び出しポリシーを使って「Geminiオペレーションを呼び出す。

ゲートウェイのサポート

表 1. このポリシーをサポートするゲートウェイと、対応するポリシーのバージョンを示す表
ゲートウェイ ポリシーのバージョン
DataPower® API Gateway 2.0.0

このトピックでは、OpenAPIソースでポリシーを設定する方法について説明します。アセンブリユーザインタフェースでポリシーを設定する方法の詳細については、Gemini invokeを参照してください。

製品情報

Gemini呼び出しポリシーは、6つの「Gemini操作へのアクセスを提供する:
  • POST models/[model]:generateContent
  • POST models/[model]:countTokens
  • POST models/[model]:embedContent
  • POST models/[model]:batchEmbedContents
  • GET models/[model]
  • GET models

プロパティ-

以下の表に、このポリシーのプロパティーをリストします。表には、プロパティーが必須かどうか、入力用の有効な値とデフォルト値、および値のデータ型が示されています。

表 2. Gemini invoke ポリシーのプロパティー
プロパティー名 必須 説明 データ・タイプ
version はい ポリシーのバージョン番号。 使用しているゲートウェイと互換性のあるポリシーのバージョンを指定する必要があります。 APIが公開されるとき、バージョンがゲートウェイと互換性がない場合、利用可能なバージョンを指定する検証エラーが投げられる。 ストリング
title いいえ ポリシーのタイトル。デフォルト値は 'Geminiinvoke count tokens です。 ストリング
description いいえ ポリシーの説明。 ストリング
operation はい 呼び出す'Gemini操作は、以下の操作のいずれかでなければならない:
  • POST models/[model]:generateContent

    generateContent に対する HTTP POST操作。 リクエストとレスポンスの例については、'GeminiAPI ドキュメントのGenerating Contentを参照のこと。

  • POST models/[model]:countTokens

    /countTokens に対する HTTP POST操作。 リクエストとレスポンスのサンプル例については、'GeminiAPI ドキュメントの「トークンのカウント」を参照のこと。

  • POST models/[model]:embedContent

    embedContent に対する HTTP POST操作。 リクエストとレスポンスのサンプル例については、'GeminiAPIドキュメントのEmbed Contentを参照してください。

  • POST models/[model]:batchEmbedContents

    batchEmbedContents に対する HTTP POST操作。 リクエストとレスポンスの例については、'GeminiAPI ドキュメントのBatch Embed Contentを参照してください。

  • GET models

    /models に対する HTTP GET操作。 レスポンスの例については、'GeminiAPI ドキュメントの List Modelsを参照のこと。

  • GET models/[model]

    /models/[model] に対する HTTP GET操作。 レスポンスの例については、'GeminiAPI ドキュメントのRetrieve modelを参照ください。

ストリング
api_key はい APIキー、またはAPIキーを含む変数への変数参照。 APIキーは'Geminiリクエストの認証に使用される。 ストリング
enable_cache いいえ レスポンス・キャッシュは、APIのパフォーマンスを最適化するためにデフォルトで有効になっています。

レスポンスキャッシュが有効になっている場合、リクエストが「Geminiサービ スに送られると、リクエストペイロードに関連するキャッシュされたレスポンスが あるかどうかを判断するために、レスポンスキャッシュが検査される。 その場合、キャッシュされたレスポンスとそれに関連する HTTP レスポンス・ヘッダは、 output プロパティで指定された DataPower API Gateway コンテキスト・メッセージに配置される。

キャッシュされた応答がない場合、リクエストは 'Geminiサービスに渡され、応答は 'cache_ttlプロパティで指定されたtime-to-liveを使用して、その後の操作のためにキャッシュされる。

ブール値
cache_ttl いいえ キャッシュの有効期間(time-to-live)。 最小継続時間は60秒、最大継続時間は86400秒(1日)である。この範囲外の値は、たとえこのフィールドで値が受け入れられたとしても、API公開時にバリデーションに失敗する。 整数
cache_scope いいえ キャッシュされたレスポンスを保存するためのキーに一意性を持たせるための文字列。 キャッシュスコープを追加することで、同じリクエストを複数のキャッシュエント リに保存することができる。 ストリング
パス・パラメータ いいえ 操作の中で、パス・パラメータ名を角括弧で囲んで指定したパス・パラメータを持つ操作では、パラメータ名と値をコロンで区切って指定する。 操作に複数のパスパラメータがある場合、各パスパラメータの指定はカンマで区切らなければならない。 例えば、操作「GET models/[model]、パスパラメータプロパティは「model:somename」と指定される。
注意:選択した操作にパス・パラメーターが必要であるにもかかわらず提供されなかった場合、呼び出し操作は失敗する。 しかし、パス・パラメータを必要としない操作では、指定されたパス・パラメータは無視される。
ストリング
クエリパラム いいえ クエリ・パラメータをサポートする操作の場合は、パラメータ名と値を等号で区切ったクエリ・パラメータ文字列を指定する。 複数のクエリーパラメーターがサポートされている場合、各クエリーパラメーターはアンパサンド文字で区切られる。 現時点でサポートされているオペレーションはクエリーパラメーターをサポートしていないが、将来サポートされる可能性のあるオペレーションはクエリーパラメーターをサポートするだろう。 ストリング
output いいえ Geminiレスポンスを受け取る 'DataPower API Gatewayコンテキストメッセージの名前。 デフォルトでは、このプロパティは値として'messageを使用し、'message.bodyと'message.headersの後続のAPIポリシーで応答がアクセスできるようにします。 ストリング


gemini-invoke:
                    title: Gemini invoke count tokens
                    enable_cache: true
                    version: 2.0.0
                    api_key: $(gemini-apikey)
                    cache_ttl: 60
                    operation: POST models/[model]:countTokens
                    output: message
                    description: description goes here               
                    cache_scope: cachescopevalue