Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder for:✅SQL database i Microsoft Fabric
Denne artikkelen beskriver hvordan man kan bruke SQL-databaser i Fabric for å bygge AI-drevne applikasjoner som kombinerer transaksjonsdata med store språkmodeller (LLM), vektorsøk eller hente-forsterkede genereringsmønstre (RAG).
SQL-database i Fabric gir det relasjonelle grunnlaget for intelligente applikasjoner: ACID-transaksjoner, lav-latens spørringer, den native vektoren datatypen og funksjonene, og tett integrasjon med den bredere Fabric analyse- og AI-plattformen.
Hvorfor SQL-database i Fabric for AI-applikasjoner?
Å bygge intelligente applikasjoner krever en database som kan lagre operasjonelle data sammen med vektorinnlegginger, håndtere både transaksjons- og likhetsspørringer med lav ventetid, og integrere med AI-orkestreringsrammeverk. SQL-database i Fabric oppfyller disse kravene:
- Native vektorstøtte: SQL databasemotor sin native vektor datatype og vektorskalarfunksjoner lar deg lagre embeddings og kjøre likhetssøk direkte i T-SQL, uten en separat vektordatabase.
- RAG-klar arkitektur: Kombiner dine strukturerte forretningsdata med vektorinnlegginger i samme database, slik at hentingsspørringer kan koble sammen relasjonskontekst (kundeposter, ordrehistorikk, produktkataloger) med semantiske søkeresultater i én enkelt spørring.
- Framework-integrasjon: Koble til LangChain og Semantic Kernel gjennom eksisterende SQL Server-koblinger for å bygge orkestrerte AI-arbeidsflyter.
- Fabric plattformintegrasjon: Få tilgang til SQL-dataene dine fra Fabric notatbøker, Data Science-arbeidsbelastninger og Copilot opplevelser uten å flytte data ut av plattformen.
- Bedriftsstyring: Microsoft Entra ID autentisering, sikkerhet på arbeidsplassnivå og kundestyrt nøkkelkryptering gjelder for AI-arbeidsbelastninger på samme måte som for andre operasjonelle arbeidsbelastninger.
Tips
For et ekte kundeeksempel på bruk av Fabric SQL-database til å behandle data og generere vektorinnlegginger, se Kundehistorie: Eastman samlet data og bygger en AI-drevet fremtid med Microsoft Fabric.
Generering av hente-forsterket (RAG)
RAG forbedrer LLM-svar ved å hente relevante data fra databasen din før det genererer et svar. I stedet for å stole utelukkende på modellens treningsdata, spør applikasjonen dine operasjonelle data for å basere svarene på aktuelle, domenespesifikke fakta. For en omfattende oversikt, se Retrieval-augmented generation (RAG).
Et typisk RAG-mønster med SQL-database i Fabric følger disse stegene:
- Chunk: Del store datakilder (dokumenter, kunnskapsbaseartikler, produktkataloger) opp i håndterbare deler og konverter dem til ren tekst.
- Embed: Generer vektorinnlegginger for hver chunk ved å bruke Azure OpenAI eller en annen embedding-modell.
- Lagre: Sett inn embeddingene i en tabell med en vektorkolonne ved siden av kildeteksten og eventuell relasjonsmetadata.
- Hent: Når en bruker stiller et spørsmål, legg inn spørringen med samme modell, og bruk deretter VECTOR_DISTANCE for å finne de mest like chunkene. Koble deg til relasjonstabeller for å berike konteksten.
- Augment: Kombiner de hentede bitene med brukerens opprinnelige spørsmål til en prompt som instruerer LLM-en i hvordan konteksten skal brukes.
- Generer: Send den utvidede prompten til en LLM, som produserer et svar forankret i de hentede dataene.
Hybrid vektorsøk i en transaksjonsdatabase
Siden embeddingene og relasjonsdataene ligger i samme database, kan du filtrere etter relasjonsattributter (datointervaller, kategorier, tilgangstillatelser) i samme spørring, noe som forbedrer både relevans og sikkerhet. Du kan kombinere vektorsøk med tradisjonelle SQL-filtre (WHERE) for resultater filtrert både på transaksjonsrelasjoner og vektorfunksjoner. Eksempel:
-- 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);
Dette mønsteret er nyttig for produktanbefalinger, søk i kunnskapsbaser og kundestøttesituasjoner der resultatene må være både semantisk relevante og begrenset av forretningsregler.
Du kan også spørre med den nyere VECTOR_SEARCH T-SQL-syntaksen for å finne omtrentlige resultater fra nærmeste nabo. Eksempel:
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;
AI-agenter med Fabric MCP-serverne
Fabric tilbyr både en åpen kildekode Fabric Local MCP og en Fabric Remote MCP-server for AI-agenter. Disse serverne gir direkte autentisering og instruksjoner for forberedte operasjoner, som arbeidsområdeadministrasjon, element CRUD og definisjoner, samt tillatelseshåndtering.
Begge Fabric MCP-serveralternativene fungerer med alle MCP-kompatible klienter, inkludert GitHub Copilot, Cursor, Claude Desktop og flere. For eksempel fungerer Fabric MCP Server-utvidelsen for Visual Studio Code med Microsoft Fabric-utvidelsen og GitHub Copilot Chat-utvidelsen. Ved å bruke disse utvidelsene kan du få tilgang til Fabric MCP-verktøyene i GitHub Copilot-chatten, og bruke agenter til å administrere Fabric-elementer, som å opprette og administrere din Fabric SQL-database.
- Fabric Local MCP-serveren kjører lokalt på maskinen din, så AI-agenter får konteksten de trenger for å generere kode og lage elementer uten å få tilgang til miljøet ditt.
- Fabric Remote MCP-serveren er en skyhostet server som lar AI-agenter utføre forberedte, autentiserte operasjoner i ditt Fabric-miljø uten behov for lokal oppsett.
AI-verktøy bruker Fabric MCP-serveren til å skrive kode med riktige API-er og innenfor de riktige RBAC-grensene du allerede stoler på.
For eksempel, etter en rask oppsett av Fabric lokal MCP-server, kan du stille infrastrukturspørsmål og tildele oppgaver til GitHub Copilot-chatten i Visual Studio-kode, i agentmodus. Eksempel:
List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".
Agenten din bruker kjente Fabric API-kommandoer for å returnere alle Fabric-elementer av denne typen.
Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".
Agenten din bruker kjente Fabric API-kommandoer for å lage databaseelementet for deg, med standardinnstillinger.
AI-agenter med SQL MCP Server
SQL MCP Server tilbyr et Model Context Protocol-grensesnitt som AI-agenter kan bruke for å samhandle med databasen din via et styrt, verktøybasert API i stedet for å generere rå SQL. Serveren:
- Eksponerer et definert sett med verktøy støttet av konfigurasjonen din.
- Håndhever tillatelser og begrensninger konsekvent.
- Lar agenter oppdage tilgjengelige muligheter uten å gjette skjemaer.
Dette mønsteret er nyttig for å bygge autonome agenter som kan spørre og oppdatere operasjonelle data som en del av flerstegsarbeidsflyter.
SQL MCP Server bruker Data API Builders entitetsabstraksjon, RBAC, caching og telemetri for å levere en produksjonsklar overflate som fungerer likt på tvers av REST, GraphQL og MCP. Du konfigurerer det én gang, og motoren håndterer resten.
MSSQL-utvidelsen for Visual Studio Code inkluderer et integrert brukergrensesnitt for Data API builder, slik at du kan lage REST-, GraphQL- og MCP-endepunkter for SQL-databasetabellene dine uten å måtte skrive konfigurasjonsfiler eller forlate Visual Studio Code. Du kan velge hvilke tabeller som skal eksponeres, konfigurere CRUD-tillatelser, velge API-typer, forhåndsvise den genererte konfigurasjonen, og rulle ut en lokal backend drevet av Data API Builder, alt fra et visuelt grensesnitt.
Berikelse med Azure OpenAI
SQL databasemotor tilbyr innebygde T-SQL-funksjoner for å generere embeddings og chunking av tekst direkte i databasen, uten ekstern kode eller pipelines.
Registrer en embedding-modell
Bruk CREATE EXTERNAL MODEL for å registrere et Azure OpenAI-embedding-endepunkt som et databaseobjekt. Dette eksempelet bruker text-embedding-ada-002 utrulling med Microsoft Entra administrert identitetsautentisering. Først, opprett tilgangsinformasjon til Azure OpenAI ved hjelp av en administrert identitet:
CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
WITH IDENTITY = 'Managed Identity',
SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO
Deretter lager du en ekstern modell:
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/]
);
For flere autentiseringsalternativer, inkludert API-nøkler, se CREATE EXTERNAL MODEL.
Generer embeddinger inline
Bruk AI_GENERATE_EMBEDDINGS for å generere vektorinnlegginger direkte i T-SQL-spørringer, innsettinger og oppdateringer.
-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;
Del og legg inn i én enkelt uttalelse
Kombiner AI_GENERATE_CHUNKS med AI_GENERATE_EMBEDDINGS for å dele opp stor tekst i biter og legg dem inn i en enkelt T-SQL-setning.
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;
Direkte REST-samtaler med sp_invoke_external_rest_endpoint
For scenarioer som ikke dekkes av AI_GENERATE_EMBEDDINGS, som å kalle fullføringer eller chat-endepunkter, bruk sp_invoke_external_rest_endpoint for å kalle ethvert Azure OpenAI REST API direkte fra T-SQL. For mer informasjon, se Azure OpenAI-integrasjon.
Integrasjon med Fabric AI-arbeidsbelastninger
SQL-database i Fabric kobler seg til plattformens bredere AI-muligheter:
| Integrasjon | Bruk |
|---|---|
| Fabric Notebooks | Søk i SQL-databasen fra PySpark- eller Python-notatbøker for dataforberedelse, modelltrening og batch-poengsetting. |
| Fabric Data Science | Bruk SQL-data som input for maskinlæringseksperimenter, og skriv deretter prediksjoner tilbake til databasen for operasjonelt forbruk. |
| Copilot i SQL database | Bruk naturlig språk for å generere, forklare og optimalisere T-SQL-spørringer direkte i Fabric-portalens spørringseditor. |
| API for GraphQL | Eksponer AI-beriket data gjennom GraphQL-endepunkter for applikasjonsbruk. |
| Datarørledninger og dataflyt Gen2 | Orkestrere integrerte genererings- og berikelsesarbeidsflyter i stor skala. |
Fabric SQL-database-brukshistorier
For å lære mer om de beste bruksområdene for Fabric SQL-databaser, se:
- Bruk SQL-databasen i omvendt ETL
- Bruk SQL-databasen som et operativt datalager
- Bruk SQL-databasen som kilde for translytiske applikasjoner