Integrați modele AI și servicii externe în siguranță

Finalizat

SQL Server 2025 oferă suport nativ pentru conectarea la modele și servicii AI externe direct din T-SQL. Această integrare elimină complexitatea gestionării infrastructurii separate, menținând în același timp standardele de securitate și conformitate la nivel de întreprindere.

Capacitatea de a conecta SQL Server la servicii AI externe înseamnă că puteți utiliza modele din Azure OpenAI, modele ONNX personalizate sau orice punct final AI bazat pe REST fără a muta datele din baza de date. Această abordare vă păstrează datele în siguranță, reduce latența și simplifică arhitectura aplicațiilor prin centralizarea operațiunilor AI în platforma de date.

Conectați-vă la modele AI externe folosind API-uri REST

SQL Server 2025 se bazează pe procedura stocată de sp_invoke_external_rest_endpoint sistem (introdusă în SQL Server 2022) pentru a permite integrarea cu serviciile AI. Această capacitate îți permite să apelezi API-uri REST direct din T-SQL pentru a le integra cu servicii AI precum Azure OpenAI, Microsoft Foundry și endpoint-uri AI personalizate, fără a părăsi contextul bazei de date.

Invocarea punctelor finale REST pentru inferența AI

Modelul de bază pentru apelarea unui serviciu AI extern implică construirea unei sarcini JSON și trimiterea acesteia către un punct final REST:

DECLARE @url NVARCHAR(4000) = N'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';
DECLARE @payload NVARCHAR(MAX) = JSON_OBJECT('input': N'SQL Server 2025 AI capabilities');
DECLARE @response NVARCHAR(MAX);
DECLARE @ret INT;

EXEC @ret = sp_invoke_external_rest_endpoint
    @url = @url,
    @method = 'POST',
    @credential = [MyAzureOpenAICredential],
    @payload = @payload,
    @response = @response OUTPUT;

-- Extract the embedding from the response
DECLARE @embedding VECTOR(1536) = JSON_QUERY(@response, '$.result.data[0].embedding');
SELECT @embedding AS generated_embedding;

Acest cod trimite un șir de text la punctul final de încorporare Azure OpenAI și preia o încorporare vectorială . Procedura sp_invoke_external_rest_endpoint gestionează autentificarea utilizând o acreditare bazată pe baza bazei de date, execută solicitarea HTTP și returnează răspunsul ca JSON. Încorporarea este apoi extrasă folosind JSON_QUERY și turnată pe tipul de date vectoriale pentru stocare sau procesare ulterioară.

Utilizați în siguranță acreditările bazei de date

Pentru a apela servicii externe în siguranță, puteți crea acreditări bazate de date care stochează informații de autentificare:

-- Create a credential for Azure OpenAI
CREATE DATABASE SCOPED CREDENTIAL [MyAzureOpenAICredential]
WITH IDENTITY = 'HTTPEndpointHeaders',
SECRET = '{"api-key":"your-api-key-here"}';

Această acreditare stochează cheia API în siguranță în SQL Server și poate fi menționată în apelurile de punct final REST. Acreditarea este criptată și accesibilă numai utilizatorilor autorizați, asigurându-se că informațiile sensibile de autentificare nu sunt expuse în codul aplicației.

Gestionați modele AI externe cu CREATE EXTERNAL MODEL

SQL Server 2025 introduce o nouă sintaxă pentru gestionarea definițiilor modelelor AI direct în baza de date. Instrucțiunea CREATE EXTERNAL MODEL vă permite să definiți punctele finale ale modelului, metodele de autentificare și scopurile într-un mod centralizat și reutilizabil.

Definirea obiectelor de model externe

Creați un obiect model extern pentru a încapsula detaliile conexiunii pentru un serviciu AI:

CREATE EXTERNAL MODEL Ada2Embeddings
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'text-embedding-ada-002',
    CREDENTIAL = [MyAzureOpenAICredential]
);

Aceasta creează o definiție a modelului reutilizabil numită Ada2Embeddings care indică un model de încorporare Azure OpenAI. Prin definirea modelului o singură dată, îl puteți utiliza în întreaga bază de date fără a repeta detaliile conexiunii, facilitând întreținerea și reducând riscul de erori de configurare.

Generați încorporari folosind modele externe

Odată ce un model extern este definit, îl puteți utiliza cu funcția AI_GENERATE_EMBEDDINGS :

DECLARE @text NVARCHAR(MAX) = N'SQL Server 2025 enables AI-powered applications';
DECLARE @embedding VECTOR(1536) = AI_GENERATE_EMBEDDINGS(@text USE MODEL Ada2Embeddings);

