azure_ai extensión en Azure Database for PostgreSQL

La extensión azure_ai en Azure Database for PostgreSQL permite el uso en base de datos de modelos de lenguaje grandes (LLM) para crear aplicaciones de IA generativas. Permite que la base de datos llame a Azure OpenAI en modelos Microsoft Foundry, Azure OpenAI Service, Azure Cognitive Services (Azure Language in Foundry Tools) y Azure Machine Learning Services, simplificando el desarrollo a través de una integración perfecta con estos servicios.

Habilitación de la extensión azure_ai

Para poder usar la extensión azure_ai, debe incluirla en la lista de permitidos y, a continuación, instalarla en la instancia de Azure Database for PostgreSQL. Siga los pasos que se indican a continuación para empezar.

Lista de permitidos de la extensión

Agregue azure_ai a la lista de permisos del servidor flexible de Azure Database para PostgreSQL tal como se describe en cómo usar las extensiones de PostgreSQL. Compruebe que se ha agregado correctamente mediante la ejecución de la SHOW azure.extensions; consulta.

Instalación de la extensión

Conéctese a la base de datos y ejecute el CREATE EXTENSION comando :

CREATE EXTENSION IF NOT EXISTS azure_ai;

Repita este comando para cada base de datos donde se requiera la extensión.

Al instalar azure_ai, crea los esquemas siguientes:

  • azure_ai: esquema principal para la configuración y las funciones relacionadas
  • azure_openai: funciones y tipos para Azure OpenAI en Modelos Foundry y Modelos OpenAI en Microsoft Foundry
  • azure_cognitive: funciones y tipos para Azure Cognitive Services (Azure Language in Foundry Tools)
  • azure_ml: funciones y tipos para Azure Machine Learning Services

Sugerencia

También puede habilitar y usar el pgvector en Azure Database for PostgreSQL ya que se usa habitualmente con azure_ai.

Nota:

Para quitar la extensión de la base de datos actual, ejecute DROP EXTENSION azure_ai;.

Configuración de la extensión azure_ai

Para configurar la extensión, proporcione puntos de conexión y detalles de autenticación (clave de API o identidad administrada) para los servicios de inteligencia artificial y aprendizaje automático Azure que quiera usar. Use la azure_ai.set_setting función de configuración con varias claves de configuración para almacenar estos valores.

Permissions

La extensión define un rol azure_ai_settings_manager que concede permiso para leer y escribir valores de configuración mediante las azure_ai.set_getting funciones y azure_ai.set_setting . Solo los superusuarios y los miembros de este rol pueden usar estas funciones. En Azure Database for PostgreSQL Flexible Server, el rol azure_pg_admin asigna automáticamente este rol.

Funciones de configuración

azure_ai_set_setting

Establece la configuración de IA y aprendizaje automático.

Uso:

-- Syntax
azure_ai.set_setting(key TEXT, value TEXT)

-- Usage example: Set the Endpoint and an API Key for 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>');

Lista de claves y valores de configuración admitidos:

key value
azure_openai.endpoint Punto de conexión admitido de OpenAI (por ejemplo, https://example.openai.azure.com).
azure_openai.auth_type subscription-key o managed-identity
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.auth_type subscription-key o managed-identity
azure_cognitive.subscription_key Una clave de suscripción para un recurso de Cognitive Services.
azure_ml.scoring_endpoint Se admite Machine Learning URI de punto de conexión en línea.
azure_ml.auth_type subscription-key o managed-identity
azure_ml.endpoint_key Una clave de punto de conexión para un endpoint de Azure Machine Learning.

azure_ai.get_setting

Obtiene los valores de configuración actuales de un determinado key (consulte las claves admitidas en la lista anterior). Devuelve TEXT que representa el valor actual de la configuración seleccionada.

Uso:

-- Syntax
azure_ai.get_setting(key TEXT)

-- Usage example: Get the Endpoint and API Key for Azure OpenAI
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');

azure_ai.version

Devuelve TEXT que representa la versión actual de la azure_ai extensión.

Uso:

SELECT azure_ai.version()

Habilitación de la autenticación de identidad administrada

La extensión azure_ai para Azure Database for PostgreSQL admite la identidad administrada asignada por el sistema (SAMI), que ofrece ventajas de seguridad mejoradas. Mediante el uso de Microsoft Entra ID, puede autenticarse sin claves de acceso, lo que reduce el riesgo de acceso no autorizado y simplifica la administración de credenciales.

Para habilitar la autenticación de identidad administrada, consulte esta guía paso a paso.

Funcionalidades de la azure_ai extensión

Funciones de IA

La extensión azure_ai habilita llamadas desde la base de datos a modelos hospedados en Foundry y Azure OpenAI a través de las siguientes funciones AI (versión preliminar):

Capacidades adicionales

La extensión también admite la invocación

Actualización de la extensión ai + machine learning

Para comprobar la versión instalada y las actualizaciones disponibles, ejecute:

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

Para actualizar la extensión a la versión compatible más reciente, ejecute:

ALTER EXTENSION azure_ai UPDATE;