Integración de modelos de inteligencia artificial y servicios externos de forma segura

Completado

SQL Server 2025 proporciona compatibilidad nativa para conectarse a servicios y modelos de INTELIGENCIA ARTIFICIAL externos directamente desde T-SQL. Esta integración elimina la complejidad de administrar una infraestructura independiente al tiempo que mantiene los estándares de seguridad y cumplimiento de nivel empresarial.

La capacidad de conectar SQL Server a servicios de inteligencia artificial externos significa que puede usar modelos de Azure OpenAI, modelos ONNX personalizados o cualquier punto de conexión de IA basado en REST sin mover los datos de la base de datos. Este enfoque mantiene los datos seguros, reduce la latencia y simplifica la arquitectura de la aplicación mediante la centralización de operaciones de inteligencia artificial dentro de la plataforma de datos.

Conexión a modelos de IA externos mediante api REST

SQL Server 2025 se basa en el procedimiento almacenado del sp_invoke_external_rest_endpoint sistema (introducido en SQL Server 2022) para habilitar la integración con los servicios de inteligencia artificial. Esta funcionalidad le permite llamar a las API REST directamente desde T-SQL para la integración con servicios de inteligencia artificial como Azure OpenAI, Microsoft Foundry y puntos de conexión de IA personalizados sin salir del contexto de la base de datos.

Invocación de puntos de conexión REST para la inferencia de IA

El patrón básico para llamar a un servicio de inteligencia artificial externo implica construir una carga JSON y enviarlo a un punto de conexión REST:

DECLARE @url NVARCHAR(4000) = N'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';
DECLARE @payload NVARCHAR(MAX) = JSON_OBJECT('input': N'SQL Server 2025 AI capabilities');
DECLARE @response NVARCHAR(MAX);
DECLARE @ret INT;

EXEC @ret = sp_invoke_external_rest_endpoint
    @url = @url,
    @method = 'POST',
    @credential = [MyAzureOpenAICredential],
    @payload = @payload,
    @response = @response OUTPUT;

-- Extract the embedding from the response
DECLARE @embedding VECTOR(1536) = JSON_QUERY(@response, '$.result.data[0].embedding');
SELECT @embedding AS generated_embedding;

Este código envía una cadena de texto al punto de conexión de inserción de Azure OpenAI y recupera una inserción de vectores. El sp_invoke_external_rest_endpoint procedimiento controla la autenticación mediante una credencial con ámbito de base de datos, ejecuta la solicitud HTTP y devuelve la respuesta como JSON. A continuación, el embebido se extrae mediante JSON_QUERY y se convierte al tipo de datos vectorial para el almacenamiento o el procesamiento posterior.

Uso de credenciales de base de datos de forma segura

Para llamar a servicios externos de forma segura, puede crear credenciales con ámbito de base de datos que almacenen información de autenticación:

-- Create a credential for Azure OpenAI
CREATE DATABASE SCOPED CREDENTIAL [MyAzureOpenAICredential]
WITH IDENTITY = 'HTTPEndpointHeaders',
SECRET = '{"api-key":"your-api-key-here"}';

Esta credencial almacena la clave de API de forma segura en SQL Server y se puede hacer referencia a ella en llamadas de punto de conexión REST. La credencial está cifrada y solo es accesible para los usuarios autorizados, lo que garantiza que la información confidencial de autenticación no se expone en el código de la aplicación.

Administración de modelos de IA externos con CREATE EXTERNAL MODEL

SQL Server 2025 presenta una sintaxis nueva para administrar las definiciones de modelos de IA directamente en la base de datos. La CREATE EXTERNAL MODEL instrucción permite definir puntos de conexión de modelo, métodos de autenticación y propósitos de forma centralizada y reutilizable.

Definición de objetos de modelo externos

Cree un objeto de modelo externo para encapsular los detalles de conexión de un servicio de IA:

CREATE EXTERNAL MODEL Ada2Embeddings
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'text-embedding-ada-002',
    CREDENTIAL = [MyAzureOpenAICredential]
);

Esto crea una definición de modelo reutilizable denominada Ada2Embeddings que apunta a un modelo de inserción de Azure OpenAI. Al definir el modelo una vez, puede usarlo en toda la base de datos sin repetir los detalles de la conexión, lo que facilita el mantenimiento y reduce el riesgo de errores de configuración.

Generación de incrustaciones mediante modelos externos

Una vez definido un modelo externo, puede usarlo con la AI_GENERATE_EMBEDDINGS función :

DECLARE @text NVARCHAR(MAX) = N'SQL Server 2025 enables AI-powered applications';
DECLARE @embedding VECTOR(1536) = AI_GENERATE_EMBEDDINGS(@text USE MODEL Ada2Embeddings);

