Käytä SQL-tietokantaa tekoälysovelluksissa

Soveltaa:SQL-tietokanta Microsoft Fabric

Tässä artikkelissa kuvataan, miten SQL-tietokantaa käytetään Fabric-ohjelmassa tekoälypohjaisten sovellusten rakentamiseen, jotka yhdistävät transaktiotiedot suuriin kielimalleihin (LLM), vektorihakuun tai hakupohjaisiin generointimalleihin (RAG).

SQL-tietokanta Fabric tarjoaa suhteellisen perustan älykkäille sovelluksille: ACID-transaktiot, matalaviiveiset kyselyt, natiivi vektori tietotyyppi ja -toiminnot sekä tiivis integraatio laajempaan Fabric-analytiikkaan ja tekoälyalustaan.

Miksi SQL-tietokanta Fabric-sovelluksessa tekoälysovelluksia varten?

Älykkäiden sovellusten rakentaminen vaatii tietokannan, joka voi tallentaa operatiivista dataa vektoriupotusten rinnalle, palvella sekä transaktio- että samankaltaisuuskyselyitä matalalla viiveellä ja integroida tekoälyn orkestrointikehyksiin. SQL-tietokanta Fabric:ssa täyttää seuraavat vaatimukset:

  • Native vector support: SQL tietokantamoduuli on natiivi vektoritietotyyppi ja vektoriskalaarifunktiot mahdollistavat upotusten tallentamisen ja samankaltaisuushakujen suorittamisen suoraan T-SQL:ssä ilman erillistä vektoritietokantaa.
  • RAG-valmis arkkitehtuuri: Yhdistä rakenteellinen liiketoimintatietosi vektoriupotuksiin samassa tietokannassa, jotta hakukyselyt voivat yhdistää relaatiokontekstin (asiakastiedot, tilaushistoria, tuotekatalogit) semanttisiin hakutuloksiin yhdessä kyselyssä.
  • Framework-integraatio: Yhdistä LangChain ja Semantic Kernel olemassa olevien SQL Server-liittimien kautta orkestroitujen tekoälytyönkulkujen rakentamiseksi.
  • Fabric alustan integraatio: Pääset SQL-tietoihisi Fabric Notebooksista, data-analytiikan työkuormista ja Copilot kokemuksista ilman, että dataa siirretään pois alustalta.
  • Enterprise governance: Microsoft Entra ID tunnistautuminen, työtilan tason turvallisuus ja asiakashallinnollinen avainsalaus pätevät tekoälytyökuormiin samalla tavalla kuin mihin tahansa muuhun operatiiviseen työkuormaan.

Vihje

Todellisen asiakasesimerkin Fabric SQL-tietokannan käytöstä datan käsittelyyn ja vektoriupotusten luomiseen löytyy Customer story: Eastman unified data and build a AI-powered future with Microsoft Fabric.

Palautusaugmentoitu generointi (RAG)

RAG parantaa LLM-vastauksia hakemalla relevanttia dataa tietokannastasi ennen vastauksen tuottamista. Sen sijaan, että se luottaisi pelkästään mallin koulutusdataan, sovellus kyselee operatiivisia tietojasi maa-arvoihin nykyisissä, toimialakohtaisissa faktoissa. Kattavan yleiskatsauksen löydät kohdasta Retrieval-augmented generation (RAG).

Tyypillinen RAG-malli SQL-tietokannalla Fabric:ssa noudattaa seuraavia vaiheita:

  1. Chunk: Pilko suuret tietolähteet (asiakirjat, tietokanta-artikkelit, tuotekatalogit) hallittaviin osiin ja muunna ne tavalliseksi tekstiksi.
  2. Embed: Generoi vektoriupotukset jokaiselle lohkolle käyttämällä Azure OpenAI tai muuta upotusmallia.
  3. Tallenna: Lisää upotukset taulukkoon, jossa on vektorisarake lähdetekstin ja mahdollisen relaatiometatiedon viereen.
  4. Hae: Kun käyttäjä kysyy kysymyksen, upotetaan kysely samalla mallilla ja käytä VECTOR_DISTANCE löytääksesi mahdollisimman samankaltaiset lohkot. Yhdistä relaatiotaulukot rikastuttaaksesi kontekstia.
  5. Augment: Yhdistä haetut lohkot käyttäjän alkuperäiseen kysymykseen kehotteekseen, joka ohjeistaa LLM:ää käyttämään kontekstia.
  6. Generoi: Lähetä laajennettu kehote LLM:lle, joka tuottaa vastauksen, joka perustuu haettuun dataan.

