Solo pasarela de API de DataPower

Azure openai-invoke

Utilice la política de invocación Azure OpenAI para invocar operaciones Azure OpenAI .

Soporte de pasarela

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

Este tema describe cómo configurar la política en el código fuente OpenAPI fuente; para obtener más información sobre cómo configurar la política en la interfaz de usuario del ensamblador, consulte Azure openai invoke.

Acerca de

La política de invocación Azure OpenAI proporciona acceso a cuatro operaciones Azure OpenAI :
  • POST /chat/completions
  • POST /embeddings
  • GET /models
  • GET /models/[model-id]

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. Azure OpenAI Propiedades de política invoke
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 Azure OpenAI invocar finalizaciones de chat. serie
description Nee Una descripción de la política. serie
operation La operación Azure OpenAI a invocar; debe ser una de las siguientes operaciones:
  • POST /chat/completions

    Una operación POST HTTP para /chat/completions. Consulte Crear finalización de chat en la documentación de Azure OpenAI para ver ejemplos de solicitud y respuesta.

  • POST embeddings

    Una operación POST HTTP para /embeddings. Consulte Crear incrustaciones en la documentación de Azure OpenAI para ver ejemplos de solicitud y respuesta.

  • GET models

    Una operación GET de HTTP para /models. Consulte Modelos de listas en la documentación de OpenAI para ver ejemplos de respuestas.

  • GET models/[model]

    Una operación GET de HTTP para /models/[model]. Consulte el modelo Retrieve en la documentación de Azure OpenAI para ver ejemplos de respuestas.

serie
api_key La clave API, o una referencia a la variable que contiene una clave API. La clave API se utiliza para autenticar las solicitudes de Azure OpenAI . serie
deployment_id Nombre del proyecto/despliegue en Azure donde se despliega el modelo. serie
resource_id Sirve como parte de endpoint de URL que apunta a sus recursos provisionados. 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 OpenAI , 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 contextoDataPower API Gateway especificado por la propiedad output .

Si no hay respuesta en caché, la solicitud se pasa al servicio OpenAI , 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
op-version Nee La versión de la operación especifica la versión de la operación OpenAI (como finalizaciones, chat/completaciones, incrustaciones) a la que se aplica la política. Se define utilizando el formato AAAA-MM-DD.  
path_params 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 path 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 sí lo harían. serie
output Nee El nombre del mensaje de contexto DataPower API Gateway que recibe la respuesta OpenAI . Por defecto, esta propiedad utiliza message como valor, lo que permite que la respuesta sea accesible por políticas de API posteriores en message.body y message.headers. serie

Ejemplo


azure-openai-invoke:
          title: Azure-OpenAI invoke policy
          description: Azure-OpenAI invoke policy desc
          api_key: keyvalue
          deployment_id: $(dep-id)
          resource_id: $(res-id)
          operation: POST chat/completions
          op-version: $(azure-op-version)
          path_params:  
          enable_cache: true
          cache_ttl: 60
          cache_scope: azureScope
          output: request
          version: 2.0.0