INSERT INTO documents (title, content, embedding)
VALUES (N'Getting Started', @text, @embedding);

Este código genera una inserción para el texto proporcionado mediante el modelo Ada2Embeddings y lo almacena en la tabla de documentos. La AI_GENERATE_EMBEDDINGS función abstrae la complejidad de realizar llamadas REST y analizar respuestas, lo que proporciona una manera sencilla y nativa de SQL para generar inserciones.

Modificación y eliminación de modelos externos

Puede actualizar o quitar definiciones de modelos externos a medida que cambien los requisitos:

-- Alter an existing external model
ALTER EXTERNAL MODEL Ada2Embeddings
SET LOCATION = 'https://newendpoint.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';

-- Drop an external model when no longer needed
DROP EXTERNAL MODEL Ada2Embeddings;

La ALTER EXTERNAL MODEL instrucción permite actualizar las configuraciones del modelo sin volver a crear objetos dependientes. Cuando ya no se necesita un modelo, DROP EXTERNAL MODEL quita la definición limpiamente de la base de datos.

Implementación de patrones de autenticación segura

Al integrar con servicios externos, SQL Server 2025 proporciona varios mecanismos de autenticación para garantizar un acceso seguro y compatible a los servicios de INTELIGENCIA ARTIFICIAL.

Uso de identidades administradas con Microsoft Entra

Las identidades administradas eliminan la necesidad de almacenar credenciales mediante la infraestructura de identidad de Azure. Con SQL Server habilitado por Azure Arc, puede usar identidades administradas para conexiones entrantes y salientes:

-- Create a credential using managed identity
CREATE DATABASE SCOPED CREDENTIAL [AzureOpenAIManagedIdentity]
WITH IDENTITY = 'Managed Identity';

-- Use the managed identity credential with external models
CREATE EXTERNAL MODEL SecureEmbeddingModel
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'text-embedding-ada-002',
    CREDENTIAL = [AzureOpenAIManagedIdentity]
);

Este enfoque usa la identidad administrada asignada a la instancia de SQL Server para la autenticación, lo que elimina la necesidad de administrar las claves de API o las contraseñas. La plataforma Azure controla la rotación de credenciales y la administración de acceso, lo que reduce los riesgos de seguridad y la sobrecarga administrativa.

Integración con Foundry Tools

SQL Server 2025 se integra con el conjunto completo de herramientas de Foundry, lo que permite escenarios de inteligencia artificial directamente desde la base de datos.

Conexión al servicio Azure OpenAI

Azure OpenAI proporciona acceso a modelos de lenguaje como GPT-4, GPT-3.5 e inserción de modelos:

-- Create a model for GPT-4
CREATE EXTERNAL MODEL GPT4Model
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'gpt-4',
    CREDENTIAL = [MyAzureOpenAICredential]
);

-- Use GPT-4 for text generation via REST endpoint
DECLARE @prompt NVARCHAR(MAX) = JSON_OBJECT(
    'messages': JSON_ARRAY(
        JSON_OBJECT('role': 'system', 'content': 'You are a helpful assistant'),
        JSON_OBJECT('role': 'user', 'content': 'Explain vector search in simple terms')
    )
);
DECLARE @response NVARCHAR(MAX);

EXEC sp_invoke_external_rest_endpoint
    @url = N'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
    @method = 'POST',
    @credential = [MyAzureOpenAICredential],
    @payload = @prompt,
    @response = @response OUTPUT;

SELECT JSON_VALUE(@response, '$.result.choices[0].message.content') AS ai_response;

En este ejemplo se crea una definición de modelo externo para GPT-4 y se muestra cómo llamar a la API de finalización del chat. La respuesta se analiza mediante funciones JSON para extraer el texto generado por ia, que luego se puede usar en la lógica de la aplicación o almacenarla para su uso posterior.

Uso de Microsoft Foundry

Microsoft Foundry proporciona una plataforma completa para crear, entrenar e implementar modelos de inteligencia artificial personalizados que abordan requisitos empresariales específicos más allá de lo que pueden ofrecer los modelos de uso general. Aunque Azure OpenAI proporciona acceso a modelos previamente entrenados, como GPT-4 y text-embeding-ada-002, Microsoft Foundry le permite crear modelos especializados entrenados en sus datos propietarios, terminología específica del sector y casos de uso únicos.

