Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
Base de datos SQL en Microsoft Fabric
En este artículo se proporciona información general sobre el uso de opciones de inteligencia artificial (AI), como OpenAI y vectores, para crear aplicaciones inteligentes con la SQL Motor de base de datos en SQL Server y Azure SQL Managed Instance.
Para Azure SQL Database y SQL Database en Fabric, consulte Aplicaciones inteligentes e IA.
Para obtener muestras y ejemplos, visite el repositorio SQL AI Samples.
Información general
Los modelos de lenguaje grande (LLM) permiten a los desarrolladores crear aplicaciones con tecnología de inteligencia artificial con una experiencia de usuario conocida.
El uso de LLM en aplicaciones aporta un mayor valor y una experiencia de usuario mejorada cuando los modelos pueden acceder a los datos adecuados, en el momento adecuado, desde la base de datos de la aplicación. Este proceso se conoce como Generación aumentada de recuperación (RAG) y sql Motor de base de datos tiene muchas características que admiten este nuevo patrón, lo que lo convierte en una base de datos excelente para crear aplicaciones inteligentes.
Los vínculos siguientes proporcionan código de ejemplo de varias opciones para compilar aplicaciones inteligentes:
| Opción de IA | Description |
|---|---|
| SQL MCP Server | Interfaz estable y regulada para la base de datos, que define un conjunto de herramientas y configuración. |
| Azure OpenAI | Genere incrustaciones para RAG e integre con cualquier modelo compatible con Azure OpenAI. |
| Vectores | Obtenga información sobre cómo almacenar vectores y usar funciones vectoriales en la base de datos. |
| Búsqueda de Azure AI | Usa tus bases de datos junto con Búsqueda de Azure AI para entrenar modelos de lenguaje grande (LLM) con tus datos. |
| Aplicaciones inteligentes | Aprenda a crear una solución de un extremo a otro mediante un patrón común que se pueda replicar en cualquier escenario. |
SQL MCP Server en aplicaciones de IA
SQL MCP Server se encuentra directamente en la ruta de acceso de datos de los agentes de inteligencia artificial.
- A medida que los modelos generan solicitudes, el servidor proporciona una interfaz estable y controlada a la base de datos.
- En lugar de exponer el esquema sin procesar o confiar en SQL generado, enruta todo el acceso a través de un conjunto definido de herramientas respaldado por la configuración.
Este enfoque mantiene la predicción de las interacciones y garantiza que todas las operaciones se alinean con los permisos y la estructura que defina. Para obtener más información, consulte aka.ms/sql/mcp.
Al separar el razonamiento de la ejecución, los modelos se centran en la intención, mientras que SQL MCP Server controla cómo esa intención se convierte en consultas válidas. Dado que el área expuesta está restringida y se describe, los agentes pueden detectar funcionalidades disponibles, comprender las entradas y salidas, y operar sin adivinar. Este diseño reduce los errores y elimina la necesidad de ingeniería compleja de avisos para compensar la ambigüedad del esquema.
Para los desarrolladores, este enfoque significa que la inteligencia artificial puede participar de forma segura en cargas de trabajo reales.
Ustedes pueden:
- Definir entidades una vez
- Aplicación de roles y restricciones
A continuación, la plataforma:
- Aplica entidades, roles y restricciones de forma coherente
- Crea una base confiable para las aplicaciones controladas por agentes a través de datos SQL.
La misma configuración que impulsa REST y GraphQL también rige MCP, por lo que no hay duplicación de reglas ni lógicas. Para obtener más información, consulte aka.ms/dab/docs.
Conceptos clave para implementar RAG con Azure OpenAI
En esta sección se incluyen conceptos clave que son fundamentales para implementar RAG con Azure OpenAI en sql Motor de base de datos.
Generación aumentada por recuperación (RAG)
RAG es una técnica que mejora la capacidad de LLM para generar respuestas relevantes e informativas mediante la recuperación de datos adicionales de orígenes externos. Por ejemplo, RAG puede consultar artículos o documentos que contengan conocimientos específicos del dominio relacionados con la pregunta o petición del usuario. A continuación, LLM puede usar estos datos recuperados como referencia al generar su respuesta. Por ejemplo, un patrón RAG simple mediante sql Motor de base de datos podría ser:
- Insertar datos en una tabla.
- Vincule la instancia a Búsqueda de Azure AI.
- Cree un modelo Azure OpenAI GPT-4 y conéctelo a Búsqueda de Azure AI.
- Chatea y formula preguntas sobre tus datos utilizando el modelo de Azure OpenAI entrenado desde tu aplicación y con los datos de tu instancia.
El patrón RAG, con ingeniería de indicaciones, sirve para aumentar la calidad de las respuestas al ofrecer más información contextual al modelo. RAG permite al modelo aplicar una knowledge base más amplia al incorporar orígenes externos relevantes en el proceso de generación, lo que da lugar a respuestas más completas e informadas. Para obtener más información sobre la conexión a tierra de los LLM, consulte Grounding LLMs - Microsoft Community Hub.
Indicaciones e ingeniería de indicaciones
Un mensaje es texto o información específicos que actúa como una instrucción para un modelo de lenguaje grande (LLM) o como datos contextuales en los que el LLM puede basarse. Una solicitud puede adoptar varias formas, como una pregunta, una instrucción o incluso un fragmento de código.
Los mensajes de ejemplo que puede usar para generar una respuesta a partir de un LLM incluyen:
- Instrucciones: proporcionar directivas al LLM
- Contenido principal: proporciona información al LLM para su procesamiento
- Ejemplos: ayuda a condicionar el modelo a una tarea o proceso determinado
- Indicaciones: dirija la salida de LLM en la dirección correcta.
- Contenido auxiliar: representa información complementaria que el LLM puede usar para generar la salida.
El proceso de creación de buenas solicitudes para un escenario se denomina ingeniería de mensajes. Para obtener más información sobre los prompts y las mejores prácticas para la ingeniería de prompts, consulte Técnicas de ingeniería de prompts.
Tokens
Los tokens son pequeños fragmentos de texto que se generan al dividir el texto de entrada en segmentos más pequeños. Estos segmentos pueden ser palabras o grupos de caracteres, que varían en longitud de un solo carácter a una palabra completa. Por ejemplo, la palabra hamburger se divide en tokens como ham, bury ger mientras que una palabra corta y común como pear se considera un único token.
En Azure OpenAI, la API tokeniza el texto de entrada. El número de tokens procesados en cada solicitud de API depende de factores como la longitud de los parámetros de entrada, salida y solicitud. La cantidad de tokens que se procesan también afecta al tiempo de respuesta y al rendimiento de los modelos. Cada modelo tiene límites en el número de tokens que puede tomar en una sola solicitud y respuesta de Azure OpenAI. Para obtener más información, consulte Azure OpenAI en los modelos de cuotas y límites de Fundición de IA de Azure.
Vectors
Los vectores son matrices ordenadas de números (normalmente floats) que pueden representar información sobre algunos datos. Por ejemplo, una imagen se puede representar como un vector de valores de píxeles o una cadena de texto se puede representar como un vector de valores ASCII. El proceso para convertir los datos en un vector se denomina vectorización. Para obtener más información, vea Ejemplos de vectores.
Trabajar con datos vectoriales es más fácil con la introducción del tipo de datos vectorial y las funciones vectoriales.
Incrustaciones
Las incrustaciones son vectores que representan características importantes de los datos. Las incrustaciones a menudo se aprenden mediante un modelo de aprendizaje profundo y los modelos de aprendizaje automático e inteligencia artificial los usan como características. Las incrustaciones también pueden capturar la similitud semántica entre conceptos similares. Por ejemplo, al generar una representación embebida para las palabras person y human, puede esperar que sus vectores embebidos sean similares en valor, ya que las palabras también son semánticamente similares.
Azure OpenAI ofrece modelos para crear embeddings a partir de datos de texto. El servicio divide el texto en tokens y genera incrustaciones mediante modelos entrenados previamente por OpenAI. Para obtener más información, consulte Inserciones de Azure OpenAI en modelos de Fundición de IA de Azure.
Búsqueda de vectores
La búsqueda vectorial es el proceso de buscar todos los vectores en un conjunto de datos que son semánticamente similares a un vector de consulta específico. Por lo tanto, un vector de consulta para la palabra human busca en todo el diccionario palabras semánticamente similares y debe encontrar la palabra person como una coincidencia cercana. Esta proximidad, o distancia, se mide mediante una métrica de similitud, como la similitud de coseno. Los vectores más cercanos están en similitud, cuanto menor sea la distancia entre ellos.
Considere un escenario en el que se ejecuta una consulta en millones de documentos para buscar los documentos más similares en los datos. Puede crear incrustaciones para los datos y consultar documentos mediante Azure OpenAI. A continuación, puede realizar una búsqueda vectorial para buscar los documentos más similares del conjunto de datos. Sin embargo, realizar una búsqueda de vectores en algunos ejemplos es trivial. Realizar esta misma búsqueda en miles o millones de puntos de datos resulta difícil. También hay inconvenientes entre los métodos de búsqueda exhaustivos y los métodos de búsqueda vecinos más cercanos (ANN), incluida la latencia, el rendimiento, la precisión y el costo. Todas estas ventajas y desventajas dependen de los requisitos de la aplicación.
Puede almacenar y consultar vectores de consulta de forma eficaz en el Motor de base de datos SQL, como se describe en las secciones siguientes. Esta funcionalidad permite la búsqueda de vecinos más cercana exacta con un gran rendimiento. No tienes que decidir entre precisión y velocidad: puedes tener ambos. El almacenamiento de incrustaciones de vectores junto con los datos de una solución integrada minimiza la necesidad de administrar la sincronización de datos y acelera el tiempo de comercialización para el desarrollo de aplicaciones de IA.
Azure OpenAI
La inserción es el proceso de representar el mundo real como datos. Puede convertir texto, imágenes o sonidos en incrustaciones. Los modelos Azure de OpenAI pueden transformar la información real en embeddings. Puede acceder a los modelos como puntos de conexión REST, por lo que puede utilizarlos fácilmente desde el motor de base de datos SQL mediante el procedimiento almacenado del sistema sp_invoke_external_rest_endpoint. Este procedimiento está disponible a partir de SQL Server 2025 (17.x) y Azure SQL Managed Instance configurados con el Always-up-to-date update policy.
DECLARE @retval AS INT,
@response AS NVARCHAR (MAX),
@payload AS NVARCHAR (MAX);
SET @payload = JSON_OBJECT('input':@text);
EXECUTE
@retval = sp_invoke_external_rest_endpoint
@url = 'https://<openai-url>/openai/deployments/<model-name>/embeddings?api-version = 2023-03-15-preview',
@method = 'POST',
@credential = [https://<openai-url>/openai/deployments/<model-name>],
@payload = @payload,
@response = @response OUTPUT;
DECLARE @e AS VECTOR(1536) = JSON_QUERY(@response, '$.result.data[0].embedding');
El uso de una llamada a un servicio REST para obtener incrustaciones es solo una de las opciones de integración que tiene al trabajar con SQL Managed Instance y OpenAI. Puede permitir que cualquiera de los modelos available acceda a los datos almacenados en sql Motor de base de datos para crear soluciones en las que los usuarios puedan interactuar con los datos, como el ejemplo siguiente:
Para obtener ejemplos adicionales sobre el uso de Azure SQL y OpenAI, consulte los siguientes artículos, que también se aplican a SQL Server y Azure SQL Managed Instance:
- Generar imágenes con Azure OpenAI Service (DALL-E) y Azure SQL
- Uso de puntos de conexión REST de OpenAI con Azure SQL
Ejemplos de vectores
El tipo de datos vectorial dedicado almacena eficazmente los datos vectoriales e incluye un conjunto de funciones para ayudar a los desarrolladores a simplificar la implementación de búsqueda de vectores y similitudes. Puede calcular la distancia entre dos vectores en una línea de código mediante la nueva VECTOR_DISTANCE función. Para obtener más información y ejemplos, vea Vector search and vector indexes in the SQL Motor de base de datos.
Por ejemplo:
CREATE TABLE [dbo].[wikipedia_articles_embeddings_titles_vector]
(
[article_id] [int] NOT NULL,
[embedding] [vector](1536) NOT NULL,
)
GO
SELECT TOP(10)
*
FROM
[dbo].[wikipedia_articles_embeddings_titles_vector]
ORDER BY
VECTOR_DISTANCE('cosine', @my_reference_vector, embedding)
Búsqueda de Azure AI
Implemente patrones RAG mediante el motor de base de datos de SQL y Azure Cognitive Search. Puede ejecutar modelos de chat compatibles en los datos almacenados en sql Motor de base de datos sin tener que entrenar o ajustar modelos mediante la integración de Búsqueda de Azure AI con Azure OpenAI y SQL Motor de base de datos. Al ejecutar modelos con tus datos, puedes interactuar y analizarlos con mayor precisión y velocidad.
Para obtener más información sobre la integración de Búsqueda de Azure AI con Azure OpenAI y sql Motor de base de datos, consulte los siguientes artículos. Estos artículos también se aplican a SQL Server y Azure SQL Managed Instance:
- Azure OpenAI en tus datos
- Generación Aumentada por Recuperación (RAG) en Búsqueda de Azure AI
- Vector Search con Azure SQL y Búsqueda de Azure AI
Aplicaciones inteligentes
Puede usar sql Motor de base de datos para crear aplicaciones inteligentes que incluyan características de inteligencia artificial, como los recomendadores y la generación aumentada de recuperación (RAG), como se muestra en el diagrama siguiente:
Para ver un ejemplo completo que muestra cómo crear una aplicación habilitada para IA mediante sesiones abstractas como un conjunto de datos de ejemplo, consulte:
- Cómo he creado un recomendador de sesión en 1 hora mediante OpenAI.
- Utilice Retrieval Augmented Generation para crear un asistente de sesión de conferencia.
Nota:
La integración de LangChain y Kernel semántico dependen del tipo de datos vector, que está disponible a partir de SQL Server 2025 (17.x) y en Azure SQL Managed Instance configurado con la política de actualización Always-up-to-date o SQL Server 2025, así como en Azure SQL Database y la base de datos SQL en Microsoft Fabric.
Integración de LangChain
LangChain es un marco conocido para desarrollar aplicaciones con tecnología de modelos de lenguaje. Para ver ejemplos que muestran cómo puede usar LangChain para crear un bot de chat en sus propios datos, consulte:
- langchain-sqlserver Paquete PyPI.
Algunos ejemplos de uso de Azure SQL con LangChain:
Ejemplos de un extremo a otro:
- Construir un bot de chat con tus propios datos en 1 hora con Azure SQL, Langchain y Chainlit: Construye un bot de chat con el patrón RAG usando tus propios datos, usando LangChain para orquestar las llamadas LLM y Chainlit para la interfaz de usuario.
Integración con Kernel semántico
Kernel semántico es un SDK de código abierto que puede usar para compilar fácilmente agentes que llaman al código existente. Como SDK altamente extensible, puede usar Kernel semántico con modelos de OpenAI, Azure OpenAI, Hugging Face, etc. Al combinar el código de C#, Python y Java existentes con estos modelos, puede crear agentes que respondan a preguntas y automaticen procesos.
Un ejemplo de lo fácilmente que Kernel semántico te ayuda a construir soluciones con IA:
- ¿El chatbot definitivo?: cree un chatbot en sus propios datos mediante los patrones NL2SQL y RAG para una experiencia de usuario óptima.