Využitie SQL databázy v AI aplikáciách

Platí na: SQL databázu v Microsoft Fabric

Tento článok popisuje, ako používať SQL databázu vo Fabric na tvorbu aplikácií poháňaných AI, ktoré kombinujú transakčné dáta s veľkými jazykovými modelmi (LLM), vektorovým vyhľadávaním alebo vzormi generovania s rozšírením vyhľadávania (RAG).

SQL databáza v Fabric poskytuje relačný základ pre inteligentné aplikácie: ACID transakcie, dotazy s nízkou latenciou, natívny typ a funkcie dát vector a úzku integráciu so širšou platformou Fabric analytiky a AI.

Prečo SQL databáza v Fabric pre AI aplikácie?

Budovanie inteligentných aplikácií vyžaduje databázu, ktorá dokáže ukladať prevádzkové dáta spolu s vektorovými embeddingmi, slúžiť transakčné aj podobnostné dotazy s nízkou latenciou a integrovať sa s AI orchestračnými frameworkmi. SQL databáza vo Fabric spĺňa tieto požiadavky:

  • Natívna podpora vektorov: Natívny vektorový dátový typ a vektorové skalárne funkcie SQL Database Engine umožňujú ukladať embeddingy a priamo vyhľadávať podobnosti v T-SQL bez samostatnej vektorovej databázy.
  • RAG-ready architektúra: Kombinujte svoje štruktúrované obchodné dáta s vektorovými vkladmi v tej istej databáze, aby vyhľadávacie dotazy mohli spojiť relačný kontext (zákaznícke záznamy, história objednávok, katalógy produktov) so sémantickými vyhľadávacími výsledkami v jednom dotaze.
  • Framework integrácia: Pripojte sa k LangChain a Semantic Kernel cez existujúce SQL Server konektory na vytvorenie orchestrálnych AI workflow.
  • Fabric integrácia s platformou: Získajte prístup k svojim SQL dátam z Fabric zápisníkov, dátových záťaží a Copilot zážitkov bez toho, aby ste ich presúvali mimo platformy.
  • Enterprise governance: Microsoft Entra ID autentifikácia, bezpečnosť na úrovni pracovného priestoru a šifrovanie kľúčov spravovaných zákazníkmi platia pre AI pracovné záťaže rovnako ako pre akúkoľvek inú prevádzkovú záťaž.

Prepitné

Pre reálny zákaznícky príklad použitia Fabric SQL databázy na spracovanie dát a generovanie vektorových embeddingov pozri Customer story: Eastman unified data and builds a AI poháňanú budúcnosť s Microsoft Fabric.

Generovanie s rozšírením vyhľadávania (RAG)

RAG zlepšuje odpovede LLM tým, že získava relevantné údaje z vašej databázy pred generovaním odpovede. Namiesto toho, aby sa aplikácia spoliehala len na trénovacie dáta modelu, dotazuje vaše prevádzkové dáta na zemné odpovede v aktuálnych, doménovo špecifických faktoch. Pre komplexný prehľad pozri Retrieval-augmented generation (RAG).

Typický RAG vzor so SQL databázou v Fabric nasleduje tieto kroky:

  1. Chunk: Rozdeľte veľké dátové zdroje (dokumenty, články z databázy znalostí, produktové katalógy) na zvládnuteľné časti a preveďte ich na obyčajný text.
  2. Embed: Generujte vektorové embeddingy pre každý chunk pomocou Azure OpenAI alebo iného modelu vkladania.
  3. Uložiť: Vložte embeddingy do tabuľky s vektorovým stĺpcom vedľa zdrojového textu a akýchkoľvek relačných metadát.
  4. Získanie: Keď používateľ položí otázku, vložte dotaz do toho istého modelu a potom použite VECTOR_DISTANCE na nájdenie najpodobnejších blokov. Spojte sa s relačnými tabuľkami, aby ste obohatili kontext.
  5. Augment: Spojte získané bloky s pôvodnou otázkou používateľa do promptu, ktorý LLM inštruuje, ako používať kontext.
  6. Generovať: Odošlite rozšírenú výzvu LLM, ktorá vytvorí odpoveď založenú na získaných dátach.

Hybridné vektorové vyhľadávanie v transakčnej databáze

Keďže embeddingy a relačné dáta sa nachádzajú v tej istej databáze, môžete filtrovať podľa relačných atribútov (dátumové rozsahy, kategórie, prístupové oprávnenia) v tom istom dotaze, čím zlepšujete relevantnosť aj bezpečnosť. Môžete kombinovať vektorové vyhľadávanie s tradičnými SQL filtrami (WHERE) pre výsledky filtrované podľa transakčných vzťahov aj vektorových funkcií. Príklad:

-- 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);

Tento vzor je užitočný pre odporúčania produktov, vyhľadávanie v databáze znalostí a zákaznícku podporu, kde musia byť výsledky sémanticky relevantné a zároveň obmedzené obchodnými pravidlami.

Môžete tiež dotazovať pomocou novšej VECTOR_SEARCH T-SQL syntaxe, aby ste našli približné výsledky najbližších susedov. Príklad:

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 agenti s Fabric MCP servermi

Fabric ponúka open-source Fabric Local MCP aj Fabric Remote MCP server pre AI agentov. Tieto servery poskytujú priamu autentifikáciu a inštrukcie pre pripravené operácie, ako je správa pracovného priestoru, CRUD a definície položiek, a správa oprávnení.

Obe možnosti Fabric MCP serverov fungujú s akýmkoľvek klientom kompatibilným s MCP, vrátane GitHub Copilot, Cursor, Claude Desktop a ďalších. Napríklad rozšírenie MCP Server Fabric pre Visual Studio Code funguje s rozšírením Microsoft Fabric a rozšírením Copilot Chat GitHub. Použitím týchto rozšírení môžete pristupovať k nástrojom Fabric MCP v chate GitHub Copilot a používať agentov na správu Fabric položiek, ako je vytváranie a správa vašej Fabric SQL databázy.

  • Fabric Local MCP server beží lokálne na vašom počítači, takže AI agenti získavajú kontext potrebný na generovanie kódu a tvorbu položiek bez prístupu k vášmu prostrediu.
  • Fabric Remote MCP server je cloudovo hostovaný server, ktorý umožňuje AI agentom vykonávať pripravené, autentifikované operácie vo vašom Fabric prostredí bez potreby lokálneho nastavenia.

AI nástroje využívajú Fabric MCP server na písanie kódu so správnymi API a v rámci správnych RBAC hraníc, ktorým už dôverujete.

Napríklad po rýchlom nastavení lokálneho MCP servera Fabric môžete klásť otázky ohľadom infraštruktúry a priraďovať úlohy do chatu GitHub Copilot vo Visual Studio kóde, v režime Agent. Príklad:

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

Váš agent používa známe Fabric API príkazy na vrátenie všetkých Fabric položiek týchto typov.

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

Váš agent používa známe príkazy Fabric API na vytvorenie položky databázy za vás, s predvolenými nastaveniami.

AI agenti so SQL MCP serverom

SQL MCP Server poskytuje rozhranie Model Context Protocol, ktoré AI agenti môžu použiť na interakciu s vašou databázou prostredníctvom riadeného, nástrojového API namiesto generovania surového SQL. Server:

  • Zobrazuje definovanú sadu nástrojov podložených vašou konfiguráciou.
  • Konzistentne vynucuje povolenia a obmedzenia.
  • Umožňuje agentom objaviť dostupné schopnosti bez hádania schémy.

Tento vzor je užitočný pri budovaní autonómnych agentov, ktorí dokážu dotazovať a aktualizovať prevádzkové dáta ako súčasť viacstupňových pracovných postupov.

SQL MCP Server využíva abstrakciu entít, RBAC, cache a telemetriu Data API buildera na vytvorenie produkčne pripraveného povrchu, ktorý funguje rovnako naprieč REST, GraphQL a MCP. Nastavíte ho raz a motor sa postará o zvyšok.

Rozšírenie MSSQL pre Visual Studio Code obsahuje integrované používateľské rozhranie pre Data API builder, takže môžete vytvárať REST, GraphQL a MCP endpointy pre vaše SQL databázové tabuľky bez písania konfiguračných súborov alebo opúšťania Visual Studio Code. Môžete si vybrať, ktoré tabuľky sprístupniť, konfigurovať CRUD oprávnenia, vyberať typy API, nahliadnuť vygenerovanú konfiguráciu a nasadiť lokálny backend poháňaný Data API builderom, všetko z vizuálneho rozhrania.

Enrichment with Azure OpenAI

SQL Database Engine poskytuje zabudované T-SQL funkcie na generovanie vkladov a rozdelenie textu priamo do databázy, bez potreby externého kódu alebo pipeline.

Zaregistrujte model vkladania

Použite CREATE EXTERNAL MODEL na registráciu Azure embedding endpointu OpenAI ako databázového objektu. Tento príklad používa nasadenie text-embedding-ada-002 s Microsoft Entra spravovanou identitnou autentifikáciou. Najprv vytvorte prístupové údaje k Azure OpenAI pomocou spravovanej identity:

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

Potom vytvorte externý 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/]
);

Pre viac možností autentifikácie, vrátane API kľúčov, pozri VYTVORIŤ EXTERNÝ MODEL.

Generujte embeddingy inline

Použite AI_GENERATE_EMBEDDINGS na generovanie vektorových embeddingov priamo v T-SQL dotazoch, insertoch a aktualizáciách.

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

Chunk a embed v jednom vyhlásení

Spojte AI_GENERATE_CHUNKS s na AI_GENERATE_EMBEDDINGS rozdelenie veľkého textu na časti a vloženie ich do jedného T-SQL príkazu.

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;

Priame REST hovory s sp_invoke_external_rest_endpoint

Pre scenáre, ktoré nie sú pokryté AI_GENERATE_EMBEDDINGS, ako sú dokončenia volania alebo chatovacie koncové body, použite sp_invoke_external_rest_endpoint na volanie ľubovoľného Azure OpenAI REST API priamo z T-SQL. Pre viac informácií pozri Azure OpenAI integrácia.

Integrácia s Fabric AI záťažami

SQL databáza vo Fabric sa pripája k širším AI schopnostiam platformy:

Integrácia Použiť
poznámkové bloky služby Fabric Dotazujte SQL databázu z PySpark alebo Python notebookov na prípravu dát, trénovanie modelov a dávkové hodnotenie.
Fabric Dátová veda Použite SQL dáta ako vstup pre experimenty strojového učenia a potom zapíšte predikcie späť do databázy na operačnú spotrebu.
Copilot v SQL database Použite prirodzený jazyk na generovanie, vysvetľovanie a optimalizáciu T-SQL dotazov priamo v editore dotazov portálu Fabric.
API pre GraphQL Sprístupniť dáta obohatené AI prostredníctvom koncových bodov GraphQL pre použitie aplikácií.
Dátové pipeline a Dataflow Gen2 Orchestrujte generovanie a obohacovanie vkladania vo veľkom rozsahu.

Prípady použitia databázy Fabric SQL

Ak sa chcete dozvedieť viac o najlepších prípadoch použitia databázy Fabric SQL, pozrite si: