gemini-invoke
Use the Gemini invoke policy to invoke Gemini operations.
Gateway support
Gateway | Policy version |
---|---|
DataPower® API Gateway | 2.0.0 |
This topic describes how to configure the policy in your OpenAPI source; for details on how to configure the policy in the assembly user interface, see Gemini invoke.
About
POST models/[model]:generateContent
POST models/[model]:countTokens
POST models/[model]:embedContent
POST models/[model]:batchEmbedContents
GET models/[model]
GET models
Properties
The following table lists the policy properties, indicates whether a property is required, specifies the valid and default values for input, and specifies the data type of the values.
Property name | Required | Description | Data type |
---|---|---|---|
version | Yes | The policy version number. You must specify a version for the policy that is compatible with the gateway that you are using. When the API is published, if the version is incompatible with the gateway, a validation error is thrown that specifies the available versions. | string |
title | No | The title of the policy; the default value is Gemini invoke count tokens. | string |
description | No | A description of the policy. | string |
operation | Yes | The Gemini operation to invoke; must be one of the following operations:
|
string |
api_key | Yes | The API key, or a variable reference to the variable that contains an API key. The API key is used to authenticate Gemini requests. | string |
enable_cache | No | Response caching is enabled by default to optimize API performance; however, you can disable
it if needed for your API. When response caching is enabled, then when a request is sent to the Gemini service, the response cache is inspected to determine if the request payload has an associated cached response. If so, that cached response and its associated HTTP response headers are placed into theDataPower API Gateway context message specified by the output property. If there is no cached response, the request is passed to the Gemini service, and the response is cached for subsequent operations using the time-to-live specified in the cache_ttl property. |
boolean |
cache_ttl | No | The duration of the cache (the time-to-live). The minimum duration is 60 seconds and the maximum duration is 86400 seconds (1 day) -- any value outside of that range will fail validation when the API is published, even if the value is accepted in this field. | integer |
cache_scope | No | A string that adds uniqueness to the key used to store a cached response. Adding a cache scope enables the same request to be saved in multiple cache entries. | string |
path_params | No | For operations that have a path parameter designated with a path parameter name in square
brackets in the operation, specify the name of the parameter and the value separated by a colon. If
the operation has more that one path parameter, each path parameter designation should be separated
with a comma. For example, for operation GET models/[model] , the path parameter
property would be specified as model:somename .Note: If a path parameter is required
for the operation selected but was not provided, the invoke operation will fail. However, for
operations that don't require a path parameter, any provided path parameter will be
ignored.
|
string |
query_params | No | For operations that support query parameters, specify a query parameter string that specifies the name of the parameter and value separated with an equal sign character. If more than one query parameter is supported, each query parameter would be separated with an ampersand character. The supported operations at this time do not support query parameters, although operations that could be supported in the future would support query parameters. | string |
output | No | The name of the DataPower API Gateway
context message that receives the Gemini response. By default, this property
uses message as the value, which enables the response to be accessible by
subsequent API policies in message.body and
message.headers . |
string |
Example
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