AI și integrare vectorială
SQL Server 2025 introduce un nou set de funcții AI și vectoriale care permit dezvoltatorilor de baze de date să integreze capabilități bazate pe AI direct în T-SQL. Aceste noi capabilități fac posibilă generarea de încorporari, calcularea similitudinii vectoriale și căutarea în date îmbogățite cu inteligență artificială fără a părăsi SQL Server. Acest nivel de integrare reduce nevoia de servicii externe, simplifică arhitectura aplicațiilor și acceptă fluxuri de lucru inteligente în timp real.
Prezentare generală a inteligenței artificiale și a funcțiilor vectoriale
Noile funcții AI din SQL Server 2025 se încadrează în trei categorii principale: generarea AI, operațiunile vectoriale și indexarea și căutarea vectorială.
Funcții de generare AI
- AI_GENERATE_CHUNKS – Împarte text sau documente mari în bucăți coerente din punct de vedere semantic care pot fi ulterior încorporate sau stocate pentru scenarii de generare augmentată de recuperare (RAG).
- AI_GENERATE_EMBEDDINGS – Generează încorporari din introducerea textului utilizând un model extern înregistrat în SQL Server. Aceste încorporari pot fi stocate în tabele pentru a fi utilizate în căutarea vectorială, analiza similitudinii sau clasificarea semantică.
Operații vectoriale
- VECTOR_DISTANCE – Calculează distanța dintre două valori vectoriale, acceptând valori de distanță, cum ar fi cosinus, euclidian și produs scalar.
- VECTOR_NORM – Returnează norma vectorială (magnitudine) pentru un vector dat.
- VECTOR_NORMALIZE – Returnează o versiune normalizată a unui vector, utilizată de obicei înainte de căutările de comparație sau similaritate.
- VECTORPROPERTY – Returnează metadate despre un vector, cum ar fi dimensiunile sau tipul elementului.
Modele externe și indici vectoriali
SQL Server 2025 vă permite să înregistrați și să gestionați modele AI externe folosind T-SQL.
- CREAȚI UN MODEL EXTERN / MODIFICAȚI UN MODEL EXTERN / RENUNȚAȚI LA UN MODEL EXTERN – Gestionați modelele AI care sunt găzduite local sau prin furnizori de modele acceptați.
- CREATE VECTOR INDEX – Creează un index optimizat pentru date vectoriale pentru a accelera căutările de similitudine.
- VECTOR_SEARCH – Efectuează operații de căutare a similitudinii pe datele vectoriale folosind indicele vectorial, returnând cele mai apropiate potriviri pe baza valorii de distanță selectate.
Aceste capabilități permit SQL Server să servească drept bază pentru generarea augmentată de recuperare, motoarele de recomandare și aplicațiile de căutare semantică în întregime în cadrul motorului bazei de date.
Stocare vectorială cu jumătate de precizie și ingerare binară
Vectorii pot utiliza acum elemente în virgulă mobilă cu jumătate de precizie (fp16) pentru a reduce utilizarea memoriei și pentru a îmbunătăți performanța de scanare în sarcinile de lucru grele de încorporare.
De asemenea, puteți încărca în bloc vectori în format binar utilizând BULK INSERT sau OPENROWSET(BULK ...), ceea ce simplifică importul de seturi mari de încorporare create în afara SQL Server.
Exemplu de scenariu: Construirea unei interogări de recomandare de produs
Imaginați-vă că lucrați pentru o companie de vânzare cu amănuntul care stochează descrieri de produse într-o bază de date SQL Server 2025. Echipa de marketing dorește să construiască o funcție de recomandare care să sugereze produse similare semantic cu un articol selectat. Folosind noile funcții AI și vectoriale, puteți genera încorporari pentru descrierile produselor, le puteți stoca într-un tabel și puteți efectua căutări de similitudine fără procesare externă.
Crearea și înregistrarea modelului
Înainte de a genera încorporari, trebuie să înregistrați un model extern.
CREATE EXTERNAL MODEL embedding_model
FROM OPENAI
WITH (ENDPOINT = 'https://api.openai.com/v1/embeddings',
API_KEY = SECRET('openai_key'),
MODEL_NAME = 'text-embedding-3-small');
Generați și stocați încorporari
Odată ce modelul este înregistrat, puteți genera încorporari pentru descrierile produselor și le puteți stoca într-un tabel nou.
CREATE TABLE ProductEmbeddings
(
ProductID INT PRIMARY KEY,
Description NVARCHAR(MAX),
Embedding VECTOR(1536)
);
INSERT INTO ProductEmbeddings (ProductID, Description, Embedding)
SELECT ProductID,
Description,
AI_GENERATE_EMBEDDINGS('embedding_model', Description)
FROM Products;
Creați un index vectorial și rulați o căutare
Pentru a îmbunătăți performanța căutării, creați un index vectorial pentru a accelera căutările de similitudine.
CREATE VECTOR INDEX idx_ProductEmbedding
ON ProductEmbeddings (Embedding)
WITH (DISTANCE_METRIC = 'cosine');
Acum puteți efectua o căutare semantică pentru produsele conexe:
DECLARE @query NVARCHAR(MAX) = 'waterproof hiking backpack';
DECLARE @vector VECTOR(1536) = AI_GENERATE_EMBEDDINGS('embedding_model', @query);
SELECT TOP 5 ProductID, Description,
VECTOR_DISTANCE(Embedding, @vector, 'cosine') AS SimilarityScore
FROM ProductEmbeddings
ORDER BY SimilarityScore ASC;
Rezultate
| Productid | Descriere | Scor de similitudine |
|---|---|---|
| 105 | "Rucsac de călătorie impermeabil ușor" | 0.07 |
| 116 | "Rucsac de drumeție cu husă de ploaie și fantă de hidratare" | 0.10 |
| 117 | "Rucsac compact de zi în aer liber cu rezistență la apă" | 0.12 |
| 101 | "Rucsac pregătit pentru traseu cu curele externe" | 0.15 |
| 119 | "Setrajă impermeabilă pentru călătorii și camping" | 0.18 |
Acest exemplu demonstrează cum să integrați un model AI extern, să generați încorporari direct în T-SQL și să efectuați o căutare de similitudine folosind funcții vectoriale încorporate. Totul rulează în SQL Server, ceea ce simplifică dezvoltarea și permite fluxurilor de lucru inteligente să rămână sigure și guvernate de politicile de baze de date existente.
Rezumat
SQL Server 2025 introduce capabilități AI native care permit dezvoltatorilor să construiască aplicații inteligente de baze de date direct în T-SQL. Funcții precum AI_GENERATE_EMBEDDINGS, VECTOR_DISTANCEși eficientizează integrarea cu modelele VECTOR_SEARCH AI, menținând în același timp performanța și securitatea. Împreună, aceste caracteristici fac din SQL Server 2025 o platformă puternică pentru căutare semantică, recomandări și analize contextuale, fără a se baza pe conducte de calcul externe.