Yapay zeka modellerini ve dış hizmetleri güvenli bir şekilde tümleştirme

Tamamlandı

SQL Server 2025 , doğrudan T-SQL'den dış yapay zeka modellerine ve hizmetlerine bağlanmak için yerel destek sağlar. Bu tümleştirme, kurumsal düzeyde güvenlik ve uyumluluk standartlarını korurken ayrı altyapı yönetiminin karmaşıklığını ortadan kaldırır.

SQL Server'ı dış yapay zeka hizmetlerine bağlama özelliği, verilerinizi veritabanından dışarı taşımadan Azure OpenAI modellerinden, özel ONNX modellerinden veya REST tabanlı herhangi bir yapay zeka uç noktasından modelleri kullanabileceğiniz anlamına gelir. Bu yaklaşım veri platformunuzun içindeki yapay zeka işlemlerini merkezileştirerek verilerinizin güvenliğini korur, gecikme süresini azaltır ve uygulama mimarinizi basitleştirir.

REST API'lerini kullanarak dış yapay zeka modellerine bağlanma

SQL Server 2025, yapay zeka hizmetleriyle tümleştirmeyi etkinleştirmek için sistem saklı yordamını (SQL Server 2022'de kullanıma sunulmuştur) kullanır sp_invoke_external_rest_endpoint . Bu özellik, veritabanı bağlamından çıkmadan Azure OpenAI, Microsoft Foundry ve özel yapay zeka uç noktaları gibi yapay zeka hizmetleriyle tümleştirmek için REST API'lerini doğrudan T-SQL'den çağırmanıza olanak tanır.

Yapay zeka çıkarımı için REST uç noktalarını çağırma

Dış yapay zeka hizmetini çağırmaya yönelik temel desen, JSON yükü oluşturmayı ve bunu bir REST uç noktasına göndermeyi içerir:

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;

Bu kod, Azure OpenAI'nin ekleme uç noktasına bir metin dizesi gönderir ve bir vektör eklemesi alır. Yordam, sp_invoke_external_rest_endpointveritabanı kapsamlı kimlik bilgilerini kullanarak kimlik doğrulamasını işler, HTTP isteğini yürütür ve yanıtı JSON olarak döndürür. Daha sonra gömme vektör JSON_QUERY kullanılarak ayıklanır ve depolama veya daha fazla işlem için vektör veri tipine dönüştürülerek işlenir.

Veritabanı kimlik bilgilerini güvenli bir şekilde kullanma

Dış hizmetleri güvenli bir şekilde çağırmak için, kimlik doğrulama bilgilerini depolayan veritabanı kapsamlı kimlik bilgileri oluşturabilirsiniz:

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

Bu kimlik bilgisi API anahtarını SQL Server içinde güvenli bir şekilde depolar ve REST uç nokta çağrılarında başvurulabilir. Kimlik bilgileri şifrelenir ve yalnızca yetkili kullanıcılar tarafından erişilebilir ve hassas kimlik doğrulama bilgilerinin uygulama kodunda gösterilmediğinden emin olun.

Dış yapay zeka modellerini yönet CREATE EXTERNAL MODEL

SQL Server 2025, yapay zeka modeli tanımlarını doğrudan veritabanında yönetmek için yeni söz dizimi sağlar. deyimi CREATE EXTERNAL MODEL , model uç noktalarını, kimlik doğrulama yöntemlerini ve amaçları merkezi ve yeniden kullanılabilir bir şekilde tanımlamanızı sağlar.

Dış model nesnelerini tanımlama

Yapay zeka hizmetinin bağlantı ayrıntılarını kapsüllemek için bir dış model nesnesi oluşturun:

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

Bu, Azure OpenAI ekleme modeline işaret eden adlı Ada2Embeddings yeniden kullanılabilir bir model tanımı oluşturur. Modeli bir kez tanımlayarak, bağlantı ayrıntılarını tekrarlamadan tüm veritabanınızda kullanabilir, bakımı kolaylaştırabilir ve yapılandırma hatası riskini azaltabilirsiniz.

Harici modeller kullanarak gömülü vektörler oluşturma

Dış model tanımlandıktan sonra, onu bu işlevle AI_GENERATE_EMBEDDINGS kullanabilirsiniz.

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

Bu kod, Ada2Embeddings modelini kullanarak sağlanan metin için bir ekleme oluşturur ve belge tablosunda depolar. İşlev, AI_GENERATE_EMBEDDINGS REST çağrıları yapma ve yanıtları ayrıştırma karmaşıklığını soyutlayarak ekleme oluşturmanın basit, SQL yerel bir yolunu sağlar.

Dış modelleri değiştirme ve kaldırma

Gereksinimleriniz değiştikçe dış model tanımlarını güncelleştirebilir veya kaldırabilirsiniz:

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

deyimi, ALTER EXTERNAL MODEL bağımlı nesneleri yeniden oluşturmadan model yapılandırmalarını güncelleştirmenizi sağlar. Bir modele artık gerek kalmadığında tanımı DROP EXTERNAL MODEL veritabanından temiz bir şekilde kaldırır.

Güvenli kimlik doğrulama desenleri uygulama

Sql Server 2025, dış hizmetlerle tümleştirilirken yapay zeka hizmetlerine güvenli ve uyumlu erişim sağlamak için birden çok kimlik doğrulama mekanizması sağlar.

Microsoft Entra ile yönetilen kimlikleri kullanma

Yönetilen kimlikler , Azure'ın kimlik altyapısını kullanarak kimlik bilgilerini depolama gereksinimini ortadan kaldırır. Azure Arc tarafından etkinleştirilen SQL Server ile hem gelen hem de giden bağlantılar için yönetilen kimlikleri kullanabilirsiniz:

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

Bu yaklaşım, kimlik doğrulaması için SQL Server örneğine atanan yönetilen kimliği kullanarak API anahtarlarını veya parolalarını yönetme gereksinimini ortadan kaldırır. Azure platformu kimlik bilgisi döndürme ve erişim yönetimini ele alır ve güvenlik risklerini ve yönetim ek yükünü azaltır.

Foundry Araçları ile tümleştirme

SQL Server 2025, veritabanınızdan doğrudan yapay zeka senaryolarını etkinleştirilmesini sağlayarak Foundry Tools paketinin tüm özellikleriyle entegre edilir.

Azure OpenAI Hizmeti'ne bağlanma

Azure OpenAI ; GPT-4, GPT-3.5 ve ekleme modelleri gibi dil modellerine erişim sağlar:

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

Bu örnek, GPT-4 için bir dış model tanımı oluşturur ve sohbet tamamlama API'sini çağırmayı gösterir. Yanıt, daha sonra uygulama mantığınızda kullanılabilen veya daha sonra kullanılmak üzere depolanabilen yapay zeka tarafından oluşturulan metni ayıklamak için JSON işlevleri kullanılarak ayrıştırılır.

Microsoft Foundry kullanma

Microsoft Foundry , genel amaçlı modellerin sunabileceği özelliklerin ötesinde belirli iş gereksinimlerini karşılayan özel yapay zeka modelleri oluşturmaya, eğitmeye ve dağıtmaya yönelik kapsamlı bir platform sağlar. Azure OpenAI GPT-4 ve text-embedding-ada-002 gibi önceden eğitilmiş modellere erişim sağlarken, Microsoft Foundry özel verileriniz, sektöre özgü terminolojiniz ve benzersiz kullanım örnekleri üzerinde eğitilmiş özel modeller oluşturmanıza olanak tanır.

SQL Server 2025 ile Microsoft Foundry arasındaki tümleştirme, veri taşıma veya eşitleme olmadan etki alanına özgü zekayı doğrudan verilerinize getirmenizi sağlar. Örneğin, müşteri destek biletlerini şirketinizin belirli ürün ve hizmetlerine göre kategorilere ayırmak için özel bir sınıflandırma modeli eğitebilir veya sektörünüzün dil desenlerine göre ayarlanmış bir yaklaşım analizi modeli oluşturabilirsiniz. Microsoft Foundry'de dağıtıldıktan sonra bu modellere Azure OpenAI için kullandığınız söz dizimi ile CREATE EXTERNAL MODEL erişilebilir hale gelir.

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

Bu yaklaşım, belirli iş bağlamınızı anlayan yapay zeka özelliklerini kullanırken SQL Server'da verileriniz için tek bir gerçek kaynağı tutmanızı sağlar. Bu avantaj teknik kolaylığın ötesine geçer: Verilerinizi SQL Server'da tutarak ve güvenli API uç noktaları aracılığıyla yapay zeka modellerini çağırarak veri idaresi, uyumluluk ve erişim ilkeleri üzerinde tam denetim sahibi olursunuz. Hassas iş verilerinizin veritabanı altyapınızdan ayrılmasına hiçbir zaman gerek yoktur, ancak benzersiz gereksinimlerinizi anlamak için eğitilmiş yapay zeka modellerini uygulamaya devam edebilirsiniz.

ONNX modellerini dağıtma

Açık Sinir Ağı Değişimi (ONNX), makine öğrenmesi modellerini temsil eden açık bir standarttır. SQL Server 2025, ÖZEL modelleri yerel olarak dağıtmanızı sağlayan ONNX çalışma zamanını destekler.

Yerel çıkarım için ONNX çalışma zamanını kullanma

ONNX modelleri dış bağımlılıklar olmadan doğrudan SQL Server içinde çalıştırılabilir:

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

Bu yaklaşım, düşük gecikme süresi çıkarımına ihtiyacınız olan, dış ağ çağrılarını önlemek istediğiniz veya verilerin altyapınızdan ayrılmasını engelleyen uyumluluk gereksinimlerinizin olduğu senaryolara uygundur. , LOCATION model.onnx ve tokenizer.json dosyalarını içeren dizine işaret ederken LOCAL_RUNTIME_PATH , ONNX çalışma zamanı DLL dosyalarını içeren dizine işaret etmelidir.

En iyi güvenlik uygulamalarını uygulama

Yapay zeka hizmetlerini SQL Server ile tümleştirirken şu güvenlik yönergelerini izleyin:

İzinlerle erişimi denetleme

Dış model nesnelerine dikkatli bir şekilde izin verin:

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

Bu deyimler, hangi kullanıcıların ve rollerin belirli dış modelleri kullanabileceğini denetler ve yapay zeka özellikleri üzerinde ayrıntılı erişim denetimi sağlar.

Denetimi ve izlemeyi etkinleştirme

Uyumluluk ve sorun giderme için yapay zeka işlemlerini izleyin:

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

Denetim, dış modellerle ve REST uç noktalarıyla tüm etkileşimleri yakalayarak yapay zeka kullanım desenlerine görünürlük sağlar ve uyumluluk gereksinimlerini destekler.

Bu güvenli tümleştirme desenlerini uygulayarak, SQL Server 2025 ile kurumsal güvenlik, uyumluluk ve idare gereksinimlerini karşılayan yapay zeka destekli çözümler dağıtabilirsiniz.