Compartir a través de


Extensión Azure AI en Azure Database for PostgreSQL: Servidor flexible

SE APLICA A: Azure Database for PostgreSQL con servidor flexible

La extensión de servidor flexible de Azure Database for PostgreSQL para Azure AI le permite usar modelos de lenguaje grandes (LLMS) y crear aplicaciones de IA generativas enriquecidas dentro de la base de datos.  La extensión de Azure AI permite que la base de datos llame a varios servicios de Azure AI, incluidos Azure OpenAI y Azure Cognitive Services, lo que simplifica el proceso de desarrollo y permite una integración sin problemas en esos servicios.

Habilitación de la extensión azure_ai

Para poder habilitar azure_ai en la instancia de servidor flexible de Azure Database for PostgreSQL, debe agregarla a la lista de permitidos, tal como se describe en cómo usar extensiones de PostgreSQL y comprobar si se ha agregado correctamente mediante la ejecución de SHOW azure.extensions;.

Sugerencia

También puede habilitar la extensión pgvector, ya que se usa normalmente con azure_ai.

A continuación, puede instalar la extensión mediante la conexión a la base de datos de destino y la ejecución del comando CREATE EXTENSION. Debe repetir el comando por separado para cada base de datos en la que quiera que la extensión esté disponible.

CREATE EXTENSION azure_ai;

Nota:

Para quitar la extensión de la base de datos conectada actualmente, use DROP EXTENSION azure_ai;.

La instalación de la extensión azure_ai crea los tres esquemas siguientes:

  • azure_ai: esquema principal donde reside la tabla de configuración y funciones para interactuar con ella.
  • azure_openai: funciones y tipos compuestos relacionados con OpenAI.
  • azure_cognitive: funciones y tipos compuestos relacionados con Cognitive Services.

La extensión también permite llamar a Azure OpenAI y Azure Cognitive Services.

Configuración de la extensión azure_ai

La configuración de la extensión requiere que proporcione los puntos de conexión para conectarse a los servicios de Azure AI y las claves de API necesarias para la autenticación. La configuración del servicio se almacena mediante las siguientes funciones:

Permisos

Las claves de acceso de Azure AI son similares a una contraseña raíz de la cuenta. Siempre debe proteger las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura. Para administrar las claves de servicio usadas por la extensión, los usuarios requieren el rol de azure_ai_settings_manager concedido. Las funciones siguientes requieren el rol:

  • azure_ai.set_setting
  • azure_ai.get_setting

El rol azure_ai_settings_manager se concede de forma predeterminada al rol azure_pg_admin.

azure_ai.set_setting

Se usa para establecer las opciones de configuración.

azure_ai.set_setting(key TEXT, value TEXT)

Argumentos

key

Nombre de una opción de configuración. Los valores válidos para key son:

  • azure_openai.endpoint: punto de conexión de OpenAI compatible (por ejemplo, https://example.openai.azure.com).
  • azure_openai.subscription_key: una clave de suscripción para un recurso de OpenAI.
  • azure_cognitive.endpoint: punto de conexión de Cognitive Services compatible (por ejemplo, https://example.cognitiveservices.azure.com).
  • azure_cognitive.subscription_key: una clave de suscripción para un recurso de Cognitive Services.
value

TEXT que representa el valor deseado de la configuración seleccionada.

azure_ai.get_setting

Se usa para obtener los valores actuales de las opciones de configuración.

azure_ai.get_setting(key TEXT)

Argumentos

Clave

Nombre de una opción de configuración. Los valores válidos para key son:

  • azure_openai.endpoint: punto de conexión de OpenAI compatible (por ejemplo, https://example.openai.azure.com).
  • azure_openai.subscription_key: una clave de suscripción para un recurso de OpenAI.
  • azure_cognitive.endpoint: punto de conexión de Cognitive Services compatible (por ejemplo, https://example.cognitiveservices.azure.com).
  • azure_cognitive.subscription_key: una clave de suscripción para un recurso de Cognitive Services.

Tipo de valor devuelto

TEXT que representa el valor actual de la configuración seleccionada.

azure_ai.version

azure_ai.version()

Tipo de valor devuelto

TEXT que representa la versión actual de la extensión de Azure AI.

Ejemplos

Establecimiento del punto de conexión y una clave de API para Azure OpenAI

select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com'); 
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>'); 

Obtención del punto de conexión y la clave de API para Azure OpenAI

select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');

Comprobación de la versión de la extensión de Azure AI

select azure_ai.version();

Permisos

La extensión azure_ai define un rol denominado azure_ai_settings_manager, que permite leer y escribir la configuración relacionada con la extensión. Solo los superusuarios y los miembros del rol azure_ai_settings_manager pueden invocar las funciones azure_ai.get_settings y azure_ai.set_settings. En el servidor flexible de Azure Database for PostgreSQL, todos los usuarios administradores tienen asignado el rol azure_ai_settings_manager.

Actualización de la extensión Azure AI

Las versiones más recientes de la extensión pueden introducir nuevas funcionalidades y actualizaciones locales de la extensión. Puede comparar la versión instalada actualmente con la versión más reciente permitida mediante el comando SQL:

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

Para actualizar una extensión instalada a la versión más reciente disponible compatible con Azure, use el siguiente comando SQL:

ALTER EXTENSION azure_ai UPDATE;

Pasos siguientes