Hybridivektorihaku transaktiotietokannassa

Koska upotukset ja relaatiodata sijaitsevat samassa tietokannassa, voit suodattaa relaatioattribuutteja (päivämäärävälit, kategoriat, käyttöoikeudet) mukaan samassa kyselyssä, parantaen sekä relevanssia että turvallisuutta. Voit yhdistää vektorihakuja perinteisiin SQL-suodattimiin (WHERE) saadaksesi tulokset, jotka on suodatettu sekä transaktionaalisista suhteista että vektorifunktioista. Esimerkkejä:

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

Tämä malli on hyödyllinen tuotesuosituksissa, tietopohjan haussa ja asiakastukitilanteissa, joissa tulosten tulee olla sekä semanttisesti merkityksellisiä että liiketoiminnan sääntöjen rajoittamia.

Voit myös tehdä kyselyn uudemmalla VECTOR_SEARCH T-SQL-syntaksilla löytääksesi likimääräiset lähimmän naapurin tulokset. Esimerkkejä:

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;

Tekoälyagentit Fabric MCP -palvelimilla

Fabric tarjoaa sekä avoimen lähdekoodin Fabric Local MCP:n että Fabric Remote MCP -palvelimen tekoälyagenteille. Nämä palvelimet tarjoavat suoran tunnistautumisen ja ohjeet valmisteltuihin toimintoihin, kuten työtilan hallintaan, kohteiden CRUDiin ja määritelmiin sekä käyttöoikeuksien hallintaan.

Molemmat Fabric MCP -palvelinvaihtoehdot toimivat minkä tahansa MCP-yhteensopivan asiakkaan kanssa, mukaan lukien GitHub Copilot, Cursor, Claude Desktop ja monet muut. Esimerkiksi Fabric MCP Server -laajennus Visual Studio Code toimii yhdessä Microsoft Fabric-laajennuksen kanssa ja GitHub Copilot Chat -laajennuksen kanssa. Näiden laajennusten avulla voit käyttää Fabric MCP -työkaluja GitHub Copilot -chatissa ja käyttää agentteja Fabric-kohteiden hallintaan, kuten Fabric SQL -tietokannan luomiseen ja hallintaan.

  • Fabric Local MCP -palvelin toimii paikallisesti koneellasi, joten tekoälyagentit saavat tarvittavan kontekstin koodin ja kohteiden luomiseen ilman, että heidän tarvitsee käyttää ympäristöäsi.
  • Fabric Remote MCP -palvelin on pilvipalvelussa isännöity palvelin, jonka avulla tekoälyagentit voivat suorittaa valmisteltuja ja todennettuja toimintoja Fabric-ympäristössäsi ilman paikallista asetusta.

Tekoälytyökalut käyttävät Fabric MCP -palvelinta kirjoittaakseen koodia oikeilla rajapinnoilla ja oikeilla RBAC-rajoilla, joihin jo luotat.

Esimerkiksi nopean Fabric-paikallisen MCP-palvelimen asennuksen jälkeen voit esittää infrastruktuurikysymyksiä ja määrittää tehtäviä GitHub Copilot -chatille Visual Studio -koodissa, Agent-tilassa. Esimerkkejä:

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

Agenttisi käyttää tunnettuja Fabric API -komentoja palauttaakseen kaikki kyseisen tyyppiset Fabric-kohteet.

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

Agenttisi käyttää tunnettuja Fabric API -komentoja luodakseen tietokantakohteen sinulle oletusasetuksin.

Tekoälyagentit SQL MCP Serverillä

SQL MCP Server tarjoaa Model Context Protocol -rajapinnan, jota tekoälyagentit voivat käyttää kommunikoidakseen tietokantasi kanssa hallitun, työkalupohjaisen API:n kautta raakaa SQL:ää tuottamisen sijaan. Palvelin:

  • Se paljastaa määritellyn joukon työkaluja, joita tukee konfiguraatiosi.
  • Valvoo oikeuksia ja rajoituksia johdonmukaisesti.
  • Agentit voivat löytää käytettävissä olevia ominaisuuksia ilman skeeman arvailua.

