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;