Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅banco de dados SQL do Microsoft Fabric
Este artigo descreve como usar o banco de dados SQL no Fabric para criar aplicativos com tecnologia de IA que combinam dados transacionais com LLMs (modelos de linguagem de grande porte), pesquisa vetorial ou padrões de RAG (geração aumentada por recuperação).
O banco de dados SQL no Fabric fornece a base relacional para aplicativos inteligentes: transações ACID, consultas de baixa latência, o tipo de dados nativo vector e suas funções, e integração estreita com a plataforma mais ampla de análise e IA do Fabric.
Por que o banco de dados SQL no Fabric para aplicativos de IA?
A criação de aplicativos inteligentes requer um banco de dados que pode armazenar dados operacionais juntamente com inserções de vetor, atender a consultas transacionais e de similaridade em baixa latência e integrar-se a estruturas de orquestração de IA. O banco de dados SQL no Fabric atende a estes requisitos:
- Suporte nativo a vetores: o tipo de dados vetorial nativo do Mecanismo de Banco de Dados SQL e as funções escalares vetoriais permitem armazenar embeddings e executar pesquisas de similaridade diretamente em T-SQL, sem um banco de dados vetorial separado.
- Arquitetura pronta para RAG: combine seus dados de negócios estruturados com inserções de vetor no mesmo banco de dados, para que as consultas de recuperação possam unir o contexto relacional (registros do cliente, histórico de pedidos, catálogos de produtos) com resultados de pesquisa semântica em uma única consulta.
- Framework integration: Conecte-se com LangChain e Kernel semântico por meio de conectores SQL Server existentes para criar fluxos de trabalho de IA orquestrados.
- Integração da plataforma Fabric: Acesse seus dados SQL a partir do Fabric Notebooks, das cargas de trabalho de Ciência de Dados e das experiências do Copilot sem mover os dados para fora da plataforma.
- Governança empresarial: a autenticação do Microsoft Entra ID, a segurança no nível do espaço de trabalho e a criptografia com chave gerenciada pelo cliente se aplicam às cargas de trabalho de IA da mesma forma que a qualquer outra carga de trabalho operacional.
Dica
Para ver um exemplo real de cliente usando o banco de dados SQL do Fabric para processar dados e gerar embeddings vetoriais, consulte História de cliente: a Eastman unificou dados e está construindo um futuro impulsionado por IA com o Microsoft Fabric.
Geração aumentada de recuperação (RAG)
O RAG aprimora as respostas das LLMs ao recuperar dados relevantes da sua base de dados antes de gerar uma resposta. Em vez de depender apenas dos dados de treinamento do modelo, o aplicativo consulta seus dados operacionais para obter respostas em base em fatos atuais e específicos do domínio. Para obter uma visão geral abrangente, consulte RAG (geração aumentada de recuperação).
Um padrão RAG típico com o banco de dados SQL no Fabric segue estas etapas:
- Fragmento: divida grandes fontes de dados (documentos, artigos da base de conhecimento, catálogos de produtos) em partes gerenciáveis e converta-as em texto simples.
- Embed: gerar inserções de vetor para cada parte usando Azure OpenAI ou outro modelo de inserção.
- Repositório: insira as inserções em uma tabela com uma coluna de vetor junto com o texto de origem e quaisquer metadados relacionais.
- Recuperar: quando um usuário fizer uma pergunta, insira a consulta com o mesmo modelo e use VECTOR_DISTANCE para localizar as partes mais semelhantes. Junte-se a tabelas relacionais para enriquecer o contexto.
- Ampliação: Combine os trechos recuperados com a pergunta original do usuário em um prompt que instrua o LLM sobre como usar o contexto.
- Gerar: envie o prompt enriquecido para um LLM, que produz uma resposta baseada nos dados recuperados.
Pesquisa de vetor híbrido em um banco de dados transacional
Como as inserções e os dados relacionais residem no mesmo banco de dados, você pode filtrar por atributos relacionais (intervalos de data, categorias, permissões de acesso) na mesma consulta, melhorando a relevância e a segurança. Você pode combinar pesquisas de vetor com filtros SQL tradicionais (WHERE) para resultados filtrados em relações transacionais e funções de vetor. Por exemplo:
-- 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);
Esse padrão é útil para recomendações de produtos, pesquisa de base de dados de conhecimento e cenários de suporte ao cliente em que os resultados precisam ser semanticamente relevantes e restritos por regras de negócios.
Você também pode consultar com a sintaxe T-SQL VECTOR_SEARCH mais recente para encontrar resultados aproximados do vizinho mais próximo. Por exemplo:
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 IA com os servidores MCP Fabric
Fabric oferece um MCP local Fabric de software livre e um servidor MCP remoto Fabric para agentes de IA. Esses servidores fornecem autenticação direta e instruções para operações predefinidas, como gerenciamento de espaço de trabalho, operações CRUD de itens e definições, e gerenciamento de permissões.
Ambas as opções de servidor MCP Fabric funcionam com qualquer cliente compatível com MCP, incluindo GitHub Copilot, Cursor, Claude Desktop e muito mais. Por exemplo, a extensão Fabric MCP Server para Visual Studio Code funciona com a extensão Microsoft Fabric e a extensão do GitHub Copilot Chat. Ao usar essas extensões, você pode acessar as ferramentas MCP do Fabric no chat do GitHub Copilot e usar agentes para gerenciar itens do Fabric, como criar e gerenciar seu banco de dados SQL do Fabric.
- O servidor MCP local Fabric é executado localmente em seu computador, para que os agentes de IA obtenham o contexto necessário para gerar código e criar itens sem acessar seu ambiente.
- O servidor MCP remoto Fabric é um servidor hospedado na nuvem que permite que os agentes de IA executem operações preparadas e autenticadas em seu ambiente de Fabric sem a necessidade de instalação local.
As ferramentas de IA usam o servidor MCP Fabric para escrever código com as APIs corretas e dentro dos limites de RBAC corretos em que você já confia.
Por exemplo, após uma configuração rápida do servidor MCP local Fabric, você pode fazer perguntas de infraestrutura e atribuir tarefas para GitHub Copilot chat no código Visual Studio, no modo Agente. Por exemplo:
List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".
Seu agente usa comandos de API Fabric conhecidos para retornar todos os itens Fabric desses tipos.
Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".
Seu agente usa comandos de API de Fabric conhecidos para criar o item de banco de dados para você, com configurações padrão.
Agentes de IA com o SQL MCP Server
O SQL MCP Server fornece uma interface de Protocolo de Contexto de Modelo que os agentes de IA podem usar para interagir com seu banco de dados por meio de uma API governada e baseada em ferramentas em vez de gerar SQL bruto. O servidor:
- Expõe um conjunto definido de ferramentas apoiadas por sua configuração.
- Impõe permissões e restrições consistentemente.
- Permite que os agentes descubram os recursos disponíveis sem adivinhação de esquema.
Esse padrão é útil para criar agentes autônomos que podem consultar e atualizar dados operacionais como parte de fluxos de trabalho de várias etapas.
O SQL MCP Server usa abstração de entidade, RBAC, cache e telemetria do Construtor de API de Dados para fornecer uma superfície pronta para produção que funciona da mesma forma em REST, GraphQL e MCP. Você configura uma vez e o mecanismo cuida de todo o resto.
A extensão MSSQL para Visual Studio Code inclui uma interface de usuário integrada para o Data API builder, para que você possa criar endpoints REST, GraphQL e MCP para suas tabelas de banco de dados SQL sem precisar escrever arquivos de configuração nem sair do Visual Studio Code. Você pode selecionar quais tabelas expor, configurar permissões CRUD, escolher tipos de API, visualizar a configuração gerada e implantar um back-end local alimentado pelo construtor de API de Dados, tudo em uma interface visual.
Enriquecimento com Azure OpenAI
O SQL Mecanismo de Banco de Dados fornece funções T-SQL internas para gerar inserções e agrupamento de texto diretamente no banco de dados, sem código ou pipelines externos.
Registrar um modelo de inserção
Use CREATE EXTERNAL MODEL para registrar um endpoint de embedding do Azure OpenAI como um objeto de banco de dados. Este exemplo usa a implantação text-embedding-ada-002 com autenticação de identidade gerenciada do Microsoft Entra. Primeiro, crie credenciais de acesso para Azure OpenAI usando uma identidade gerenciada:
CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
WITH IDENTITY = 'Managed Identity',
SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO
Em seguida, crie um 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 obter mais opções de autenticação, incluindo chaves de API, consulte CREATE EXTERNAL MODEL.
Gerar inserções embutidas
Use AI_GENERATE_EMBEDDINGS para gerar inserções de vetor diretamente em consultas T-SQL, inserções e atualizações.
-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;
Fragmente e gere embeddings em um único comando
Combine AI_GENERATE_CHUNKS com AI_GENERATE_EMBEDDINGS para dividir textos longos em blocos e incorporá-los em uma única instrução 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;
Direcionar chamadas REST com sp_invoke_external_rest_endpoint
Para cenários não cobertos por AI_GENERATE_EMBEDDINGS, como chamadas de conclusão ou endpoints de chat, use sp_invoke_external_rest_endpoint para chamar diretamente do T-SQL qualquer API REST do Azure OpenAI. Para obter mais informações, consulte integração do Azure OpenAI.
Integração com cargas de trabalho de IA do Fabric
O banco de dados SQL no Fabric se conecta aos recursos mais amplos de IA da plataforma:
| Integração | Usar |
|---|---|
| Fabric Notebooks | Consulte o banco de dados SQL do PySpark ou Python notebooks para preparação de dados, treinamento de modelo e pontuação em lote. |
| Ciência de dados do Fabric | Use dados SQL como entrada para experimentos de machine learning e escreva previsões de volta no banco de dados para consumo operacional. |
| Copilot no banco de dados SQL | Use a linguagem natural para gerar, explicar e otimizar consultas T-SQL diretamente no editor de consultas do portal Fabric. |
| API para GraphQL | Exponha dados enriquecidos por IA por meio de endpoints GraphQL para consumo por aplicativos. |
| Pipelines de Dados e Fluxo de Dados Gen2 | Orquestrar fluxos de trabalho de geração e enriquecimento de inserção em escala. |
histórias de caso de uso do banco de dados SQL Fabric
Para saber mais sobre os melhores casos de uso para Fabric banco de dados SQL, consulte:
- Utilize o banco de dados SQL no ETL reverso
- Usar o banco de dados SQL como um armazenamento de dados operacional
- Usar o banco de dados SQL como a origem para aplicativos translíticos