Descripción de la extensión de Azure AI

Completado

La extensión azure_ai es una herramienta de gran eficacia creada por el equipo de Microsoft Postgres que proporciona una integración sin problemas entre la instancia de servidor flexible de Azure Database for PostgreSQL y varios Servicios de Azure AI. Esta integración simplifica el proceso de desarrollo y le permite incorporar características de inteligencia artificial en sus aplicaciones sin ningún esfuerzo.

Puede acceder a distintos Servicios de Azure AI (como el procesamiento del lenguaje natural, el análisis de texto y los modelos de lenguaje de IA generativa) desde las consultas SQL mediante una simple llamada a función. Esta extensión le permite usar la eficacia de Azure AI y Machine Learning para agregar análisis y conclusiones avanzados a las aplicaciones sin salir de la base de datos de PostgreSQL.

La extensión facilita la integración de Azure OpenAI, Servicios de Azure AI y Azure Machine Learning en la base de datos. En general, la extensión azure_ai es un punto de inflexión para los desarrolladores que buscan agregar características de IA generativa a sus aplicaciones. Sus funcionalidades enriquecidas y la integración sin problemas con los servicios de Azure AI y Machine Learning simplifican el proceso de desarrollo y le permiten crear aplicaciones avanzadas de inteligencia artificial directamente dentro de la base de datos de PostgreSQL.

Qué es la extensión azure_ai

La extensión azure_ai proporciona un conjunto completo de herramientas que pueden mejorar la funcionalidad de una base de datos de PostgreSQL mediante la integración de Azure AI y Machine Learning Services. Con la extensión azure_ai, puede incorporar funcionalidades de IA generativa en la base de datos sin ningún problema. Esta extensión le permite crear contenido nuevo basado en la información existente. Estas herramientas incluyen una colección de esquemas, funciones definidas por el usuario (UDF) y tipos compuestos que se pueden integrar sin problemas en cualquier base de datos de PostgreSQL. Al aprovechar la eficacia de los Servicios de Azure AI, puede beneficiarse del análisis avanzado, el aprendizaje automático y otras funcionalidades controladas por IA para obtener información más detallada y tomar mejores decisiones. Con la extensión azure_ai, PostgreSQL, puede descubrir un nivel totalmente nuevo de funcionalidad y rendimiento. La extensión proporciona tres integraciones de servicios principales:

Servicios de Azure AI

La extensión permite que la base de datos llame a varios Servicios de Azure AI para extraer información de los datos, como el resumen de texto, la traducción y la extracción de entidades. Estos servicios simplifican el proceso de desarrollo, lo que hace que la integración de características de inteligencia artificial en las aplicaciones sea más accesible.

Azure OpenAI

La integración de Azure OpenAI Service le permite invocar a la API de Azure OpenAI directamente desde la base de datos para generar inserciones vectoriales. En combinación con la extensión vector, puede almacenar las inserciones generadas directamente en la base de datos de PostgreSQL. Estas inserciones posibilitan funcionalidades de gran eficacia, como la búsqueda semántica, las recomendaciones y la detección de anomalías.

Azure Machine Learning

La extensión le permite conectarse a Azure Machine Learning para realizar la inferencia. Puede usar un modelo de Machine Learning entrenado para realizar predicciones o generar salidas basadas en datos nuevos no vistos.

Habilitación de la extensión azure_ai

Para poder usar la extensión azure_ai, esta debe estar permitida y haberse instalado con la base de datos:

  1. Configuración de la lista de permitidos: agregue la extensión a la lista de permitidos mediante la ejecución de SHOW azure.extensions;.
  2. Instalación: conéctese a la base de datos de destino y ejecute el siguiente comando para instalar la extensión:
CREATE EXTENSION IF NOT EXISTS azure_ai;

Creación de esquemas

Una vez instalada, la extensión crea cuatro esquemas dentro de la base de datos:

Esquema Descripción
azure_ai Contiene la tabla de configuración y las funciones para interactuar con la extensión.
azure_cognitive Contiene funciones y tipos compuestos relacionados con Azure Cognitive Services.
azure_ml Contiene funciones relacionadas con la inferencia de Azure Machine Learning.
azure_openai Contiene las funciones relacionadas con Azure OpenAI.

Configuración de la extensión

La extensión crea la tabla azure_ai.settings, que es fundamental para configurar y administrar los valores de la extensión. La tabla hospeda de forma segura los valores de punto de conexión y clave relacionados con los Servicios de Azure AI que se integran en la base de datos. Para configurar la extensión, proporcione los puntos de conexión y las claves de API necesarios para la autenticación.

  1. Valores de configuración:

    • La función azure_ai.set_setting() le permite establecer diversos valores de configuración para los servicios de Azure AI. Puede asignar valores a claves específicas mediante esta función.
    • Por ejemplo, puede establecer el punto de conexión de Azure OpenAI y proporcionar la clave de suscripción correspondiente mediante los siguientes comandos:
    SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
    SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
    
  2. Recuperación de la configuración:

    • La función azure_ai.get_setting() le permite recuperar los valores que ha establecido previamente mediante set_setting().
    • Especifique la clave de la configuración que quiere ver y la función devuelve el valor asociado.
    • Por ejemplo, para comprobar los valores escritos en la tabla de configuración, use:
    SELECT azure_ai.get_setting('azure_openai.endpoint');
    SELECT azure_ai.get_setting('azure_openai.subscription_key');
    

Claves de acceso y seguridad

Las claves de acceso de Azure AI son similares a las contraseñas raíz de la cuenta. Es fundamental manejarlas con cuidado. El mejor enfoque es usar Azure Key Vault para administrar y rotar las claves.

Los usuarios que necesiten administrar las claves de servicio utilizadas por la extensión deben tener el rol azure_ai_settings_manager en la base de datos. Entre las funciones que requieren este rol se incluyen azure_ai.set_setting() y azure_ai.get_setting().

¿Cómo funciona la extensión azure_ai?

Este es un ejemplo rápido de lo fácil que es usar la extensión azure_ai en un servidor flexible de Azure Database for PostgreSQL:

  • Generación de inserciones: para crear inserciones, llame a una función definida por el usuario (UDF) insertada desde SQL. Por ejemplo:

    SELECT azure_openai.create_embeddings('text-embedding-ada-002', 'Learn about building intelligent applications with azure_ai extension and vector');
    
  • Servicios de lenguaje: ¿necesita un análisis de sentimiento? Es tan simple como una llamada a UDF desde SQL:

    SELECT a.* FROM azure_cognitive.analyze_sentiment('The GenAI session was awesome', 'en') a;
    
  • Características adicionales: puede agregar columnas vectoriales a las tablas, crear índices de mundo pequeño navegable jerárquico (HNSW) y realizar búsquedas semánticas, todo ello gracias a la extensión azure_ai.