Akıllı uygulamalar ve yapay zeka

Uygulandığı yer: SQL Server 2025 (17.x) Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bu makalede, SQL Server ve Azure SQL Managed Instance'da SQL Database Engine ile akıllı uygulamalar oluşturmak için OpenAI ve vektörler gibi yapay zeka (AI) seçeneklerinin kullanımına genel bir bakış sağlanmaktadır.

Azure SQL Database ve Fabric'deki SQL Database için bkz. Akıllı uygulamalar ve AI.

Örnekler ve örnekler için SQL AI Örnekleri deposunu ziyaret edin.

Genel Bakış

Büyük dil modelleri (LLM' ler), geliştiricilerin tanıdık bir kullanıcı deneyimiyle yapay zeka destekli uygulamalar oluşturmasını sağlar.

Uygulamalarda LLM'lerin kullanılması, modellerin uygulamanızın veritabanından doğru verilere doğru zamanda erişebildiği durumlarda daha fazla değer ve geliştirilmiş bir kullanıcı deneyimi sağlar. Bu işlem Alma Artırılmış Nesil (RAG) olarak bilinir ve SQL Database Engine bu yeni düzeni destekleyen birçok özelliğe sahiptir ve bu da akıllı uygulamalar oluşturmak için harika bir veritabanıdır.

Aşağıdaki bağlantılar, akıllı uygulamalar oluşturmak için çeşitli seçeneklerin örnek kodunu sağlar:

AI Seçeneği Description
SQL MCP Server Veritabanınız için bir dizi araç ve yapılandırma tanımlayan kararlı ve yönetilen bir arabirim.
Azure OpenAI RAG için eklemeler oluşturun ve Azure OpenAI tarafından desteklenen tüm modellerle tümleştirin.
Vektör Vektörleri depolamayı ve vektör işlevlerini veritabanında kullanmayı öğrenin.
Azure AI Arama Hizmeti Verileriniz üzerinde LLM eğitmek için veritabanınızı Azure AI Search ile birlikte kullanın.
Akıllı uygulamalar Herhangi bir senaryoda çoğaltılabilir ortak bir desen kullanarak uçtan uca çözüm oluşturmayı öğrenin.

Yapay zeka uygulamalarında SQL MCP Server

SQL MCP Server, yapay zeka aracıları için veri yolunda doğrudan yer alır.

  • Modeller istek oluşturdukçe, sunucu veritabanınıza kararlı ve yönetilen bir arabirim sağlar.
  • Ham şemayı ortaya çıkarmak veya oluşturulan SQL'e güvenmek yerine, tüm erişimi yapılandırmanızın desteklediği tanımlı bir araç kümesi aracılığıyla yönlendirir.

Bu yaklaşım etkileşimleri tahmin edilebilir tutar ve her işlemin tanımladığınız izinlere ve yapıya uygun olmasını sağlar. Daha fazla bilgi için bkz. aka.ms/sql/mcp.

Mantık yürütmeden ayırarak modeller amaca odaklanırken SQL MCP Server bu amacın geçerli sorgulara nasıl dönüştüğüyle ilgilenir. Yüzey alanı kısıtlanmış ve açıklanmış olduğundan aracılar kullanılabilir özellikleri bulabilir, girişleri ve çıkışları anlayabilir ve tahminde bulunmadan çalışabilir. Bu tasarım hataları azaltır ve şema belirsizliğini telafi etmek için karmaşık istem mühendisliği gereksinimini ortadan kaldırır.

Geliştiriciler için bu yaklaşım yapay zekanın gerçek iş yüklerine güvenle katılabileceği anlamına gelir.

Şunları yapabilirsiniz:

  • Varlıkları bir kez tanımlama
  • Rolleri ve kısıtlamaları uygulama

Ardından platform:

  • Varlıkları, rolleri ve kısıtlamaları tutarlı bir şekilde uygular
  • SQL verileri üzerinden aracı temelli uygulamalar için güvenilir bir temel oluşturur.

REST ve GraphQL'i destekleyen aynı yapılandırma MCP'yi de yönetir, bu nedenle kuralların veya mantığın yinelenmesi yoktur. Daha fazla bilgi için bkz. aka.ms/dab/docs.

Azure OpenAI ile RAG uygulamak için temel kavramlar

Bu bölüm, SQL Database Engine Azure OpenAI ile RAG uygulamak için kritik öneme sahip temel kavramları içerir.

Bilgi Getirme ile Artırılmış Üretim (RAG)

RAG, LLM'nin dış kaynaklardan ek veri alarak ilgili ve bilgilendirici yanıtlar üretme becerisini geliştiren bir tekniktir. Örneğin RAG, kullanıcının sorusu veya istemiyle ilgili etki alanına özgü bilgiler içeren makaleleri veya belgeleri sorgulayabilir. LLM daha sonra yanıtını oluştururken bu alınan verileri başvuru olarak kullanabilir. Örneğin, SQL Database Engine kullanan basit bir RAG deseni şöyle olabilir:

  1. Tabloya veri ekleyin.
  2. Azure AI Search ile örneğinizi bağlayın.
  3. bir Azure OpenAI GPT-4 modeli oluşturun ve Azure AI Search bağlayın.
  4. Uygulamanızdan ve örneğinizdeki verilerden eğitilmiş Azure OpenAI modelini kullanarak verilerinizle ilgili sohbet edin ve sorular sorun.

HıZLı mühendislik ile RAG deseni, modele daha bağlamsal bilgiler sunarak yanıt kalitesini geliştirme amacına hizmet eder. RAG, modelin, ilgili dış kaynakları oluşturma sürecine ekleyerek daha geniş bir bilgi bankası uygulamasına olanak sağlayarak daha kapsamlı ve bilinçli yanıtlar elde eder. grounding LLM'leri hakkında daha fazla bilgi için bkz. Grounding LLMs - Microsoft Community Hub.

İstemler ve istem mühendisliği

İstem, büyük bir dil modeline (LLM) yönerge olarak ya da LLM'nin üzerinde işlem yapabileceği bağlamsal veriler olarak hizmet veren belirli metin veya bilgilerdir. İstem, soru, deyim ve hatta kod parçacığı gibi çeşitli formlar alabilir.

LLM'den yanıt oluşturmak için kullanabileceğiniz örnek istemler şunlardır:

  • Yönergeler: LLM'ye yönergeler sağlama
  • Birincil içerik: İşlenmek üzere LLM'ye bilgi verir
  • Örnekler: modeli belirli bir göreve veya işleme göre koşula yardımcı olun
  • İpuçları: LLM'nin çıktısını doğru yönde yönlendirmek
  • Destekleyici içerik: LLM'nin çıkış oluşturmak için kullanabileceği ek bilgileri temsil eder

Senaryo için iyi istemler oluşturma işlemine istem mühendisliği adı verilir. İstem mühendisliğiyle ilgili istemler ve en iyi yöntemler hakkında daha fazla bilgi için bkz. İstem mühendisliği teknikleri.

Token'lar

Belirteçler, giriş metni daha küçük parçalara bölünerek oluşturulan küçük metin öbekleridir. Bu segmentler, tek bir karakterden sözcüğün tamamına kadar değişen sözcükler veya karakter grupları olabilir. Örneğin, hamburger kelimesi ham, bur ve ger gibi belirteçlere bölünürken, pear gibi kısa ve yaygın bir kelime tek bir belirteç olarak kabul edilir.

Azure OpenAI'de API, giriş metnini belirteçleştirir. Her API isteğinde işlenen belirteçlerin sayısı giriş, çıkış ve istek parametrelerinin uzunluğu gibi faktörlere bağlıdır. İşlenen belirteçlerin miktarı, modellerin yanıt süresini ve aktarım hızını da etkiler. Her modelin, Azure OpenAI'den tek bir istek ve yanıt için alabileceği belirteç sayısında sınırları vardır. Daha fazla bilgi edinmek için Azure AI Foundry Modelleri'ndeki Azure OpenAI kotaları ve sınırları'na bakın.

Vectors

Vektörler, bazı veriler hakkındaki bilgileri temsil eden sıralı sayı dizileridir (genellikle kayan sayılar). Örneğin, bir görüntü piksel değerlerinin vektöru olarak gösterilebilir veya bir metin dizesi ASCII değerlerinin vektöru olarak gösterilebilir. Verileri vektöre dönüştürme işlemine vektörleştirme adı verilir. Daha fazla bilgi için bkz . Vektör örnekleri.

Vektör veri türü ve vektör işlevlerinin kullanıma sunulmasıyla vektör verileriyle çalışmak daha kolaydır.

Eklemeler

Eklemeler, verilerin önemli özelliklerini temsil eden vektörlerdir. Ekleme işlemleri genellikle derin öğrenme modeli kullanılarak öğrenilir ve makine öğrenmesi ve yapay zeka modelleri bunları özellik olarak kullanır. Eklemeler, benzer kavramlar arasındaki anlamsal benzerliği de yakalayabilir. Örneğin, person ve human sözcükleri için bir gömme oluştururken, bu sözcükler anlamsal olarak da benzer olduğundan, gömmelerinin (vektör gösterimi) değer olarak benzer olmasını bekleyebilirsiniz.

Azure OpenAI, metin verilerinden eklemeler oluşturmak için modeller sunar. Hizmet, metni belirteçlere böler ve OpenAI tarafından önceden eğitilen modelleri kullanarak eklemeler oluşturur. Daha fazla bilgi edinmek için bkz. Azure AI Foundry Modellerinde Azure OpenAI'deki gömme tekniklerini anlama.

Vektör arama, bir veri kümesindeki belirli bir sorgu vektörine benzer tüm vektörleri bulma işlemidir. Bu nedenle, sözcüğün human sorgu vektörleri sözlüğün tamamında benzer sözcükler arar ve sözcüğü person yakın bir eşleşme olarak bulmalıdır. Bu yakınlık veya uzaklık, kosinüs benzerliği gibi bir benzerlik ölçümü kullanılarak ölçülür. Vektörler ne kadar yakın olursa aralarındaki mesafe o kadar küçük olur.

Verilerinizdeki en benzer belgeleri bulmak için milyonlarca belge üzerinde sorgu çalıştırdığınız bir senaryo düşünün. Azure OpenAI kullanarak verileriniz için eklemeler oluşturabilir ve belgeleri sorgulayabilirsiniz. Ardından, veri kümenizdeki en benzer belgeleri bulmak için bir vektör araması gerçekleştirebilirsiniz. Ancak, birkaç örnek arasında vektör araması yapmak basit bir işlemdir. Aynı aramayı binlerce veya milyonlarca veri noktasında gerçekleştirmek zorlaşır. Ayrıca, gecikme süresi, aktarım hızı, doğruluk ve maliyet gibi kapsamlı arama ve yaklaşık en yakın komşu (ANN) arama yöntemleri arasında da dengeler vardır. Bu dengelerin tümü uygulamanızın gereksinimlerine bağlıdır.

Sonraki bölümlerde açıklandığı gibi, vektörleri SQL Database Engine verimli bir şekilde depolayabilir ve sorgulayabilirsiniz. Bu özellik, mükemmel performansla tam olarak en yakın komşu aramasına olanak tanır. Doğruluk ve hız arasında karar vermeniz gerekmez: her ikisine de sahip olabilirsiniz. Vektör ekleme işlemlerinin verilerin yanı sıra tümleşik bir çözümde depolanması, veri eşitlemesini yönetme gereksinimini en aza indirir ve yapay zeka uygulaması geliştirme için pazara çıkış sürenizi hızlandırır.

Azure OpenAI

Ekleme, gerçek dünyayı veri olarak temsil etme işlemidir. Metinleri, resimleri veya sesleri eklemelere dönüştürebilirsiniz. Azure OpenAI modelleri gerçek dünyadaki bilgileri eklemelere dönüştürebilir. Modellere REST uç noktaları olarak erişebilir, böylece kolayca, sp_invoke_external_rest_endpoint sistem saklı yordamını kullanarak, SQL Database Engine'den yararlanabilirsiniz. Bu yordam, SQL Server 2025 (17.x) ile başlayarak ve Always-up-to-date güncelleştirme ilkesi ile yapılandırılmış Azure SQL Managed Instance kullanılabilir.

DECLARE @retval AS INT,
        @response AS NVARCHAR (MAX),
        @payload AS NVARCHAR (MAX);

SET @payload = JSON_OBJECT('input':@text);

EXECUTE
    @retval = sp_invoke_external_rest_endpoint
    @url = 'https://<openai-url>/openai/deployments/<model-name>/embeddings?api-version = 2023-03-15-preview',
    @method = 'POST',
    @credential = [https://<openai-url>/openai/deployments/<model-name>],
    @payload = @payload,
    @response = @response OUTPUT;

DECLARE @e AS VECTOR(1536) = JSON_QUERY(@response, '$.result.data[0].embedding');

Eklemeleri almak için REST hizmetine çağrı kullanmak, SQL Managed Instance ve OpenAI ile çalışırken sahip olduğunuz tümleştirme seçeneklerinden yalnızca biridir. available modellerinden herhangi birinin sql Database Engine depolanan verilere erişmesine izin vereberek kullanıcılarınızın verilerle etkileşim kurabileceği çözümler oluşturabilirsiniz. Örneğin, aşağıdaki örnek:

SQL Server'da depolanan verileri kullanarak soruyu yanıtlayan yapay zeka botunun ekran görüntüsü

Azure SQL ve OpenAI kullanma hakkında ek örnekler için, SQL Server ve Azure SQL Managed Instance için de geçerli olan aşağıdaki makalelere bakın:

Vektör örnekleri

Ayrılmış vektör veri türü vektör verilerini verimli bir şekilde depolar ve geliştiricilerin vektör ve benzerlik arama uygulamasını kolaylaştırmalarına yardımcı olacak bir dizi işlev içerir. Yeni VECTOR_DISTANCE işlevi kullanarak bir kod satırındaki iki vektör arasındaki uzaklığı hesaplayabilirsiniz. Daha fazla bilgi ve örnek için bkz. SQL Veritabanı Motorunda Vektör arama ve vektör dizinleri.

Örneğin:

CREATE TABLE [dbo].[wikipedia_articles_embeddings_titles_vector]
(
    [article_id] [int] NOT NULL,
    [embedding] [vector](1536) NOT NULL,
)
GO

SELECT TOP(10)
    *
FROM
    [dbo].[wikipedia_articles_embeddings_titles_vector]
ORDER BY
    VECTOR_DISTANCE('cosine', @my_reference_vector, embedding)

SQL Database Engine ve Azure AI Search kullanarak RAG desenlerini uygulayın. Azure AI Search, Azure OpenAI ve SQL Database Engine'i tümleştirerek, SQL Database Engine'de depolanan veriler üzerinde eğitmeye veya ince ayar yapmaya gerek kalmadan desteklenen sohbet modellerini çalıştırabilirsiniz. Verilerinizde modelleri çalıştırdığınızda, verilerinizin üzerinde sohbet edebilir ve daha yüksek doğruluk ve hız ile analiz edebilirsiniz.

Azure OpenAI ve SQL Database Engine ile Azure AI Search tümleştirmesi hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın. Bu makaleler SQL Server ve Azure SQL Managed Instance için de geçerlidir:

Akıllı uygulamalar

Aşağıdaki diyagramda gösterildiği gibi, sql Database Engine kullanarak önerilenler ve Alma Artırılmış Nesli (RAG) gibi yapay zeka özellikleri içeren akıllı uygulamalar oluşturabilirsiniz:

Azure SQL Veritabanı ile akıllı uygulamalar oluşturmak için farklı yapay zeka özelliklerinin diyagramı.

Örnek veri kümesi olarak soyut oturumları kullanarak yapay zeka özellikli bir uygulama oluşturmayı gösteren uçtan uca örnek için bkz:

Uyarı

LangChain tümleştirmesi ve Semantic Kernel tümleştirmesi, vector veri türünü SQL Server 2025 (17.x) ile başlayarak, Always-up-to-date veya SQL Server 2025 güncelleştirme ilkesiyle yapılandırılmış Azure SQL Managed Instance, Azure SQL Database ve Microsoft Fabric üzerindeki SQL veritabanında kullanılabilir.

LangChain tümleştirmesi

LangChain, dil modelleri tarafından desteklenen uygulamalar geliştirmeye yönelik iyi bilinen bir çerçevedir. Kendi verilerinizde sohbet botu oluşturmak için LangChain'i nasıl kullanabileceğinizi gösteren örnekler için bkz:

LangChain ile Azure SQL kullanmanın birkaç örneği:

Uçtan uca örnekler:

Semantic Kernel entegrasyonu

Semantic Kernel, mevcut kodunuzu çağıran aracıları kolayca oluşturmak için kullanabileceğiniz bir açık kaynak SDKdir. Son derece genişletilebilir bir SDK olarak, Semantic Kernel'i OpenAI, Azure OpenAI, Hugging Face ve daha fazlasının modelleriyle kullanabilirsiniz. Mevcut C# Python ve Java kodunuzu bu modellerle birleştirerek, soruları yanıtlayan aracılar oluşturabilir ve süreçleri otomatikleştirebilirsiniz.

Semantic Kernel'in yapay zeka özellikli çözümler oluşturmanıza ne kadar kolay yardımcı olduğunu gösteren bir örnek: