Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:✅databáze SQL v Microsoft Fabric
Tento článek popisuje, jak používat databázi SQL v Fabric k vytváření aplikací využívajících AI, které kombinují transakční data s velkými jazykovými modely (LLM), vektorovým vyhledáváním nebo vzory rozšířené generace (RAG).
Databáze SQL v Fabric poskytuje relační základ pro inteligentní aplikace: transakce ACID, dotazy s nízkou latencí, nativní vector datový typ a funkce a úzkou integraci s širší Fabric analytickou platformou a platformou AI.
Proč sql database v Fabric pro aplikace AI?
Vytváření inteligentních aplikací vyžaduje databázi, která může ukládat provozní data spolu s vkládáním vektorů, obsluhovat transakční i podobné dotazy s nízkou latencí a integrovat je s architekturami orchestrace AI. Databáze SQL v Fabric splňuje tyto požadavky:
- Nativní podpora vektorů: Nativní vektorový datový typ a vektorové skalární funkce modulu SQL Database Engine umožňují ukládat embeddingy a provádět vyhledávání podle podobnosti přímo v jazyce T-SQL bez samostatné vektorové databáze.
- Architektura připravená pro RAG: Zkombinujte svá strukturovaná firemní data s vektorovými embeddingy ve stejné databázi, aby dotazy pro vyhledávání mohly v rámci jediného dotazu spojit relační kontext (zákaznické záznamy, historii objednávek, produktové katalogy) s výsledky sémantického vyhledávání.
- integrace Framework: Připojení s konektory LangChain a Sémantické jádro prostřednictvím existujících konektorů SQL Server pro vytváření orchestrovaných pracovních postupů AI.
- Integrace platformy Fabric: Přistupujte ke svým datům SQL z poznámkových bloků ve Fabric, úloh datové vědy a prostředí Copilotu, aniž byste data přesouvali mimo platformu.
- Spravované zásady správného řízení: ověřování Microsoft Entra ID, zabezpečení na úrovni pracovního prostoru a šifrování klíčů spravovaných zákazníkem platí pro úlohy AI stejně jako u všech ostatních provozních úloh.
Tip
Reálný příklad zákazníka z praxe, jak používat databázi SQL ve službě Fabric ke zpracování dat a generování vektorových vložení, najdete v článku Příběh zákazníka: Eastman sjednocuje data a buduje budoucnost s využitím AI pomocí Microsoft Fabric.
Generování s podporou vyhledávání (RAG)
RAG vylepšuje odpovědi LLM načtením relevantních dat z vaší databáze před vygenerováním odpovědi. Namísto toho, aby aplikace spoléhala výhradně na trénovací data modelu, dotazuje se do vašich provozních dat, aby ukotvila odpovědi v aktuálních faktech specifických pro danou doménu. Ucelený přehled najdete v článku Generování rozšířené o vyhledávání (RAG).
Typický vzor RAG s databází SQL v Fabric se řídí těmito kroky:
- Blok dat: Rozdělte velké zdroje dat (dokumenty, články znalostní báze, katalogy produktů) na spravovatelné části a převeďte je na prostý text.
- Embed: Generování vektorových vkládání pro každý blok dat pomocí Azure OpenAI nebo jiného modelu vkládání.
- Store: Vložte vložené položky do tabulky s vektorovým sloupcem spolu se zdrojovým textem a všemi relačními metadaty.
- Načtení: Když uživatel položí otázku, vložte dotaz se stejným modelem a pak pomocí VECTOR_DISTANCE najděte ty nejpodobnější bloky dat. Spojení s relačními tabulkami za účelem obohacení kontextu
- Rozšíření: Zkombinujte načtené bloky dat s původní otázkou uživatele do výzvy, která dává LLM pokyn, jak použít kontext.
- Generování: Rozšířená výzva se odešle modelu LLM, který vytvoří odpověď založenou na získaných datech.
Hybridní vektorové vyhledávání v transakční databázi
Vzhledem k tomu, že vkládání a relační data se nacházejí ve stejné databázi, můžete filtrovat podle relačních atributů (rozsahů kalendářních dat, kategorií, přístupových oprávnění) ve stejném dotazu, což zlepšuje relevanci i zabezpečení. Vektorové vyhledávání můžete kombinovat s tradičními filtry SQL (WHERE) pro výsledky filtrované na transakční relace i vektorové funkce. Pří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 model je užitečný pro scénáře doporučení produktů, vyhledávání znalostní báze a zákaznické podpory, ve kterých musí být výsledky sémanticky relevantní i omezené obchodními pravidly.
K vyhledání přibližných výsledků nejbližšího souseda můžete použít také novější syntaxi T-SQL VECTOR_SEARCH. Pří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;
Agenti umělé inteligence se servery Fabric MCP
Fabric nabízí jak open-source Fabric Local MCP, tak server Fabric Remote MCP pro agenty AI. Tyto servery poskytují přímé ověřování a pokyny pro připravené operace, jako je správa pracovních prostorů, operace CRUD položek a definice a správa oprávnění.
Oba Fabric možnosti serveru MCP fungují s libovolným klientem kompatibilním s MCP, včetně GitHub Copilot, Kurzoru, Clauda Desktopu a dalších. Například rozšíření Fabric MCP Server pro Visual Studio Code funguje s rozšířením Microsoft Fabric a rozšířením Copilot Chat GitHubu. Pomocí těchto rozšíření můžete přistupovat k nástrojům Fabric MCP v rámci GitHub Copilot chatu a používat agenty ke správě Fabric položek, jako je vytváření a správa Fabric databáze SQL.
- Místní server MCP Fabric běží na vašem počítači místně, takže agenti AI získají kontext, který potřebují k vygenerování kódu a vytváření položek bez přístupu k vašemu prostředí.
- Vzdálený server MCP Fabric je server hostovaný v cloudu, který umožňuje agentům AI provádět připravené a ověřené operace ve vašem Fabric prostředí bez nutnosti místního nastavení.
Nástroje AI používají server Fabric MCP k zápisu kódu se správnými rozhraními API a ve správných hranicích RBAC, kterým už důvěřujete.
Například po rychlém nastavení místního serveru MCP Fabric můžete klást otázky týkající se infrastruktury a přiřazovat úlohy GitHub Copilot chatu v Visual Studio kódu v režimu agenta. Příklad:
List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".
Váš agent používá známé příkazy rozhraní API Fabric k vrácení všech Fabric položek těchto typů.
Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".
Váš agent používá známé příkazy rozhraní API Fabric k vytvoření položky databáze za vás s výchozím nastavením.
Agenti umělé inteligence s SQL MCP Serverem
SQL MCP Server poskytuje rozhraní Protokolu kontextu modelu, které mohou agenti AI používat k interakci s vaší databází prostřednictvím řízeného rozhraní API založeného na nástrojích místo generování nezpracovaného SQL. Server:
- Zveřejňuje definovanou sadu nástrojů zazálohovaných vaší konfigurací.
- Vynucuje oprávnění a omezení konzistentně.
- Umožňuje agentům zjišťovat dostupné funkce bez odhadu schématu.
Tento model je užitečný při vytváření autonomních agentů, kteří můžou dotazovat a aktualizovat provozní data v rámci vícekrokových pracovních postupů.
SQL MCP Server využívá abstrakci entit nástroje Data API builder, RBAC, ukládání do mezipaměti a telemetrii k poskytování rozhraní připraveného pro produkční nasazení, které funguje konzistentně napříč REST, GraphQL a MCP. Nakonfigurujete ho jednou a modul zpracuje zbytek.
Rozšíření MSSQL pro Visual Studio Code zahrnuje integrované uživatelské rozhraní pro tvůrce Data API Builder, takže můžete vytvářet koncové body REST, GraphQL a MCP pro tabulky databáze SQL bez nutnosti zapisovat konfigurační soubory nebo opustit Visual Studio Code. Můžete vybrat, které tabulky se mají zveřejnit, nakonfigurovat oprávnění CRUD, zvolit typy rozhraní API, zobrazit náhled vygenerované konfigurace a nasadit místní back-end, který využívá Tvůrce rozhraní Data API, a to vše z vizuálního rozhraní.
Rozšiřování pomocí Azure OpenAI
SQL Database Engine poskytuje integrované funkce T-SQL pro generování embeddingů a dělení textu na bloky přímo v databázi bez externího kódu nebo pipeline.
Registrace modelu vkládání
Pomocí CREATE EXTERNAL MODEL zaregistrujte koncový bod pro vložení Azure OpenAI jako objekt databáze. Tento příklad používá nasazení text-embedding-ada-002 s ověřováním pomocí spravované identity Microsoft Entra. Nejprve vytvořte přihlašovací údaje pro přístup k Azure OpenAI pomocí spravované identity:
CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
WITH IDENTITY = 'Managed Identity',
SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO
Pak vytvořte 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/]
);
Další možnosti ověřování, včetně klíčů rozhraní API, najdete v tématu VYTVOŘENÍ EXTERNÍHO MODELU.
Generovat embeddingy vloženě
Pomocí AI_GENERATE_EMBEDDINGS můžete vygenerovat vektorové vkládání přímo do dotazů T-SQL, vkládání a aktualizací.
-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;
Rozdělit na bloky a vytvořit embedding v jednom příkazu
Zkombinujte AI_GENERATE_CHUNKS s rozdělením AI_GENERATE_EMBEDDINGS velkého textu do bloků dat a jejich vložením do jednoho příkazu 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;
Přímá volání rozhraní REST pomocí sp_invoke_external_rest_endpoint
Ve scénářích, na které se nevztahuje AI_GENERATE_EMBEDDINGS, jako jsou například dokončení volání nebo koncové body chatu, použijte sp_invoke_external_rest_endpoint k volání libovolného rozhraní AZURE OpenAI REST API přímo z T-SQL. Další informace najdete v tématu Azure integrace OpenAI.
Integrace s úlohami Fabric AI
Databáze SQL v Fabric se připojuje k širším možnostem umělé inteligence platformy:
| Integrace | Použít |
|---|---|
| textilní poznámkové bloky | Dotazování databáze SQL z PySparku nebo Python poznámkových bloků pro přípravu dat, trénování modelu a dávkové vyhodnocování |
| Platforma datové vědy | Data SQL použijte jako vstup pro experimenty strojového učení a potom zapisujte predikce zpět do databáze pro provozní spotřebu. |
| Copilot ve službě SQL Database | Pomocí přirozeného jazyka můžete generovat, vysvětlit a optimalizovat dotazy T-SQL přímo v editoru dotazů portálu Fabric. |
| Rozhraní API pro GraphQL | Zveřejnění dat obohacených o AI prostřednictvím koncových bodů GraphQL pro spotřebu aplikací |
| Datové kanály a tok dat Gen2 | Orchestrujte workflow pro generování embeddingů a jejich obohacování ve velkém rozsahu. |
scénáře použití databáze SQL Fabric
Další informace o nejlepších případech použití pro Fabric databázi SQL najdete v následujících tématech:
- Použití databáze SQL v obráceném ETL
- Použití databáze SQL jako provozního úložiště dat
- Použití databáze SQL jako zdroje pro translytické aplikace