Χρήση βάσης δεδομένων SQL σε εφαρμογές AI

Ισχύει για:βάση δεδομένων SQL σε Microsoft Fabric

Αυτό το άρθρο περιγράφει τον τρόπο χρήσης της βάσης δεδομένων SQL στο Fabric για τη δημιουργία εφαρμογών με τεχνητή νοημοσύνη που συνδυάζουν δεδομένα συναλλαγών με μεγάλα μοντέλα γλώσσας (LLM), διανυσματική αναζήτηση ή μοτίβα επαυξημένης δημιουργίας ανάκτησης (RAG).

Η βάση δεδομένων SQL στο Fabric παρέχει τη σχεσιακή βάση για έξυπνες εφαρμογές: συναλλαγές ACID, ερωτήματα χαμηλής καθυστέρησης, τον εγγενή τύπο δεδομένων vector και συναρτήσεις και στενή ενοποίηση με την ευρύτερη πλατφόρμα Fabric analytics και AI.

Γιατί η βάση δεδομένων SQL στο Fabric για εφαρμογές AI;

Η δημιουργία έξυπνων εφαρμογών απαιτεί μια βάση δεδομένων που μπορεί να αποθηκεύει λειτουργικά δεδομένα παράλληλα με διανυσματικές ενσωματώσεις, να εξυπηρετεί ερωτήματα συναλλαγών και ομοιότητας σε χαμηλό λανθάνοντα χρόνο και να ενσωματώνεται με πλαίσια ενορχήστρωσης AI. Η βάση δεδομένων SQL στο Fabric πληροί αυτές τις απαιτήσεις:

  • Υποστήριξη εγγενών διανυσμάτων: Οι εγγενείς συναρτήσεις vector data type και vector scalar functions του SQL μηχανή βάσης δεδομένων σας επιτρέπουν να αποθηκεύετε ενσωματώσεις και να εκτελείτε αναζητήσεις ομοιότητας απευθείας στην T-SQL, χωρίς ξεχωριστή διανυσματική βάση δεδομένων.
  • Αρχιτεκτονική έτοιμη για RAG: Συνδυάστε τα δομημένα επιχειρηματικά δεδομένα σας με διανυσματικές ενσωματώσεις στην ίδια βάση δεδομένων, έτσι ώστε τα ερωτήματα ανάκτησης να μπορούν να ενταχθούν στο σχεσιακό πλαίσιο (αρχεία πελατών, ιστορικό παραγγελιών, κατάλογοι προϊόντων) με σημασιολογικά αποτελέσματα αναζήτησης σε ένα μόνο ερώτημα.
  • Ενσωμάτωση πλαισίου: Συνδεθείτε με τα LangChain και Semantic Kernel μέσω υπαρχουσών συνδέσεων SQL Server για τη δημιουργία ενορχηστρωμένων ροών εργασίας AI.
  • Fabric ενοποίηση πλατφόρμας: Αποκτήστε πρόσβαση στα δεδομένα SQL από Fabric σημειωματάρια, φόρτους εργασίας επιστήμης δεδομένων και Copilot εμπειρίες χωρίς να μετακινήσετε δεδομένα εκτός της πλατφόρμας.
  • Εταιρική διακυβέρνηση: Ο έλεγχος ταυτότητας Microsoft Entra ID, η ασφάλεια σε επίπεδο χώρου εργασίας και η κρυπτογράφηση κλειδιών διαχειριζόμενα από τον πελάτη ισχύουν για φόρτους εργασίας AI όπως και οποιοσδήποτε άλλος λειτουργικός φόρτος εργασίας.

Συμβουλή

Για ένα πραγματικό παράδειγμα πελάτη χρήσης Fabric βάσης δεδομένων SQL για την επεξεργασία δεδομένων και τη δημιουργία διανυσματικών ενσωματώσεων, ανατρέξτε στο θέμα Ιστορία πελάτη: Η Eastman ενοποίησε δεδομένα και δημιουργεί ένα μέλλον με τεχνητή νοημοσύνη με Microsoft Fabric.

Ανάκτηση-επαυξημένη γενιά (RAG)

Το RAG ενισχύει τις απαντήσεις LLM ανακτώντας σχετικά δεδομένα από τη βάση δεδομένων σας πριν δημιουργήσει μια απάντηση. Αντί να βασίζεται αποκλειστικά στα δεδομένα εκπαίδευσης του μοντέλου, η εφαρμογή υποβάλλει ερωτήματα στα λειτουργικά σας δεδομένα για να γειώσει τις απαντήσεις σε τρέχοντα γεγονότα που αφορούν συγκεκριμένο τομέα. Για μια ολοκληρωμένη επισκόπηση, ανατρέξτε στην ενότητα Ανάκτηση-επαυξημένη γενιά (RAG).

Ένα τυπικό μοτίβο RAG με βάση δεδομένων SQL στο Fabric ακολουθεί τα εξής βήματα:

  1. Κομμάτι: Σπάστε μεγάλες πηγές δεδομένων (έγγραφα, άρθρα γνωσιακής βάσης, καταλόγους προϊόντων) σε διαχειρίσιμα κομμάτια και μετατρέψτε τα σε απλό κείμενο.
  2. Embed: Δημιουργήστε διανυσματικές ενσωματώσεις για κάθε κομμάτι χρησιμοποιώντας Azure OpenAI ή άλλο μοντέλο ενσωμάτωσης.
  3. Store: Εισαγάγετε τις ενσωματώσεις σε έναν πίνακα με μια διανυσματική στήλη δίπλα στο κείμενο προέλευσης και τυχόν σχεσιακά μεταδεδομένα.
  4. Ανάκτηση: Όταν ένας χρήστης κάνει μια ερώτηση, ενσωματώστε το ερώτημα με το ίδιο μοντέλο και, στη συνέχεια, χρησιμοποιήστε VECTOR_DISTANCE για να βρείτε τα πιο παρόμοια κομμάτια. Ενώστε με σχεσιακούς πίνακες για να εμπλουτίσετε το πλαίσιο.
  5. Αύξηση: Συνδυάστε τα ανακτημένα κομμάτια με την αρχική ερώτηση του χρήστη σε μια προτροπή που καθοδηγεί το LLM πώς να χρησιμοποιήσει το πλαίσιο.
  6. Δημιουργία: Στείλτε την επαυξημένη προτροπή σε ένα LLM, το οποίο παράγει μια απάντηση που βασίζεται στα ανακτημένα δεδομένα.

Υβριδική διανυσματική αναζήτηση σε βάση δεδομένων συναλλαγών

Επειδή οι ενσωματώσεις και τα σχεσιακά δεδομένα βρίσκονται στην ίδια βάση δεδομένων, μπορείτε να φιλτράρετε με βάση σχεσιακά χαρακτηριστικά (περιοχές ημερομηνιών, κατηγορίες, δικαιώματα πρόσβασης) στο ίδιο ερώτημα, βελτιώνοντας τόσο τη συνάφεια όσο και την ασφάλεια. Μπορείτε να συνδυάσετε διανυσματικές αναζητήσεις με παραδοσιακά φίλτρα SQL (WHERE) για αποτελέσματα φιλτραρισμένα τόσο σε συναλλακτικές σχέσεις όσο και σε διανυσματικές συναρτήσεις. Για παράδειγμα:

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

Αυτό το μοτίβο είναι χρήσιμο για προτάσεις προϊόντων, αναζήτηση γνωσιακής βάσης και σενάρια υποστήριξης πελατών, όπου τα αποτελέσματα πρέπει να είναι σημασιολογικά σχετικά και να περιορίζονται από επιχειρηματικούς κανόνες.

Μπορείτε επίσης να υποβάλετε ερώτημα με τη νεότερη σύνταξη VECTOR_SEARCH T-SQL, για να βρείτε κατά προσέγγιση αποτελέσματα πλησιέστερου γείτονα. Για παράδειγμα:

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 με τους διακομιστές Fabric MCP

Το Fabric προσφέρει τόσο ένα Fabric Local MCP ανοιχτού κώδικα όσο και έναν διακομιστή Fabric Remote MCP για πράκτορες AI. Αυτοί οι διακομιστές παρέχουν άμεσο έλεγχο ταυτότητας και οδηγίες για προετοιμασμένες λειτουργίες, όπως διαχείριση χώρου εργασίας, CRUD στοιχείων και ορισμούς και διαχείριση αδειών.

Και οι δύο επιλογές διακομιστή Fabric MCP λειτουργούν με οποιονδήποτε πελάτη συμβατό με MCP, συμπεριλαμβανομένων των GitHub Copilot, Cursor, Claude Desktop και άλλων. Για παράδειγμα, η επέκταση διακομιστή MCP Fabric για Visual Studio Code λειτουργεί με την επέκταση Microsoft Fabric και την επέκταση Copilot Chat GitHub. Χρησιμοποιώντας αυτές τις επεκτάσεις, μπορείτε να αποκτήσετε πρόσβαση στα εργαλεία Fabric MCP στη συνομιλία GitHub Copilot και να χρησιμοποιήσετε πράκτορες για τη διαχείριση στοιχείων Fabric, όπως η δημιουργία και η διαχείριση της βάσης δεδομένων Fabric SQL.

  • Ο διακομιστής Fabric Local MCP εκτελείται τοπικά στον υπολογιστή σας, έτσι ώστε οι πράκτορες AI να λαμβάνουν το περιβάλλον που χρειάζονται για να δημιουργήσουν στοιχεία κώδικα και συντάκτη χωρίς πρόσβαση στο περιβάλλον σας.
  • Ο διακομιστής Fabric Remote MCP είναι ένας διακομιστής που φιλοξενείται στο cloud και επιτρέπει στους πράκτορες AI να εκτελούν προετοιμασμένες λειτουργίες με έλεγχο ταυτότητας στο περιβάλλον Fabric χωρίς να απαιτείται τοπική ρύθμιση.

Τα εργαλεία AI χρησιμοποιούν τον διακομιστή Fabric MCP για να γράψουν κώδικα με τα σωστά API και εντός των σωστών ορίων RBAC που ήδη εμπιστεύεστε.

Για παράδειγμα, μετά από μια γρήγορη εγκατάσταση του τοπικού διακομιστή Fabric MCP, μπορείτε να κάνετε ερωτήσεις υποδομής και να αναθέσετε εργασίες στη συνομιλία GitHub Copilot σε κώδικα Visual Studio, σε λειτουργία παράγοντα. Για παράδειγμα:

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

Το copilot σας χρησιμοποιεί γνωστές εντολές Fabric API για να επιστρέψει όλα τα στοιχεία Fabric αυτών των τύπων.

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

Το copilot σας χρησιμοποιεί γνωστές εντολές Fabric API για να δημιουργήσει το στοιχείο βάσης δεδομένων για εσάς, με προεπιλεγμένες ρυθμίσεις.

Πράκτορες AI με SQL MCP Server

Ο διακομιστής SQL MCP παρέχει μια διεπαφή πρωτοκόλλου περιβάλλοντος μοντέλου που μπορούν να χρησιμοποιήσουν οι πράκτορες AI για να αλληλεπιδράσουν με τη βάση δεδομένων σας μέσω ενός διερχόμενου API που βασίζεται σε εργαλεία αντί να δημιουργούν ακατέργαστη SQL. Ο διακομιστής:

  • Εκθέτει ένα καθορισμένο σύνολο εργαλείων που υποστηρίζονται από τη ρύθμιση παραμέτρων.
  • Επιβάλλει δικαιώματα και περιορισμούς με συνέπεια.
  • Επιτρέπει στους εκπροσώπους να ανακαλύψουν τις διαθέσιμες δυνατότητες χωρίς να μαντέψουν το σχήμα.

Αυτό το μοτίβο είναι χρήσιμο για τη δημιουργία αυτόνομων παραγόντων που μπορούν να υποβάλλουν ερωτήματα και να ενημερώνουν λειτουργικά δεδομένα ως μέρος ροών εργασίας πολλαπλών βημάτων.

Ο διακομιστής SQL MCP χρησιμοποιεί την αφαίρεση οντοτήτων, το RBAC, την προσωρινή αποθήκευση και την τηλεμετρία του δημιουργού Data API για να προσφέρει μια επιφάνεια έτοιμη για παραγωγή που λειτουργεί το ίδιο σε REST, GraphQL και MCP. Το διαμορφώνεις μία φορά και ο κινητήρας χειρίζεται τα υπόλοιπα.

Η επέκταση MSSQL για Visual Studio Code περιλαμβάνει μια ενσωματωμένη διεπαφή χρήστη για το Data API builder, ώστε να μπορείτε να δημιουργείτε τελικά σημεία REST, GraphQL και MCP για τους πίνακες της βάσης δεδομένων SQL χωρίς να γράφετε αρχεία διαμόρφωσης ή να αφήνετε Visual Studio Code. Μπορείτε να επιλέξετε ποιους πίνακες θα εκθέσετε, να διαμορφώσετε τα δικαιώματα CRUD, να επιλέξετε τύπους API, να κάνετε προεπισκόπηση της διαμόρφωσης που δημιουργείται και να αναπτύξετε ένα τοπικό backend που υποστηρίζεται από το πρόγραμμα δημιουργίας Data API, όλα από μια οπτική διεπαφή.

Εμπλουτισμός με Azure OpenAI

Το SQL μηχανή βάσης δεδομένων παρέχει ενσωματωμένες συναρτήσεις T-SQL για τη δημιουργία ενσωματώσεων και την τμηματοποίηση κειμένου απευθείας στη βάση δεδομένων, χωρίς εξωτερικό κώδικα ή διοχετεύσεις.

Καταχώρηση μοντέλου ενσωμάτωσης

Χρησιμοποιήστε το CREATE EXTERNAL MODEL για να καταχωρήσετε ένα τελικό σημείο ενσωμάτωσης Azure OpenAI ως αντικείμενο βάσης δεδομένων. Αυτό το παράδειγμα χρησιμοποιεί την ανάπτυξη text-embedding-ada-002 με έλεγχο ταυτότητας διαχειριζόμενης Microsoft Entra. Αρχικά, δημιουργήστε διαπιστευτήρια πρόσβασης στο Azure OpenAI χρησιμοποιώντας μια διαχειριζόμενη ταυτότητα:

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

Στη συνέχεια, δημιουργήστε ένα εξωτερικό μοντέλο:

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

Για περισσότερες επιλογές ελέγχου ταυτότητας, συμπεριλαμβανομένων των κλειδιών API, ανατρέξτε στην ενότητα ΔΗΜΙΟΥΡΓΙΑ ΕΞΩΤΕΡΙΚΟΥ ΜΟΝΤΕΛΟΥ.

Δημιουργία ενσωματωμένων ενσωματώσεων

Χρησιμοποιήστε AI_GENERATE_EMBEDDINGS για να δημιουργήσετε διανυσματικές ενσωματώσεις απευθείας σε ερωτήματα, ένθετα και ενημερώσεις T-SQL.

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

Τμηματοποίηση και ενσωμάτωση σε μία πρόταση

Συνδυάστε AI_GENERATE_CHUNKS με AI_GENERATE_EMBEDDINGS για να χωρίσετε μεγάλο κείμενο σε κομμάτια και να τα ενσωματώσετε σε μία μόνο πρόταση 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;

Απευθείας κλήσεις REST με sp_invoke_external_rest_endpoint

Για σενάρια που δεν καλύπτονται από το AI_GENERATE_EMBEDDINGS, όπως ολοκληρώσεις κλήσεων ή τελικά σημεία συνομιλίας, χρησιμοποιήστε το sp_invoke_external_rest_endpoint για να καλέσετε οποιοδήποτε Azure OpenAI REST API απευθείας από την T-SQL. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Azure Ενσωμάτωση OpenAI.

Ενοποίηση με φόρτους εργασίας Fabric AI

Η βάση δεδομένων SQL στο Fabric συνδέεται με τις ευρύτερες δυνατότητες AI της πλατφόρμας:

Ενοποίηση Χρήση
σημειωματάριων Fabric Υποβάλετε ερώτημα στη βάση δεδομένων SQL από σημειωματάρια PySpark ή Python για προετοιμασία δεδομένων, εκπαίδευση μοντέλων και βαθμολόγηση δέσμης.
Fabric Επιστήμη Δεδομένων Χρησιμοποιήστε δεδομένα SQL ως είσοδο για πειράματα μηχανικής εκμάθησης και, στη συνέχεια, γράψτε προβλέψεις πίσω στη βάση δεδομένων για λειτουργική κατανάλωση.
Copilot στη βάση δεδομένων SQL Χρησιμοποιήστε φυσική γλώσσα για να δημιουργήσετε, να εξηγήσετε και να βελτιστοποιήσετε ερωτήματα T-SQL απευθείας στο πρόγραμμα επεξεργασίας ερωτημάτων πύλης Fabric.
API για GraphQL Εκθέστε δεδομένα εμπλουτισμένα με AI μέσω τελικών σημείων GraphQL για κατανάλωση εφαρμογών.
Διοχετεύσεις δεδομένων και ροή δεδομένων Gen2 Ενορχηστρώστε την ενσωμάτωση ροών εργασίας δημιουργίας και εμπλουτισμού σε κλίμακα.

Ιστορίες περιπτώσεων χρήσης βάσης δεδομένων Fabric SQL

Για να μάθετε περισσότερα σχετικά με τις βέλτιστες περιπτώσεις χρήσης για τη βάση δεδομένων Fabric SQL, ανατρέξτε στο θέμα: