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:✅Base de datos SQL en Microsoft Fabric
En este artículo se describe cómo usar la base de datos SQL en Fabric para crear aplicaciones con tecnología de inteligencia artificial que combinan datos transaccionales con modelos de lenguaje grandes (LLM), búsqueda de vectores o patrones de generación aumentada por recuperación (RAG).
La base de datos SQL de Fabric proporciona la base relacional de las aplicaciones inteligentes: transacciones ACID, consultas de baja latencia, el tipo de datos vector nativo y sus funciones, y una estrecha integración con la plataforma más amplia de análisis e IA de Fabric.
¿Por qué SQL Database en Fabric para aplicaciones de inteligencia artificial?
La creación de aplicaciones inteligentes requiere una base de datos que pueda almacenar datos operativos junto con incrustaciones de vectores, atender consultas transaccionales y de similitud a baja latencia e integrarse con marcos de orquestación de IA. Sql Database en Fabric cumple estos requisitos:
- Native vector support: The SQL Motor de base de datos's native vector data type and vector scalar functions permiten almacenar incrustaciones y ejecutar búsquedas de similitud directamente en T-SQL, sin una base de datos vectorial independiente.
- Arquitectura lista para RAG: combine los datos empresariales estructurados con incrustaciones vectoriales en la misma base de datos, por lo que las consultas de recuperación pueden combinar contexto relacional (registros de clientes, historial de pedidos, catálogos de productos) con resultados de búsqueda semántica en una sola consulta.
- integración de Framework: Conexión con LangChain y Kernel semántico a través de conectores de SQL Server existentes para crear flujos de trabajo de IA orquestados.
- Integración con la plataforma Fabric: Acceda a los datos de SQL desde cuadernos de Fabric, cargas de trabajo de ciencia de datos y experiencias de Copilot sin mover los datos fuera de la plataforma.
- Administración empresarial: autenticación de Microsoft Entra ID, seguridad de nivel de área de trabajo y cifrado de claves administradas por el cliente se aplican a las cargas de trabajo de inteligencia artificial igual que cualquier otra carga de trabajo operativa.
Sugerencia
Para ver un caso real de cliente de cómo usar la base de datos SQL de Fabric para procesar datos y generar inserciones vectoriales, consulte Caso de cliente: Eastman unificó sus datos y está construyendo un futuro impulsado por la IA con Microsoft Fabric.
Generación aumentada por recuperación (RAG)
RAG mejora las respuestas LLM recuperando los datos pertinentes de la base de datos antes de generar una respuesta. En lugar de confiar únicamente en los datos de entrenamiento del modelo, la aplicación consulta los datos operativos para basar las respuestas en hechos actuales específicos del dominio. Para obtener información general completa, consulte Generación aumentada de recuperación (RAG).
Un patrón RAG típico con la base de datos SQL en Fabric sigue estos pasos:
- Segmentación: Divida las grandes fuentes de datos (documentos, artículos de la base de conocimientos, catálogos de productos) en partes manejables y conviértalas en texto sin formato.
- Embed: genere incrustaciones de vectores para cada fragmento mediante Azure OpenAI u otro modelo de inserción.
- Store: inserte las inserciones en una tabla con una columna vectorial junto con el texto de origen y los metadatos relacionales.
- Recuperar: cuando un usuario realiza una pregunta, inserte la consulta con el mismo modelo y, a continuación, use VECTOR_DISTANCE para buscar los fragmentos más similares. Combinación con tablas relacionales para enriquecer el contexto.
- Aumentar: combinar los fragmentos recuperados con la pregunta original del usuario en una instrucción que indique al LLM cómo utilizar el contexto.
- Generar: Enviar la instrucción ampliada a un LLM, que genera una respuesta basada en los datos recuperados.
Búsqueda de vectores híbridos en una base de datos transaccional
Dado que las incrustaciones y los datos relacionales residen en la misma base de datos, puede filtrar por atributos relacionales (intervalos de fechas, categorías, permisos de acceso) en la misma consulta, lo que mejora la relevancia y la seguridad. Puede combinar búsquedas vectoriales con filtros SQL tradicionales (WHERE) para los resultados filtrados en las relaciones transaccionales y las funciones vectoriales. Por ejemplo:
-- Hybrid search: vector similarity filtered by product category
SELECT TOP (5) p.product_name, p.description
, cosine_distance = VECTOR_DISTANCE('cosine', @query_embedding, p.embedding)
FROM dbo.products AS p
WHERE p.category = 'Electronics'
ORDER BY VECTOR_DISTANCE('cosine', @query_embedding, p.embedding);
Este patrón es útil para las recomendaciones de productos, la búsqueda de la base de conocimiento y los escenarios de soporte técnico al cliente en los que los resultados deben ser tanto semánticamente relevantes como restringidos por las reglas de negocio.
También puede realizar consultas con la sintaxis T-SQL más reciente de VECTOR_SEARCH para encontrar resultados aproximados de los vecinos más cercanos. Por ejemplo:
DECLARE @qv VECTOR(1536) = AI_GENERATE_EMBEDDINGS(N'Pink Floyd music style' USE MODEL Ada2Embeddings);
SELECT TOP (10) WITH APPROXIMATE
t.id,
t.title,
r.distance
FROM VECTOR_SEARCH(
TABLE = dbo.wikipedia_articles_embeddings AS t,
COLUMN = content_vector,
SIMILAR_TO = @qv,
METRIC = 'cosine'
) AS r
ORDER BY r.distance;
Agentes de inteligencia artificial con los servidores MCP de Fabric
Fabric ofrece un Fabric MCP local de código abierto y un servidor de MCP remoto de Fabric para agentes de IA. Estos servidores proporcionan autenticación directa e instrucciones para operaciones predefinidas, como la gestión del espacio de trabajo, las operaciones CRUD y las definiciones de elementos, y la gestión de permisos.
Ambas opciones de servidor MCP Fabric funcionan con cualquier cliente compatible con MCP, incluidos GitHub Copilot, Cursor, Claude Desktop, etc. Por ejemplo, la extensión Fabric MCP Server para Visual Studio Code funciona con la extensión Microsoft Fabric y gitHub Copilot Chat extensión. Mediante estas extensiones, puede acceder a las herramientas de MCP de Fabric en GitHub Copilot chat y usar agentes para administrar elementos de Fabric, como crear y administrar la base de datos SQL de Fabric.
- El Fabric servidor MCP local se ejecuta localmente en la máquina, por lo que los agentes de IA obtienen el contexto que necesitan para generar código y crear elementos sin tener acceso a su entorno.
- El Fabric servidor MCP remoto es un servidor hospedado en la nube que permite a los agentes de inteligencia artificial realizar operaciones preparadas y autenticadas en el entorno de Fabric sin que se requiera ninguna configuración local.
Las herramientas de inteligencia artificial usan el servidor MCP de Fabric para escribir código con las API adecuadas y dentro de los límites de RBAC en los que ya confías.
Por ejemplo, tras configurar rápidamente el servidor MCP local de Fabric, puedes hacer preguntas sobre infraestructura y asignar tareas a GitHub Copilot Chat en Visual Studio Code, en el modo Agente. Por ejemplo:
List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".
El agente usa los comandos conocidos de la API de Fabric para devolver todos los elementos de Fabric de dichos tipos.
Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".
El agente usa comandos conocidos Fabric API para crear el elemento de base de datos automáticamente, con la configuración predeterminada.
Agentes de inteligencia artificial con SQL MCP Server
SQL MCP Server proporciona una interfaz de protocolo de contexto de modelo que los agentes de IA pueden usar para interactuar con la base de datos a través de una API controlada basada en herramientas en lugar de generar SQL sin procesar. El servidor:
- Expone un conjunto definido de herramientas basadas en tu configuración.
- Aplica permisos y restricciones de forma coherente.
- Permite a los agentes detectar funcionalidades disponibles sin adivinar el esquema.
Este patrón es útil para crear agentes autónomos que puedan consultar y actualizar datos operativos como parte de flujos de trabajo de varios pasos.
SQL MCP Server usa la abstracción de entidades, RBAC, almacenamiento en caché y telemetría del generador de DATA API para proporcionar una superficie lista para producción que funcione igual en REST, GraphQL y MCP. Se configura una sola vez y el motor se encarga del resto.
La extensión MSSQL para Visual Studio Code incluye una interfaz de usuario integrada para Data API builder, por lo que puede crear puntos de conexión REST, GraphQL y MCP para las tablas de base de datos SQL sin escribir archivos de configuración ni dejar Visual Studio Code. Puede seleccionar qué tablas exponer, configurar permisos CRUD, elegir tipos de API, obtener una vista previa de la configuración generada e implementar un back-end local con tecnología de Data API Builder, todo ello desde una interfaz visual.
Enriquecimiento con Azure OpenAI
Sql Motor de base de datos proporciona funciones T-SQL integradas para generar incrustaciones y fragmentar texto directamente en la base de datos, sin código externo ni canalizaciones.
Registrar un modelo de incrustación
Use CREATE EXTERNAL MODEL para registrar un punto de conexión de inserción de OpenAI Azure como un objeto de base de datos. En este ejemplo se usa el despliegue de text-embedding-ada-002 con autenticación de identidad administrada de Microsoft Entra. En primer lugar, cree credenciales de acceso para Azure OpenAI mediante una identidad administrada:
CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
WITH IDENTITY = 'Managed Identity',
SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO
A continuación, cree un modelo externo:
CREATE EXTERNAL MODEL MyEmbeddingModel
WITH (
LOCATION = 'https://my-openai.cognitiveservices.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2024-02-01',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'text-embedding-ada-002',
CREDENTIAL = [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
);
Para obtener más opciones de autenticación, incluidas las claves de API, consulte CREATE EXTERNAL MODEL.
Genera embeddings en línea
Use AI_GENERATE_EMBEDDINGS para generar incrustaciones de vectores directamente en consultas T-SQL, inserciones y actualizaciones.
-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;
Fragmentar e incrustar en una sola sentencia
Combine AI_GENERATE_CHUNKS con AI_GENERATE_EMBEDDINGS para dividir texto grande en fragmentos e insertarlos en una sola instrucción T-SQL.
INSERT INTO dbo.document_embeddings (chunked_text, embedding)
SELECT c.chunk,
AI_GENERATE_EMBEDDINGS(c.chunk USE MODEL MyEmbeddingModel)
FROM dbo.documents AS d
CROSS APPLY AI_GENERATE_CHUNKS(
SOURCE = d.content,
CHUNK_TYPE = FIXED,
CHUNK_SIZE = 100
) AS c;
Llamadas REST directas con sp_invoke_external_rest_endpoint
Para los escenarios no cubiertos por AI_GENERATE_EMBEDDINGS, como invocar finalizaciones o puntos de conexión de chat, use sp_invoke_external_rest_endpoint para invocar directamente cualquier API REST de Azure OpenAI desde T-SQL. Para obtener más información, consulte integración de Azure OpenAI.
Integración con cargas de trabajo de inteligencia artificial de Fabric
SQL Database en Fabric se conecta a las funcionalidades de inteligencia artificial más amplias de la plataforma:
| Integración | Uso |
|---|---|
| Cuadernos de Fabric | Consultar una base de datos SQL desde cuadernos de PySpark o Python para la preparación de datos, el entrenamiento de modelos y la puntuación en lote. |
| Ciencia de Datos de Fabric | Use datos SQL como entrada para experimentos de aprendizaje automático y, a continuación, vuelva a escribir predicciones en la base de datos para el consumo operativo. |
| Copilot en SQL Database | Use lenguaje natural para generar, explicar y optimizar consultas de T-SQL directamente en el editor de consultas del portal de Fabric. |
| API para GraphQL | Exponer datos enriquecidos con IA mediante endpoints de GraphQL para su consumo por las aplicaciones. |
| Canalizaciones de datos y flujo de datos Gen2 | Organice la inserción de flujos de trabajo de generación y enriquecimiento a escala. |
casos de uso de la base de datos SQL de Fabric
Para más información sobre los mejores casos de uso de Fabric SQL Database, consulte:
- Uso de la base de datos SQL en ETL inverso
- Uso de SQL Database como almacén de datos operativo
- Uso de SQL Database como origen para aplicaciones translíticas