Compartir a través de


Extensión de Azure AI en Azure Database for PostgreSQL

SE APLICA A: Azure Database for PostgreSQL: 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

Puede que también quiera 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 IF NOT EXISTS 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 tener cuidado de 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 que se les conceda el rol de azure_ai_settings_manager. 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 compatible con Cognitive Services (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 compatible con Cognitive Services (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;