La integración entre SQL Server 2025 y Microsoft Foundry permite incorporar inteligencia específica del dominio directamente a los datos sin movimiento o sincronización de datos. Por ejemplo, puede entrenar un modelo de clasificación personalizado para clasificar las incidencias de soporte técnico al cliente en función de los servicios y productos específicos de su empresa, o crear un modelo de análisis de sentimiento optimizado para los patrones de lenguaje del sector. Una vez implementados en Microsoft Foundry, estos modelos se vuelven accesibles a través de la misma CREATE EXTERNAL MODEL sintaxis que se usa para Azure OpenAI.

-- Connect to a custom classification model in Microsoft Foundry
CREATE EXTERNAL MODEL CustomClassifier
WITH (
    LOCATION = 'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'classifier',
    CREDENTIAL = [AzureAIFoundryCredential]
);

-- Use the custom model for domain-specific predictions
DECLARE @input_text NVARCHAR(MAX) = N'Customer reports slow query performance in production database';
DECLARE @request NVARCHAR(MAX) = JSON_OBJECT('input': @input_text);
DECLARE @response NVARCHAR(MAX);

EXEC sp_invoke_external_rest_endpoint
    @url = N'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
    @method = 'POST',
    @credential = [AzureAIFoundryCredential],
    @payload = @request,
    @response = @response OUTPUT;

-- Extract classification result
SELECT JSON_VALUE(@response, '$.result.category') AS ticket_category,
       JSON_VALUE(@response, '$.result.priority') AS priority_level;

Este enfoque le permite mantener un único origen de verdad para los datos en SQL Server mientras usa funcionalidades de inteligencia artificial que comprenden su contexto empresarial específico. La ventaja se extiende más allá de la comodidad técnica: al mantener los datos en SQL Server y llamar a modelos de inteligencia artificial a través de puntos de conexión de API seguros, se mantiene un control total sobre la gobernanza de datos, el cumplimiento y las directivas de acceso. Los datos empresariales confidenciales nunca necesitan dejar la infraestructura de la base de datos, pero todavía puede aplicar modelos de inteligencia artificial entrenados para comprender sus requisitos únicos.

Implementación de modelos de ONNX

Open Neural Network Exchange (ONNX) es un estándar abierto para representar modelos de aprendizaje automático. SQL Server 2025 admite el entorno de ejecución de ONNX, lo que le permite implementar modelos personalizados localmente.

Uso del entorno de ejecución de ONNX para la inferencia local

Los modelos ONNX se pueden ejecutar directamente en SQL Server sin dependencias externas:

-- Reference a local ONNX model file
CREATE EXTERNAL MODEL LocalSentimentModel
WITH (
    LOCATION = 'C:\Models\sentiment_analysis',
    API_FORMAT = 'ONNX Runtime',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'sentiment-model',
    LOCAL_RUNTIME_PATH = 'C:\onnx_runtime\'
);

Este enfoque se adapta a los escenarios en los que necesita inferencia de baja latencia, quiere evitar llamadas de red externas o tener requisitos de cumplimiento que impidan que los datos salgan de la infraestructura. LOCATION debe apuntar al directorio que contiene los archivos model.onnx y tokenizer.json, mientras que LOCAL_RUNTIME_PATH apunta al directorio que contiene los archivos DLL del entorno de ejecución de ONNX.

Aplicación de procedimientos recomendados de seguridad

Al integrar los servicios de INTELIGENCIA ARTIFICIAL con SQL Server, siga estas directrices de seguridad:

Control de acceso con permisos

Conceda permisos a objetos de modelo externos cuidadosamente:

-- Grant permission to use an external model
GRANT EXECUTE ON EXTERNAL MODEL::Ada2Embeddings TO AIApplicationUser;

-- Revoke permissions when no longer needed
REVOKE EXECUTE ON EXTERNAL MODEL::Ada2Embeddings FROM AIApplicationUser;

Estas instrucciones controlan qué usuarios y roles pueden usar modelos externos específicos, lo que permite un control de acceso específico sobre las funcionalidades de inteligencia artificial.

Habilitación de la auditoría y la supervisión

Seguimiento de las operaciones de inteligencia artificial para el cumplimiento y la solución de problemas:

-- Create an audit specification for external REST endpoint calls
CREATE SERVER AUDIT SPECIFICATION TrackAIOperations
FOR SERVER AUDIT [MyServerAudit]
ADD (DATABASE_OBJECT_ACCESS_GROUP);

La auditoría captura todas las interacciones con modelos externos y puntos de conexión REST, lo que proporciona visibilidad sobre los patrones de uso de inteligencia artificial y los requisitos de cumplimiento compatibles.

Al implementar estos patrones de integración seguros, puede implementar soluciones con tecnología de inteligencia artificial con SQL Server 2025 que cumplan los requisitos de seguridad, cumplimiento y gobernanza empresariales.