Solo pasarela de API de DataPower

gemini-invocar

Draft comment: abeesh.thomas@ibm.com
Review pending This is the CLI version.
Utilice la política de invocación ' Gemini ' para invocar operaciones ' Gemini.

Soporte de pasarela

Tabla 1. Tabla que muestra qué puertas de enlace admiten esta política y la versión correspondiente de la misma
Pasarela Versión de política
DataPower® API Gateway 2.0.0

En este tema se describe cómo configurar la política en la fuente de datos de « OpenAPI »; para obtener más información sobre cómo configurar la política en la interfaz de usuario del ensamblado, consulte «Gemini invoke ».

Acerca de

La política de invocación " Gemini " da acceso a seis operaciones " Gemini ":
  • POST models/[model]:generateContent
  • POST models/[model]:countTokens
  • POST models/[model]:embedContent
  • POST models/[model]:batchEmbedContents
  • GET models/[model]
  • GET models

Propiedades

En la tabla siguiente se listan las propiedades de política, se indica si se requiere una propiedad, y se especifica los valores válidos y predeterminados para la entrada, así como el tipo de datos de los valores.

Tabla 2. Gemini acceder a las propiedades de la política
Nombre de propiedad Obligatorio Descripción Tipo de datos
version El número de versión de la política. Debe especificar una versión para la política que sea compatible con la pasarela que está utilizando. Cuando se publica la API, si la versión es incompatible con la pasarela, se lanza un error de validación que especifica las versiones disponibles. serie
title Nee El título de la política; el valor por defecto es ' Gemini invoke count tokens. serie
description Nee Una descripción de la política. serie
operation La operación ' Gemini ' a invocar; debe ser una de las siguientes operaciones:
  • POST models/[model]:generateContent

    Una operación HTTP POST para generateContent. Consulte la sección «Generación de contenido» de la documentación de la Gemini API para ver ejemplos de solicitudes y respuestas.

  • POST models/[model]:countTokens

    Una operación HTTP POST para /countTokens. Consulte la sección «Recuento de tokens» en la documentación de la Gemini API para ver ejemplos de solicitudes y respuestas.

  • POST models/[model]:embedContent

    Una operación HTTP POST para embedContent. Consulte la sección «Incrustar contenido» de la documentación de la Gemini API para ver ejemplos de solicitudes y respuestas.

  • POST models/[model]:batchEmbedContents

    Una operación HTTP POST para batchEmbedContents. Consulte «Incrustar contenido por lotes» en la documentación Gemini de la API para ver ejemplos de solicitudes y respuestas.

  • GET models

    Una operación HTTP GET para /models. Consulte la sección «List Models» de la documentación de la Gemini API para ver ejemplos de respuestas.

  • GET models/[model]

    Una operación HTTP GET para /models/[model]. Consulte «Recuperar modelo» en la documentación Gemini de la API para ver ejemplos de respuestas.

serie
api_key La clave API, o una referencia variable a la variable que contiene una clave API. La clave API se utiliza para autenticar las solicitudes de ' Gemini '. serie
enable_cache Nee La caché de respuesta está activada por defecto para optimizar el rendimiento de la API; sin embargo, puede desactivarla si es necesario para su API.

Cuando la caché de respuesta está activada, cuando se envía una solicitud al servicio " Gemini ", se inspecciona la caché de respuesta para determinar si la carga útil de la solicitud tiene una respuesta en caché asociada. Si es así, esa respuesta almacenada en caché y sus cabeceras de respuesta HTTP asociadas se colocan en el mensaje de contexto API GatewayDataPower especificado por la propiedad output.

Si no hay respuesta en caché, la solicitud se pasa al servicio " Gemini ", y la respuesta se almacena en caché para operaciones posteriores utilizando el tiempo de vida especificado en la propiedad " cache_ttl.

booleano
cache_ttl Nee La duración de la caché (el tiempo de vida). La duración mínima es de 60 segundos y la duración máxima es de 86400 segundos (1 día) -- cualquier valor fuera de ese rango fallará la validación cuando se publique la API, incluso si el valor es aceptado en este campo. entero
cache_scope Nee Una cadena que añade unicidad a la clave utilizada para almacenar una respuesta en caché. La adición de un ámbito de caché permite guardar la misma solicitud en varias entradas de caché. serie
parámetros_de_ruta Nee Para las operaciones que tienen un parámetro de ruta designado con un nombre de parámetro de ruta entre corchetes en la operación, especifique el nombre del parámetro y el valor separados por dos puntos. Si la operación tiene más de un parámetro de ruta, cada designación de parámetro de ruta debe separarse con una coma. Por ejemplo, para la operación " GET models/[model], la propiedad del parámetro de ruta se especificaría como " model:somename.
Nota: Si se requiere un parámetro de ruta para la operación seleccionada pero no se ha proporcionado, la operación de invocación fallará. Sin embargo, para las operaciones que no requieren un parámetro de ruta, se ignorará cualquier parámetro de ruta proporcionado.
serie
parámetros_consulta Nee Para las operaciones que admiten parámetros de consulta, especifique una cadena de parámetros de consulta que especifique el nombre del parámetro y el valor separados por un carácter de signo igual. Si se admite más de un parámetro de consulta, cada parámetro de consulta se separaría con un carácter ampersand. Las operaciones admitidas en este momento no admiten parámetros de consulta, aunque las operaciones que podrían admitirse en el futuro admitirían parámetros de consulta. serie
output Nee El nombre del mensaje de contexto de API Gateway " DataPower " que recibe la respuesta " Gemini ". Por defecto, esta propiedad utiliza ' message como valor, lo que permite que la respuesta sea accesible por políticas API posteriores en ' message.body y ' message.headers. serie

Ejemplo


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