Brug SQL-database i AI-applikationer

Gælder for:SQL database i Microsoft Fabric

Denne artikel beskriver, hvordan man bruger SQL-databaser i Fabric til at bygge AI-drevne applikationer, der kombinerer transaktionsdata med store sprogmodeller (LLM'er), vektorsøgning eller hente-forstærkede genereringsmønstre (RAG).

SQL-database i Fabric giver det relationelle fundament for intelligente applikationer: ACID-transaktioner, lav-latensforespørgsler, den oprindelige vektor datatype og funktioner samt tæt integration med den bredere Fabric analyse- og AI-platform.

Hvorfor SQL-database i Fabric til AI-applikationer?

At bygge intelligente applikationer kræver en database, der kan lagre operationelle data sammen med vektor-embeddings, levere både transaktions- og lighedsforespørgsler med lav latenstid og integrere med AI-orkestreringsrammeværk. SQL-database i Fabric opfylder disse krav:

  • Native vektorunderstøttelse: SQL databaseprogram's native vektor datatype og vektorskalarfunktioner lader dig gemme embeddings og køre lighedssøgninger direkte i T-SQL, uden en separat vektordatabase.
  • RAG-klar arkitektur: Kombiner dine strukturerede forretningsdata med vektorindlejringer i den samme database, så hentningsforespørgsler kan forbinde relationel kontekst (kundeoptegnelser, ordrehistorik, produktkataloger) med semantiske søgeresultater i en enkelt forespørgsel.
  • Framework-integration: Forbind med LangChain og Semantic Kernel gennem eksisterende SQL Server-connectorer for at opbygge orkestrerede AI-workflows.
  • Fabric platformintegration: Få adgang til dine SQL-data fra Fabric notesbøger, Data Science-arbejdsbelastninger og Copilot oplevelser uden at flytte data ud af platformen.
  • Enterprise governance: Microsoft Entra ID autentificering, sikkerhed på arbejdsområde og kundeadministreret nøglekryptering gælder for AI-arbejdsbelastninger på samme måde som for enhver anden operationel arbejdsbyrde.

Tips

For et eksempel fra en kunde i virkeligheden med brug af Fabric SQL-database til at behandle data og generere vektor-embeddings, se Kundehistorie: Eastman samlede data og bygger en AI-drevet fremtid med Microsoft Fabric.

Generering af hente-forstærket (RAG)

RAG forbedrer LLM-svar ved at hente relevante data fra din database, før der genereres et svar. I stedet for udelukkende at stole på modellens træningsdata, forespørger applikationen dine operationelle data for at finde svar på aktuelle, domænespecifikke fakta. For et omfattende overblik, se Retrieval-augmented generation (RAG).

Et typisk RAG-mønster med SQL-database i Fabric følger disse trin:

  1. Chunk: Bryd store datakilder (dokumenter, vidensbaseartikler, produktkataloger) op i håndterbare dele og konverter dem til almindelig tekst.
  2. Embed: Generer vektorindlejringer for hver chunk ved at bruge Azure OpenAI eller en anden indlejringsmodel.
  3. Gem: Indsæt embeddings i en tabel med en vektorkolonne ved siden af kildeteksten og eventuel relationel metadata.
  4. Hent: Når en bruger stiller et spørgsmål, indlejr forespørgslen med samme model, og brug derefter VECTOR_DISTANCE til at finde de mest lignende chunks. Join med relationelle tabeller for at berige konteksten.
  5. Augment: Kombiner de hentede chunks med brugerens oprindelige spørgsmål til en prompt, der instruerer LLM'en i, hvordan konteksten skal bruges.
  6. Generer: Send den augcerede prompt til en LLM, som producerer et svar baseret på de hentede data.

Hybrid vektorsøgning i en transaktionel database

Fordi embeddings og relationelle data ligger i den samme database, kan du filtrere efter relationelle attributter (datointervaller, kategorier, adgangstilladelser) i den samme forespørgsel, hvilket forbedrer både relevans og sikkerhed. Du kan kombinere vektorsøgninger med traditionelle SQL-filtre (WHERE) for resultater filtreret på både transaktionsrelationer og vektorfunktioner. 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ønster er nyttigt til produktanbefalinger, vidensbasesøgning og kundesupportscenarier, hvor resultaterne både skal være semantisk relevante og begrænset af forretningsregler.

Du kan også forespørge med den nyere VECTOR_SEARCH T-SQL-syntaks for at finde omtrentlige resultater for 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 tilbyder både en open source Fabric Local MCP og en Fabric Remote MCP-server til AI-agenter. Disse servere leverer direkte autentificering og instruktioner til forberedte operationer, såsom arbejdsområdestyring, item CRUD og definitioner samt tilladelsesstyring.

Begge Fabric MCP-servermuligheder fungerer med enhver MCP-kompatibel klient, herunder GitHub Copilot, Cursor, Claude Desktop og flere. For eksempel fungerer Fabric MCP Server-udvidelsen til Visual Studio Code med Microsoft Fabric-udvidelsen og GitHub Copilot Chat-udvidelsen. Ved at bruge disse udvidelser kan du få adgang til Fabric MCP-værktøjerne i GitHub Copilot-chatten og bruge agenter til at administrere Fabric-elementer, såsom oprettelse og administration af din Fabric SQL-database.

  • Fabric Local MCP-serveren kører lokalt på din maskine, så AI-agenter får den kontekst, de har brug for til at generere kode og oprette elementer uden adgang til dit miljø.
  • Fabric Remote MCP-serveren er en cloud-hostet server, der lader AI-agenter udføre forberedte, autentificerede operationer i dit Fabric-miljø uden behov for lokal opsætning.

AI-værktøjer bruger Fabric MCP-serveren til at skrive kode med de korrekte API'er og inden for de korrekte RBAC-grænser, som du allerede stoler på.

For eksempel, efter en hurtig opsætning af den lokale MCP-server i Fabric, kan du stille infrastrukturspørgsmål og tildele opgaver til GitHub Copilot-chatten i Visual Studio-kode i Agent-tilstand. Eksempel:

List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".

Din agent bruger kendte Fabric API-kommandoer til at returnere alle Fabric-items af den type.

Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".

Din agent bruger kendte Fabric API-kommandoer til at oprette databaseelementet for dig med standardindstillinger.

AI-agenter med SQL MCP Server

SQL MCP Server tilbyder et Model Context Protocol-interface, som AI-agenter kan bruge til at interagere med din database via et styret, værktøjsbaseret API i stedet for at generere rå SQL. Serveren:

  • Eksponerer et defineret sæt værktøjer, der understøttes af din konfiguration.
  • Håndhæver tilladelser og begrænsninger konsekvent.
  • Lader agenter opdage tilgængelige muligheder uden at gætte skemaer.

Dette mønster er nyttigt til at opbygge autonome agenter, der kan forespørge og opdatere driftsdata som en del af flertrins-workflows.

SQL MCP Server bruger Data API builders entity abstraction, RBAC, caching og telemetri til at levere en produktionsklar overflade, der fungerer ens på tværs af REST, GraphQL og MCP. Du konfigurerer det én gang, og motoren håndterer resten.

MSSQL-udvidelsen for Visual Studio Code inkluderer en integreret brugerflade til Data API builder, så du kan oprette REST-, GraphQL- og MCP-endepunkter til dine SQL-databasetabeller uden at skrive konfigurationsfiler eller forlade Visual Studio Code. Du kan vælge, hvilke tabeller der skal eksponeres, konfigurere CRUD-tilladelser, vælge API-typer, forhåndsvise den genererede konfiguration og deploye en lokal backend drevet af Data API builder, alt sammen fra en visuel grænseflade.

Berikung med Azure OpenAI

SQL databaseprogram tilbyder indbyggede T-SQL-funktioner til at generere embeddings og chunking af tekst direkte i databasen, uden ekstern kode eller pipelines.

Registrer en embedding-model

Brug CREATE EXTERNAL MODEL til at registrere et Azure OpenAI-embedding-endpoint som et databaseobjekt. Dette eksempel bruger text-embedding-ada-002 implementering med Microsoft Entra managed identity authentication. Først skal du oprette adgangsoplysninger til Azure OpenAI ved hjælp af en administreret identitet:

CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
    WITH IDENTITY = 'Managed Identity',
    SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO

Opret derefter en ekstern model:

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 autentificeringsmuligheder, inklusive API-nøgler, se CREATE EXTERNAL MODEL.

Generer indlejringer inline

Brug AI_GENERATE_EMBEDDINGS til at generere vektorindlejringer direkte i T-SQL-forespørgsler, indsættelser og opdateringer.

-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;

Bid og indlejr i en enkelt erklæring

Kombiner AI_GENERATE_CHUNKS med AI_GENERATE_EMBEDDINGS for at opdele stor tekst i bidder og indlejr dem i en enkelt T-SQL-sætning.

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-opkald med sp_invoke_external_rest_endpoint

For scenarier, der ikke dækkes af AI_GENERATE_EMBEDDINGS, såsom kald af fuldførelser eller chat-endpoints, brug sp_invoke_external_rest_endpoint til at kalde enhver Azure OpenAI REST API direkte fra T-SQL. For mere information, se Azure OpenAI-integration.

Integration med Fabric AI-arbejdsbelastninger

SQL-database i Fabric forbinder til platformens bredere AI-kapaciteter:

Integration Brug
Stofnotesbøger Forespørg SQL-databasen fra PySpark- eller Python-notebooks for dataforberedelse, modeltræning og batch-scoring.
Fabric Data Science Brug SQL-data som input til maskinlæringseksperimenter, og skriv derefter forudsigelser tilbage til databasen til operationelt forbrug.
Copilot i SQL database Brug naturligt sprog til at generere, forklare og optimere T-SQL-forespørgsler direkte i Fabric-portalens forespørgselseditor.
API til GraphQL Eksponér AI-berigede data via GraphQL-endpoints til applikationsforbrug.
Datapipelines og dataflow Gen2 Orkestrér indlejringsgenerering og berigelsesarbejdsgange i stor skala.

Fabric SQL-database use case stories

For at lære mere om de bedste anvendelsestilfælde for Fabric SQL-databaser, se: