Somente DataPower API Gateway

gemini-invoke

Use a política de invocação " Gemini para invocar operações " Gemini.

Suporte de gateway

Tabela 1. Tabela mostrando quais gateways suportam a política e a versão da política correspondente
Gateway Versão da política
DataPower® API Gateway 2.0.0

Este tópico descreve como configurar a política no código-fonte OpenAPI; para obter detalhes sobre como configurar a política na interface de usuário do assembly, consulte Invocação do Gemini.

Sobre

A política de invocação " Gemini fornece acesso a seis operações " Gemini:
  • POST models/[model]:generateContent
  • POST models/[model]:countTokens
  • POST models/[model]:embedContent
  • POST models/[model]:batchEmbedContents
  • GET models/[model]
  • GET models

Propriedades

A tabela a seguir lista as propriedades de política, indica se uma propriedade é necessária, especifica os valores válidos e padrão para entrada e especifica o tipo de dados dos valores.

Tabela 2. Gemini Propriedades da política invoke
Nome da Propriedade Necessário Descrição Tipo de dados
version True O número da versão da política. É necessário especificar uma versão da política que seja compatível com o gateway que você está usando. Quando a API for publicada, se a versão for incompatível com o gateway, será gerado um erro de validação que especifica as versões disponíveis. sequência
title Não O título da política; o valor padrão é ' Gemini invocar tokens de contagem. sequência
description Não Uma descrição da política. sequência
operation True A operação ' Gemini a ser invocada; deve ser uma das seguintes operações:
  • POST models/[model]:generateContent

    Uma operação HTTP POST para generateContent. Consulte Geração de conteúdo na documentação da API ' Gemini para ver exemplos de solicitações e respostas.

  • POST models/[model]:countTokens

    Uma operação HTTP POST para /countTokens. Consulte Contagem de tokens na documentação da API ' Gemini para obter exemplos de solicitações e respostas.

  • POST models/[model]:embedContent

    Uma operação HTTP POST para embedContent. Consulte Embed Content na documentação da API ' Gemini para obter exemplos de solicitação e resposta.

  • POST models/[model]:batchEmbedContents

    Uma operação HTTP POST para batchEmbedContents. Consulte Batch Embed Content na documentação da API ' Gemini para ver exemplos de solicitação e resposta.

  • GET models

    Uma operação HTTP GET para /models. Consulte List Models na documentação da API ' Gemini para obter exemplos de respostas.

  • GET models/[model]

    Uma operação HTTP GET para /models/[model]. Consulte Retrieve model na documentação da API ' Gemini para obter exemplos de respostas.

sequência
api_key True A chave de API ou uma referência de variável para a variável que contém uma chave de API. A chave de API é usada para autenticar solicitações " Gemini. sequência
enable_cache Não O cache de respostas é ativado por padrão para otimizar o desempenho da API; no entanto, você pode desativá-lo se necessário para a sua API.

Quando o cache de resposta está ativado, quando uma solicitação é enviada ao serviço " Gemini, o cache de resposta é inspecionado para determinar se a carga útil da solicitação tem uma resposta em cache associada. Em caso afirmativo, essa resposta em cache e seus cabeçalhos de resposta HTTP associados são colocados na mensagem de contexto do DataPower API Gateway especificada pela propriedade output.

Se não houver resposta em cache, a solicitação será passada para o serviço ' Gemini e a resposta será armazenada em cache para operações subsequentes usando o tempo de vida especificado na propriedade ' cache_ttl.

booleano
cache_ttl Não A duração do cache (o tempo de vida). A duração mínima é de 60 segundos e a duração máxima é de 86400 segundos (1 dia). Qualquer valor fora desse intervalo falhará na validação quando a API for publicada, mesmo que o valor seja aceito nesse campo. número inteiro
cache_scope Não Uma cadeia de caracteres que adiciona exclusividade à chave usada para armazenar uma resposta em cache. A adição de um escopo de cache permite que a mesma solicitação seja salva em várias entradas de cache. sequência
parâmetros_do_caminho Não Para operações que têm um parâmetro de caminho designado com um nome de parâmetro de caminho entre colchetes na operação, especifique o nome do parâmetro e o valor separado por dois pontos. Se a operação tiver mais de um parâmetro de caminho, cada designação de parâmetro de caminho deverá ser separada por vírgula. Por exemplo, para a operação " GET models/[model], a propriedade do parâmetro de caminho seria especificada como " model:somename.
Observação: se um parâmetro de caminho for necessário para a operação selecionada, mas não tiver sido fornecido, a operação de invocação falhará. No entanto, para operações que não exigem um parâmetro de caminho, qualquer parâmetro de caminho fornecido será ignorado.
sequência
parâmetros_de_consulta Não Para operações que suportam parâmetros de consulta, especifique uma string de parâmetro de consulta que especifique o nome do parâmetro e o valor separados por um caractere de sinal de igual. Se houver suporte para mais de um parâmetro de consulta, cada parâmetro de consulta deverá ser separado por um caractere e comercial. As operações suportadas no momento não suportam parâmetros de consulta, embora as operações que possam ser suportadas no futuro suportem parâmetros de consulta. sequência
output Não O nome da mensagem de contexto API Gateway ' DataPower que recebe a resposta ' Gemini. Por padrão, essa propriedade usa " message como valor, o que permite que a resposta seja acessível por políticas de API subsequentes em " message.body e " message.headers. sequência

Exemplo


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