Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:✅SQL-Datenbank in Microsoft Fabric
In diesem Artikel wird beschrieben, wie Sie sql-Datenbank in Fabric verwenden, um KI-basierte Anwendungen zu erstellen, die Transaktionsdaten mit großen Sprachmodellen (LLMs), Vektorsuche oder RAG-Mustern (Retrieval-Augmented Generation) kombinieren.
Die SQL-Datenbank in Fabric bietet die relationale Grundlage für intelligente Anwendungen: ACID-Transaktionen, Abfragen mit geringer Latenz, den systemeigenen Datentyp vector und zugehörige Funktionen sowie die enge Integration mit der umfassenden Fabric-Analyse- und -KI-Plattform.
Warum SQL-Datenbank in Fabric für KI-Anwendungen?
Das Erstellen intelligenter Anwendungen erfordert eine Datenbank, die Betriebsdaten zusammen mit Vektoreinbettungen speichern kann, Transaktions- und Ähnlichkeitsabfragen mit geringer Latenz bedient und in KI-Orchestrierungsframeworks integriert werden kann. Die SQL-Datenbank in Fabric erfüllt die folgenden Anforderungen:
- Native Vektorunterstützung: Mit dem systemeigenen vector-Datentyp von SQL Datenbank-Engine und vector-Skalarfunktionen können Sie Einbettungen speichern und Ähnlichkeitssuchen direkt in T-SQL ohne separate Vektordatenbank ausführen.
- RAG-ready-Architektur: Kombinieren Sie Ihre strukturierten Geschäftsdaten mit Vektoreinbettungen in derselben Datenbank, sodass Abrufabfragen relationalen Kontext (Kundendatensätze, Bestellverlauf, Produktkataloge) mit semantischen Suchergebnissen in einer einzigen Abfrage verknüpfen können.
- Framework-Integration: Stellen Sie eine Verbindung mit LangChain und Semantischer Kernel über vorhandene SQL Server Connectors her, um koordinierte KI-Workflows zu erstellen.
- Fabric Plattformintegration: Greifen Sie über Fabric Notizbücher, Data Science-Workloads und Copilot Erfahrungen auf Ihre SQL-Daten zu, ohne Daten aus der Plattform zu verschieben.
- Enterprise Governance: Microsoft Entra ID Authentifizierung, Sicherheit auf Arbeitsbereichsebene und vom Kunden verwaltete Schlüsselverschlüsselung gelten für KI-Workloads genauso wie jede andere betriebstechnische Arbeitsauslastung.
Tip
Ein Praxisbeispiel eines Kunden für die Verwendung der Fabric SQL-Datenbank zur Datenverarbeitung und zum Generieren von Vektoreinbettungen finden Sie unter Kundengeschichte: Eastman vereinheitlicht Daten und gestaltet mit Microsoft Fabric eine KI-gestützte Zukunft.
Wiederherstellungs-unterstützte Generierung (RAG)
RAG verbessert LLM-Antworten, indem relevante Daten aus Ihrer Datenbank abgerufen werden, bevor eine Antwort generiert wird. Anstatt sich ausschließlich auf die Trainingsdaten des Modells zu verlassen, greift die Anwendung auf Ihre operativen Daten zu, um die Antworten auf aktuelle, domänenspezifische Fakten zu stützen. Eine umfassende Übersicht finden Sie unter "Retrieval-Augmented Generation (RAG)".
Ein typisches RAG-Muster mit einer SQL-Datenbank in Fabric umfasst die folgenden Schritte:
- Segmentieren: Unterteilen Sie große Datenquellen (Dokumente, Wissensdatenbankartikel, Produktkataloge) in handhabbare Teile und wandeln Sie sie in Klartext um.
- Embed: Generieren Sie Vektoreinbettungen für jeden Block mithilfe von Azure OpenAI oder einem anderen Einbettungsmodell.
- Store: Fügen Sie die Einbettungen in eine Tabelle mit einer Vektorspalte zusammen mit dem Quelltext und allen relationalen Metadaten ein.
- Retrieve: Wenn ein Benutzer eine Frage stellt, betten Sie die Abfrage mit demselben Modell ein und verwenden Sie dann VECTOR_DISTANCE, um die ähnlichsten Textsegmente zu finden. Verknüpfen Sie mit relationalen Tabellen, um den Kontext zu erweitern.
- Erweiterung: Kombinieren Sie die abgerufenen Blöcke mit der ursprünglichen Frage des Benutzers in einer Eingabeaufforderung, die die LLM anweist, wie der Kontext verwendet wird.
- Generate: Senden Sie den erweiterten Prompt an ein LLM, das eine auf den abgerufenen Daten basierende Antwort erzeugt.
Hybridvektorsuche in einer Transaktionsdatenbank
Da sich die Einbettungen und relationalen Daten in derselben Datenbank befinden, können Sie nach relationalen Attributen (Datumsbereichen, Kategorien, Zugriffsberechtigungen) in derselben Abfrage filtern und sowohl die Relevanz als auch die Sicherheit verbessern. Sie können Vektorsuchen mit herkömmlichen SQL-Filtern (WHERE) für Ergebnisse kombinieren, die sowohl auf Transaktionsbeziehungen als auch auf Vektorfunktionen gefiltert sind. Beispiel:
-- 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);
Dieses Muster eignet sich für Produktempfehlungen, Wissensbasissuche und Kundensupportszenarien, in denen Ergebnisse semantisch relevant und durch Geschäftsregeln eingeschränkt werden müssen.
Sie können auch mit der neueren VECTOR_SEARCH T-SQL-Syntax abfragen, um ungefähre Benachbarte Ergebnisse zu finden. Beispiel:
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;
KI-Agents mit den Fabric MCP-Servern
Fabric bietet sowohl ein Open-Source-Fabric Local MCP als auch einen Fabric Remote MCP-Server für KI-Agenten. Diese Server bieten direkte Authentifizierung und Anweisungen für vorbereitete Vorgänge, z. B. Arbeitsbereichsverwaltung, Element-CRUD und Definitionen sowie Berechtigungsverwaltung.
Beide Fabric MCP-Serveroptionen funktionieren mit jedem MCP-kompatiblen Client, einschließlich GitHub Copilot, Cursor, Claude Desktop und mehr. Beispielsweise funktioniert die Fabric MCP Server-Erweiterung für Visual Studio Code mit der Erweiterung Microsoft Fabric und GitHub Copilot Chat. Mithilfe dieser Erweiterungen können Sie auf die Fabric MCP-Tools innerhalb GitHub Copilot Chats zugreifen und Agents verwenden, um Fabric Elemente zu verwalten, z. B. das Erstellen und Verwalten Ihrer Fabric SQL-Datenbank.
- Der Fabric Lokalen MCP-Server wird lokal auf Ihrem Computer ausgeführt, sodass KI-Agents den Kontext erhalten, den sie zum Generieren von Code und zum Erstellen von Elementen benötigen, ohne auf Ihre Umgebung zuzugreifen.
- Der Fabric Remote MCP-Server ist ein in der Cloud gehosteter Server, mit dem KI-Agents vorbereitete, authentifizierte Vorgänge in Ihrer Fabric Umgebung ohne lokale Einrichtung ausführen können.
KI-Tools verwenden den Fabric MCP-Server, um Code mit den richtigen APIs und innerhalb der richtigen RBAC-Grenzen zu schreiben, denen Sie bereits vertrauen.
Beispielsweise können Sie nach der schnellen Einrichtung des lokalen Fabric-MCP-Servers Infrastrukturfragen stellen und dem GitHub Copilot-Chat in Visual Studio Code im Agent-Modus Aufgaben zuweisen. Beispiel:
List all SQL databases and mirrored SQL databases in the Fabric workspace "DemoSQLdb".
Ihr Agent verwendet bekannte Fabric API-Befehle, um alle Fabric Elemente dieser Typen zurückzugeben.
Create a new SQL database in Fabric named "ContosoTest" in the Fabric workspace "DemoSQLdb".
Ihr Agent verwendet bekannte Fabric-API-Befehle, um das Datenbankelement für Sie mit Standardeinstellungen zu erstellen.
KI-Agents mit SQL MCP Server
Der SQL MCP-Server stellt eine Modellkontextprotokollschnittstelle bereit, die KI-Agents für die Interaktion mit Ihrer Datenbank über eine gesteuerte, toolbasierte API verwenden können, anstatt rohe SQL zu generieren. Der Server:
- Macht einen definierten Satz von Tools verfügbar, die von Ihrer Konfiguration unterstützt werden.
- Erzwingt Berechtigungen und Einschränkungen einheitlich.
- Ermöglicht Agenten, verfügbare Funktionen zu erkennen, ohne Schemas erraten zu müssen.
Dieses Muster ist nützlich für die Erstellung autonomer Agents, die betriebstechnische Daten im Rahmen von mehrstufigen Workflows abfragen und aktualisieren können.
Der SQL MCP Server verwendet die Entitätsabstraktion, RBAC, Zwischenspeicherung und Telemetrie des Daten-API-Generators , um eine produktionsfähige Oberfläche bereitzustellen, die für REST, GraphQL und MCP identisch ist. Sie konfigurieren es einmal, und das Modul behandelt den Rest.
Die MSSQL-Erweiterung für Visual Studio Code enthält eine integrierte Benutzeroberfläche für Data-API-Generator, sodass Sie REST-, GraphQL- und MCP-Endpunkte für Ihre SQL-Datenbanktabellen erstellen können, ohne Konfigurationsdateien zu schreiben oder Visual Studio Code zu verlassen. Sie können auswählen, welche Tabellen verfügbar gemacht werden sollen, CRUD-Berechtigungen konfigurieren, API-Typen auswählen, eine Vorschau der generierten Konfiguration anzeigen und ein lokales Back-End bereitstellen, das vom Daten-API-Generator unterstützt wird, alles über eine visuelle Schnittstelle.
Anreicherung mit Azure OpenAI
Die SQL-Datenbank-Engine bietet integrierte T-SQL-Funktionen zum Generieren von Einbettungen und Blöcken von Text direkt in die Datenbank, ohne externen Code oder Pipelines.
Registrieren eines Einbettungsmodells
Verwenden Sie CREATE EXTERNAL MODEL, um einen Azure OpenAI-Einbettungsendpunkt als Datenbankobjekt zu registrieren. In diesem Beispiel wird die text-embedding-ada-002-Bereitstellung mit Authentifizierung über verwaltete Identitäten von Microsoft Entra verwendet. Erstellen Sie zunächst Zugriffsanmeldeinformationen für Azure OpenAI mithilfe einer verwalteten Identität:
CREATE DATABASE SCOPED CREDENTIAL [https://my-azure-openai-endpoint.cognitiveservices.azure.com/]
WITH IDENTITY = 'Managed Identity',
SECRET = '{"resourceid":"https://cognitiveservices.azure.com"}';
GO
Erstellen Sie dann ein externes 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/]
);
Weitere Authentifizierungsoptionen, einschließlich API-Schlüsseln, finden Sie unter CREATE EXTERNAL MODEL.
Embeddings direkt generieren
Verwenden Sie AI_GENERATE_EMBEDDINGS , um Vektoreinbettungen direkt in T-SQL-Abfragen, Einfügungen und Aktualisierungen zu generieren.
-- Generate embeddings for existing rows
UPDATE t
SET t.embedding = AI_GENERATE_EMBEDDINGS(t.description USE MODEL MyEmbeddingModel)
FROM dbo.products AS t;
In Blöcke aufteilen und in einer einzigen Anweisung einbetten
Kombinieren Sie AI_GENERATE_CHUNKS mit AI_GENERATE_EMBEDDINGS, um große Textmengen in Blöcke zu unterteilen und sie in eine einzelne T-SQL-Anweisung einzubetten.
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-Anrufe mit sp_invoke_external_rest_endpoint
Verwenden Sie für Szenarien, die nicht von AI_GENERATE_EMBEDDINGS abgedeckt werden, beispielsweise beim Aufrufen von Vervollständigungs- oder Chat-Endpunkten, sp_invoke_external_rest_endpoint, um eine beliebige Azure OpenAI-REST-API direkt aus T-SQL aufzurufen. Weitere Informationen finden Sie unter Azure OpenAI-Integration.
Integration mit Fabric KI-Workloads
Die SQL-Datenbank in Fabric stellt eine Verbindung mit den umfassenderen KI-Funktionen der Plattform bereit:
| Integration | Verwenden Sie |
|---|---|
| Fabric-Notebooks | Abfragen der SQL-Datenbank aus PySpark oder Python Notizbüchern für die Datenvorbereitung, Modellschulung und Batchbewertung. |
| Fabric Data Science | Verwenden Sie SQL-Daten als Eingabe für Machine Learning-Experimente, und schreiben Sie dann Vorhersagen zurück in die Datenbank für den Betriebsverbrauch. |
| Copilot in der SQL-Datenbank | Verwenden Sie natürliche Sprache, um T-SQL-Abfragen direkt im Fabric Portalabfrage-Editor zu generieren, zu erläutern und zu optimieren. |
| API für GraphQL | Machen Sie KI-angereicherte Daten über GraphQL-Endpunkte für den Anwendungsverbrauch verfügbar. |
| Datenpipelinen und Dataflow Gen2 | Orchestrieren Sie Workflows zur Generierung und Anreicherung von Embeddings in großem Maßstab. |
Fabric SQL-Datenbank–Anwendungsfallabschnitte
Weitere Informationen zu den besten Anwendungsfällen für Fabric SQL-Datenbank finden Sie unter:
- Verwenden Sie die SQL-Datenbank in Reverse-ETL
- Verwenden der SQL-Datenbank als betriebsbereiter Datenspeicher
- Verwenden der SQL-Datenbank als Quelle für translytische Anwendungen