INSERT INTO documents (title, content, embedding)
VALUES (N'Getting Started', @text, @embedding);

Acest cod generează o încorporare pentru textul furnizat folosind modelul Ada2Embeddings și îl stochează în tabelul de documente. Funcția AI_GENERATE_EMBEDDINGS abstracționează complexitatea efectuării de apeluri REST și a analizării răspunsurilor, oferind o modalitate simplă, nativă SQL, de a genera încorporari.

Modificarea și eliminarea modelelor externe

Puteți actualiza sau elimina definițiile modelelor externe pe măsură ce cerințele se modifică:

-- Alter an existing external model
ALTER EXTERNAL MODEL Ada2Embeddings
SET LOCATION = 'https://newendpoint.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';

-- Drop an external model when no longer needed
DROP EXTERNAL MODEL Ada2Embeddings;

Instrucțiunea ALTER EXTERNAL MODEL vă permite să actualizați configurațiile modelului fără a recrea obiecte dependente. Când un model nu mai este necesar, DROP EXTERNAL MODEL elimină definiția în mod curat din baza de date.

Implementați modele de autentificare securizate

Atunci când se integrează cu servicii externe, SQL Server 2025 oferă mai multe mecanisme de autentificare pentru a asigura accesul securizat și conform la serviciile AI.

Utilizarea identităților gestionate cu Microsoft Entra

Identitățile gestionate elimină necesitatea de a stoca acreditări utilizând infrastructura de identitate Azure. Cu SQL Server activat de Azure Arc, puteți utiliza identități gestionate atât pentru conexiunile de intrare, cât și pentru cele de ieșire:

-- Create a credential using managed identity
CREATE DATABASE SCOPED CREDENTIAL [AzureOpenAIManagedIdentity]
WITH IDENTITY = 'Managed Identity';

-- Use the managed identity credential with external models
CREATE EXTERNAL MODEL SecureEmbeddingModel
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'text-embedding-ada-002',
    CREDENTIAL = [AzureOpenAIManagedIdentity]
);

Această abordare utilizează identitatea gestionată atribuită instanței SQL Server pentru autentificare, eliminând necesitatea de a gestiona cheile API sau parolele. Platforma Azure se ocupă de rotația acreditărilor și gestionarea accesului, reducând riscurile de securitate și cheltuielile administrative.

Integrează cu Foundry Tools

SQL Server 2025 se integrează cu întreaga suită de Foundry Tools, permițând scenarii AI direct din baza ta de date.

Conectați-vă la serviciul Azure OpenAI

Azure OpenAI oferă acces la modele de limbaj precum GPT-4, GPT-3.5 și modele de încorporare:

-- Create a model for GPT-4
CREATE EXTERNAL MODEL GPT4Model
WITH (
    LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'gpt-4',
    CREDENTIAL = [MyAzureOpenAICredential]
);

-- Use GPT-4 for text generation via REST endpoint
DECLARE @prompt NVARCHAR(MAX) = JSON_OBJECT(
    'messages': JSON_ARRAY(
        JSON_OBJECT('role': 'system', 'content': 'You are a helpful assistant'),
        JSON_OBJECT('role': 'user', 'content': 'Explain vector search in simple terms')
    )
);
DECLARE @response NVARCHAR(MAX);

EXEC sp_invoke_external_rest_endpoint
    @url = N'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
    @method = 'POST',
    @credential = [MyAzureOpenAICredential],
    @payload = @prompt,
    @response = @response OUTPUT;

SELECT JSON_VALUE(@response, '$.result.choices[0].message.content') AS ai_response;

Acest exemplu creează o definiție de model extern pentru GPT-4 și demonstrează apelarea API-ului de finalizare a chatului. Răspunsul este analizat folosind funcții JSON pentru a extrage textul generat de AI, care poate fi apoi utilizat în logica aplicației sau stocat pentru utilizare ulterioară.

Folosește Microsoft Foundry

Microsoft Foundry oferă o platformă cuprinzătoare pentru construirea, instruirea și implementarea modelelor AI personalizate care răspund unor cerințe specifice de business, dincolo de ceea ce pot oferi modelele cu scop general. În timp ce Azure OpenAI oferă acces la modele preantrenate precum GPT-4 și text-embedding-ada-002, Microsoft Foundry îți permite să creezi modele specializate antrenate pe datele tale proprietare, terminologie specifică industriei și cazuri de utilizare unice.

Integrarea dintre SQL Server 2025 și Microsoft Foundry îți permite să aduci inteligență specifică domeniului direct în datele tale, fără a fi mutată sau sincronizată a datelor. De exemplu, puteți antrena un model de clasificare personalizat pentru a clasifica biletele de asistență pentru clienți pe baza produselor și serviciilor specifice companiei sau puteți crea un model de analiză a sentimentelor adaptat la modelele de limbaj ale industriei dvs. Odată implementate în Microsoft Foundry, aceste modele devin accesibile prin aceeași CREATE EXTERNAL MODEL sintaxă pe care o folosești pentru Azure OpenAI.

-- Connect to a custom classification model in Microsoft Foundry
CREATE EXTERNAL MODEL CustomClassifier
WITH (
    LOCATION = 'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
    API_FORMAT = 'Azure OpenAI',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'classifier',
    CREDENTIAL = [AzureAIFoundryCredential]
);

-- Use the custom model for domain-specific predictions
DECLARE @input_text NVARCHAR(MAX) = N'Customer reports slow query performance in production database';
DECLARE @request NVARCHAR(MAX) = JSON_OBJECT('input': @input_text);
DECLARE @response NVARCHAR(MAX);

EXEC sp_invoke_external_rest_endpoint
    @url = N'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
    @method = 'POST',
    @credential = [AzureAIFoundryCredential],
    @payload = @request,
    @response = @response OUTPUT;

-- Extract classification result
SELECT JSON_VALUE(@response, '$.result.category') AS ticket_category,
       JSON_VALUE(@response, '$.result.priority') AS priority_level;

Această abordare vă permite să mențineți o singură sursă de adevăr pentru datele dvs. în SQL Server, utilizând în același timp capacități AI care înțeleg contextul specific de afaceri. Beneficiul se extinde dincolo de comoditatea tehnică: păstrând datele în SQL Server și apelând modele AI prin puncte finale API securizate, mențineți controlul deplin asupra guvernanței datelor, conformității și politicilor de acces. Datele sensibile de afaceri nu trebuie să părăsească infrastructura bazei de date, dar puteți aplica în continuare modele AI care au fost antrenate pentru a vă înțelege cerințele unice.

Implementarea modelelor ONNX

Open Neural Network Exchange (ONNX) este un standard deschis pentru reprezentarea modelelor de învățare automată. SQL Server 2025 acceptă runtime ONNX, permițându-vă să implementați modele personalizate local.

Utilizați runtime ONNX pentru inferență locală

Modelele ONNX pot rula direct în SQL Server fără dependențe externe:

-- Reference a local ONNX model file
CREATE EXTERNAL MODEL LocalSentimentModel
WITH (
    LOCATION = 'C:\Models\sentiment_analysis',
    API_FORMAT = 'ONNX Runtime',
    MODEL_TYPE = EMBEDDINGS,
    MODEL = 'sentiment-model',
    LOCAL_RUNTIME_PATH = 'C:\onnx_runtime\'
);

Această abordare se potrivește scenariilor în care aveți nevoie de inferență cu latență scăzută, doriți să evitați apelurile de rețea externe sau aveți cerințe de conformitate care împiedică datele să părăsească infrastructura. Ar LOCATION trebui să indice directorul care conține fișierele model.onnx și tokenizer.json, în timp ce LOCAL_RUNTIME_PATH indică directorul care conține fișierele DLL de rulare ONNX.

Aplicarea celor mai bune practici de securitate

Când integrați serviciile AI cu SQL Server, urmați aceste instrucțiuni de securitate:

Controlați accesul cu permisiuni

Acordați permisiuni obiectelor model externe cu atenție:

-- Grant permission to use an external model
GRANT EXECUTE ON EXTERNAL MODEL::Ada2Embeddings TO AIApplicationUser;

-- Revoke permissions when no longer needed
REVOKE EXECUTE ON EXTERNAL MODEL::Ada2Embeddings FROM AIApplicationUser;

Aceste declarații controlează ce utilizatori și roluri pot utiliza modele externe specifice, permițând un control fin al accesului asupra capabilităților AI.

Activați auditul și monitorizarea

Urmăriți operațiunile AI pentru conformitate și depanare:

-- Create an audit specification for external REST endpoint calls
CREATE SERVER AUDIT SPECIFICATION TrackAIOperations
FOR SERVER AUDIT [MyServerAudit]
ADD (DATABASE_OBJECT_ACCESS_GROUP);

Auditarea surprinde toate interacțiunile cu modelele externe și punctele finale REST, oferind vizibilitate asupra modelelor de utilizare AI și susținând cerințele de conformitate.

Prin implementarea acestor modele de integrare securizate, puteți implementa soluții bazate pe inteligență artificială cu SQL Server 2025 care îndeplinesc cerințele de securitate, conformitate și guvernanță ale întreprinderii.