Tämä malli on hyödyllinen autonomisten agenttien rakentamisessa, jotka voivat kysyä ja päivittää operatiivista dataa osana monivaiheisia työnkulkuja.

SQL MCP -palvelin käyttää Data API -rakentajan entiteettiabstraktiota, RBAC:ia, välimuistia ja telemetriaa tarjotakseen tuotantovalmiin pinnan, joka toimii samalla tavalla RESTissä, GraphQL:ssä ja MCP:ssä. Konfiguroit sen kerran, ja moottori hoitaa loput.

MSSQL-laajennus Visual Studio Code sisältää integroidun käyttöliittymän Data API builderille varten, joten voit luoda REST-, GraphQL- ja MCP-päätepisteitä SQL-tietokantatauluille kirjoittamatta konfiguraatiotiedostoja tai jättämättä Visual Studio Code. Voit valita, mitkä taulut avataan, konfiguroida CRUD-oikeudet, valita API-tyypit, esikatsella generoitua konfiguraatiota ja ottaa käyttöön paikallisen taustajärjestelmän, jota tukee Data API Builder, kaikki visuaalisesta käyttöliittymästä.

Rikastus Azure OpenAI:lla

SQL tietokantamoduuli tarjoaa sisäänrakennetut T-SQL-toiminnot upotusten luomiseen ja tekstin pilkkomiseen suoraan tietokantaan ilman ulkoista koodia tai putkistoja.

Rekisteröi upotusmalli

Käytä CREATE EXTERNAL MODEL rekisteröidäksesi Azure OpenAI:n upotuksen päätepisteen tietokantaobjektiksi. Tässä esimerkissä käytetään text-embedding-ada-002 käyttöönottoa Microsoft Entra hallitulla identiteetin tunnistautumisella. Ensiksi luo pääsytunnukset Azure OpenAI:lle hallitun identiteetin avulla:

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

Sitten luodaan ulkoinen malli:

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

Lisää todennusvaihtoehtoja, mukaan lukien API-avaimet, löydät kohdasta LUO ULKOINEN MALLI.

Generoi upotukset inline-vaiheessa

Käytä AI_GENERATE_EMBEDDINGS luodaksesi vektoriupotuksia suoraan T-SQL-kyselyissä, lisäyksissä ja päivityksissä.

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

Chunk ja upotetaan yhteen lauseeseen

Yhdistä AI_GENERATE_CHUNKS ja AI_GENERATE_EMBEDDINGS voit jakaa suuren tekstin osiin ja upottaa ne yhteen T-SQL-lauseeseen.

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;

Suorat REST-puhelut sp_invoke_external_rest_endpoint

Tilanteissa, joita AI_GENERATE_EMBEDDINGS ei katta, kuten täydellisten päätepisteiden tai chat-päätepisteiden kutsuminen, käytä sp_invoke_external_rest_endpoint kutsuaksesi mitä tahansa Azure OpenAI:n REST API:ta suoraan T-SQL:stä. Lisätietoja löytyy Azure OpenAI-integraatiosta.

Integraatio Fabric AI -työkuormiin

SQL-tietokanta Fabric:ssa yhdistää laajempien tekoälyominaisuuksien alustan:

Integrointi Käyttää
Fabric Notebooks - Kysy SQL-tietokantaa PySpark- tai Python-muistikirjoista datan valmisteluun, mallien koulutukseen ja eräajopisteytykseen.
Fabric Data Science Käytä SQL-dataa koneoppimiskokeiden syötteenä ja kirjoita ennusteet takaisin tietokantaan operatiivista käyttöä varten.
Copilot SQL-tietokannassa Käytä luonnollista kieltä luodaksesi, selittääksesi ja optimoidaksesi T-SQL-kyselyt suoraan Fabric-portaalin kyselyeditorissa.
API GraphQL:lle Altista tekoälyrikastettua dataa GraphQL-päätelaitteiden kautta sovellusten käyttöä varten.
Dataputket ja Dataflow Gen2 Orkestroi upotusten generointi- ja rikastamistyönkulut laajassa mittakaavassa.

Fabric SQL -tietokannan käyttötapaustarinat

Lisätietoja Fabric SQL -tietokannan parhaista käyttötapauksista löydät osoitteesta: