Aracılığıyla paylaş


Akıllı uygulamalar ve yapay zeka

Şunlar için geçerlidir: SQL Server 2025 (17.x) Microsoft Fabric'teAzure SQL VeritabanıAzure SQL Yönetilen Örneği SQL veritabanı

Bu makalede, SQL Server'da VE Azure SQL Yönetilen Örneği'nde SQL Veritabanı Altyapısı ile akıllı uygulamalar oluşturmak için OpenAI ve vektörler gibi yapay zeka (AI) seçeneklerini kullanmaya genel bir bakış sağlanır.

Azure SQL Veritabanı için Akıllı uygulamalar ve yapay zeka'yı gözden geçirin.

Ö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 Veritabanı Altyapısı 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
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 Motoru 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.

Azure OpenAI ile RAG uygulamak için temel kavramlar

Bu bölüm, SQL Veritabanı Altyapısı'nda 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 Veritabanı Altyapısı'nı kullanan basit bir RAG deseni şöyle olabilir:

  1. Tabloya veri ekleme.
  2. Örneğinizi Azure AI Search'e bağlayın.
  3. Bir Azure OpenAI GPT4 modeli oluşturun ve bunu Azure AI Search'e 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 kapsamlı ve bilinçli yanıtlar elde ederek daha geniş bir bilgi tabanı uygulamasına olanak tanır. LLM'lerin topraklanması hakkında daha fazla bilgi için bkz . LLM'leri topraklama - Microsoft Community Hub.

İstemler ve istem mühendisliği

İstem, LLM'ye yönerge olarak veya LLM'nin üzerinde oluşturabileceği bağlamsal veriler olarak hizmet veren belirli metin veya bilgileri ifade eder. İstem, soru, deyim ve hatta kod parçacığı gibi çeşitli formlar alabilir.

LLM'den yanıt oluşturmak için kullanılabilecek örnek istemler:

  • 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
  • ipuçları: LLM'nin çıkışını doğru yönde yönlendirme
  • 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, sözcüğü hamburger , hamve bur gibi gerbelirteçlere bölünürken gibi pear kısa ve ortak bir sözcük tek bir belirteç olarak kabul edilir.

Azure OpenAI'de, API'ye sağlanan giriş metni belirteçlere (belirteçli) dönüştürülür. 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/yanıtta alabildiği belirteç sayısı sınırları vardır. Daha fazla bilgi edinmek için bkz. Azure AI Foundry Modellerinde Azure OpenAI kotaları ve sınırları.

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. Eklemeler 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 kelimeleri için bir gömme oluştururken, kelimelerin de anlamsal olarak benzer olması nedeniyle gömmelerinin (vektör gösterimi) değer olarak benzer olmasını bekleriz.

Azure OpenAI, metin verilerinden eklemeler oluşturmak için modeller sunar. Hizmet, metinleri belirteçlere ayırır 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'de eklemeleri anlama.

Vektör araması, bir veri kümesindeki belirli bir sorgu vektörine benzer tüm vektörleri bulma işlemini ifade eder. 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. Daha yakın vektörler benzerlik gösterir, aralarındaki mesafe o kadar küçüktür.

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, kapsamlı arama ile gecikme süresi, aktarım hızı, doğruluk ve maliyet gibi en yakın komşu (ANN) arama yöntemleri arasında da dengeler vardır ve bunların tümü uygulamanızın gereksinimlerine bağlıdır.

SQL Veritabanı Altyapısı'ndaki vektörler, sonraki bölümlerde açıklandığı gibi verimli bir şekilde depolanabilir ve sorgulanabilir ve mükemmel performansla tam olarak en yakın komşu aramasına olanak sağlar. 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. Metinler, resimler veya sesler eklemelere dönüştürülebilir. Azure OpenAI modelleri, gerçek dünyadaki bilgileri eklemelere dönüştürebilir. Modeller, REST uç noktaları olarak mevcuttur ve bu nedenle, SQL Server 2025 (17.x) ve her zaman güncel kalma güncelleme ilkesi ile yapılandırılmış Azure SQL Yönetilen Örneği'nde kullanılabilen sp_invoke_external_rest_endpoint sistem saklı yordamı kullanılarak SQL Veritabanı Motoru'ndan kolayca 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 Yönetilen Örneği ve OpenAI ile çalışırken sahip olduğunuz tümleştirme seçeneklerinden yalnızca biridir. Aşağıdaki örnek gibi, kullanıcılarınızın verilerle etkileşim kurabileceği çözümler oluşturmak için kullanılabilir modellerden herhangi birinin SQL Veritabanı Altyapısı'nda depolanan verilere erişmesini sağlayabilirsiniz:

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 Yönetilen Örneği için de geçerli olan aşağıdaki makalelere bakın:

Vektör örnekleri

Ayrılmış vektör veri türü, vektör verilerinin verimli ve iyileştirilmiş depolanmasını sağlar ve geliştiricilerin vektör ve benzerlik arama uygulamasını kolaylaştırmasına yardımcı olan bir dizi işlevle birlikte gelir. İki vektör arasındaki mesafeyi hesaplamak, yeni VECTOR_DISTANCE işlev kullanılarak tek bir kod satırında yapılabilir. Daha fazla bilgi ve örnek için SQL Veritabanı Altyapısı'nda Vektör araması ve vektör dizinleri'ni gözden geçirin.

Ö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 Veritabanı Altyapısı ve Azure AI Arama ile RAG desenleri uygulayın. Azure AI Search'ün Azure OpenAI ve SQL Veritabanı Altyapısı ile tümleştirilmesi sayesinde modelleri eğitmek veya ince ayar yapmak zorunda kalmadan SQL Veritabanı Altyapısı'nda depolanan verilerde desteklenen sohbet modellerini çalıştırabilirsiniz. Verilerinizde modelleri çalıştırmak, verilerinizi daha yüksek doğruluk ve hız ile sohbet edip analiz etmenizi sağlar.

Azure OpenAI ve SQL Veritabanı Altyapısı ile Azure AI Search tümleştirmesi hakkında daha fazla bilgi edinmek için SQL Server ve Azure SQL Yönetilen Örneği için de geçerli olan aşağıdaki makalelere bakın:

Akıllı uygulamalar

SQL Veritabanı Altyapısı, aşağıdaki diyagramda gösterildiği gibi, önerilenler ve Alma Artırılmış Oluşturma (RAG) gibi yapay zeka özelliklerini içeren akıllı uygulamalar oluşturmak için kullanılabilir:

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 derlemek için uçtan uca örnek için bkz:

Uyarı

LangChain tümleştirmesi ve Anlam Çekirdeği tümleştirmesi, SQL Server 2025 (17.x) ile başlayarak ve Always-up-to-date güncelleştirme ilkesiyle yapılandırılmış Azure SQL Yönetilen Örneği'nde kullanılabilen vektör veri türünü kullanır.

LangChain tümleştirmesi

LangChain, dil modelleri tarafından desteklenen uygulamalar geliştirmeye yönelik iyi bilinen bir çerçevedir. LangChain'in kendi verileriniz üzerinde sohbet botu oluşturmak için nasıl kullanılabileceğini gösteren örnekler için bkz:

Azure SQL'i LangChain ile kullanmayla ilgili birkaç örnek:

Uçtan uca örnekler:

Semantik Çekirdek tümleştirmesi

Semantik Çekirdek, mevcut kodunuzu çağırabilen aracıları kolayca oluşturmanıza olanak tanıyan bir açık kaynak SDK'dır. Son derece genişletilebilir bir SDK olarak, Anlam Çekirdeği'ni OpenAI, Azure OpenAI, Hugging Face ve daha birçok modelle kullanabilirsiniz. Mevcut C#, Python ve Java kodunuzu bu modellerle birleştirerek soruları yanıtlayan aracılar oluşturabilir ve işlemleri otomatikleştirebilirsiniz.

Anlam Çekirdeği'nin yapay zeka özellikli çözümler oluşturmaya ne kadar kolay yardımcı olduğunu gösteren bir örnek aşağıda verilmiştir: