Aracılığıyla paylaş


Azure AI Search'te sorgulara anlamsal derecelendirme ekleme

Bu makalede, sorgularda semantik ranker'ın nasıl çağrıldığı açıklanmaktadır. Arama belgeleriniz dize alanları içeriyorsa ve vektör sorgusunda metin gösterimi varsa metin sorgularına, karma sorgulara ve vektör sorgularına anlamsal derecelendirme uygulayabilirsiniz.

Semantik derecelendirme, ilk sonuç kümesi üzerinde yinelenir ve en anlamsal olarak ilgili sonuçları yığının en üstüne yükselten bir L2 derecelendirme metodolojisi uygular. Ayrıca en ilgili terimler ve tümcecikler üzerinde vurgular içeren anlamsal açıklamalı alt yazılar ve anlamsal yanıtlar da alabilirsiniz.

Önkoşullar

Not

Açıklamalı alt yazılar ve yanıtlar, arama belgesindeki metinden ayrıntılı olarak ayıklanır. Anlam alt sistemi, resim yazısı veya yanıtın özelliklerine sahip içeriği tanımak için makine okuma kavramasını kullanır, ancak yeni cümleler veya tümcecikler oluşturmaz. Bu nedenle, anlam derecelendirmesi için en iyi sonucu veren açıklamalar veya tanımlar içeren içeriktir. Oluşturulan yanıtlarla sohbet stili etkileşim istiyorsanız bkz . Artırılmış Oluşturma (RAG) Alma.

İstemci seçme

Anlam derecelendirmesi kullanan bir sorgu oluşturmak için aşağıdaki araçlardan ve SDK'lardan herhangi birini kullanabilirsiniz:

İlgi puanlamayı atlayan özelliklerden kaçının

Azure AI Search'teki çeşitli sorgu özellikleri ilgi puanlamasını atlar veya anlamsal derecelendirmeyle uyumlu değildir. Sorgu mantığınız aşağıdaki özellikleri içeriyorsa sonuçlarınızı sıralayamazsınız:

  • Yalnızca filtre uygulanmış sorgu gibi boş bir arama dizesine sahip search=* bir sorgu çalışmaz çünkü anlamsal ilgiyi ölçecek bir şey yoktur. Sorgu, işleme sırasında değerlendirilebilecek terimler veya tümcecikler sağlamalıdır.

  • Tam Lucene söz diziminde (queryType=full) oluşturulan bir sorgu semantik derecelendirme (queryType=semantic) ile uyumsuz. Anlam modeli tam Lucene söz dizimini desteklemez.

  • Belirli alanlarda sıralama (orderBy yan tümceleri) arama puanlarını ve anlam puanını geçersiz kılar. Sıralamayı semantik puanın sağlaması gerektiği düşünüldüğünde, sıralı sonuçlara semantik derecelendirme uygularsanız orderby yan tümcesi eklemek HTTP 400 hatasıyla sonuçlanır.

Sorguyu ayarlama

Bu adımda, sorgu isteğine parametreler ekleyin. Başarılı olmak için sorgunuz tam metin araması (bir dize geçirmek için parametresini search kullanarak) ve dizin zengin anlamsal içeriğe ve anlamsal yapılandırmaya sahip metin alanları içermelidir.

Arama gezgini semantik derecelendirme seçenekleri içerir.

  1. Azure Portal’ında oturum açın.

  2. Bir arama dizini açın ve Arama gezgini'ne tıklayın.

  3. Sorgu seçenekleri'ni seçin. Zaten bir anlamsal yapılandırma tanımladıysanız, varsayılan olarak seçilidir. Yoksa dizininiz için bir anlamsal yapılandırma oluşturun.

    Arama gezgininde sorgu seçeneklerini gösteren ekran görüntüsü.

  4. "İyi yemekler içeren tarihi otel" gibi bir sorgu girin ve Ara'yı seçin.

  5. Alternatif olarak, JSON görünümü'nü seçin ve tanımları sorgu düzenleyicisine yapıştırın:

    Azure portalında JSON sorgu söz dizimini gösteren ekran görüntüsü.

    Görünüme yapıştırabileceğiniz bazı JSON metni aşağıdadır:

     {
         "queryType": "semantic",
         "search": "historic hotel with good food",
         "semanticConfiguration": "my-semantic-config",
         "answers": "extractive|count-3",
         "captions": "extractive|highlight-true",
         "highlightPreTag": "<strong>",
         "highlightPostTag": "</strong>",
         "select": "HotelId,HotelName,Description,Category",
         "count": true
     }
    

Yanıtı değerlendirme

Yalnızca ilk sonuçlardaki ilk 50 eşleşme, sıralanabilir. Tüm sorgularda olduğu gibi, yanıt alınabilir olarak işaretlenmiş tüm alanlardan veya yalnızca select parametresinde listelenen alanlardan oluşur. Yanıt özgün ilgi puanını içerir ve isteği nasıl formüle ettiğinize bağlı olarak bir sayı veya toplu sonuçlar da içerebilir.

Anlamsal derecelendirmede yanıtın daha fazla öğesi vardır: yeni bir anlam derecesine sahip ilgi puanı, düz metinde ve vurgulu isteğe bağlı bir resim yazısı ve isteğe bağlı bir yanıt. Sonuçlarınız bu ek öğeleri içermiyorsa sorgunuz yanlış yapılandırılmış olabilir. Sorunu gidermeye yönelik ilk adım olarak, hem dizin tanımında hem de sorguda belirtildiğinden emin olmak için anlamsal yapılandırmayı denetleyin.

bir istemci uygulamasında, arama sayfasını belirli bir alanın içeriğinin tamamı yerine, eşleşmenin açıklaması olarak bir resim yazısı içerecek şekilde yapılandırabilirsiniz. Bu yaklaşım, tek tek alanlar arama sonuçları sayfası için çok yoğun olduğunda kullanışlıdır.

Yukarıdaki örnek sorgunun yanıtı, en üstteki seçim olarak aşağıdaki eşleşmeyi döndürür. "Captions" özelliği düz metin ve vurgulanmış sürümlerle ayarlandığından resim yazıları döndürülür. Bu sorgu ve corpus için bir yanıt belirlenemediğinden yanıtlar örnekten atlanır.

"@odata.count": 35,
"@search.answers": [],
"value": [
    {
        "@search.score": 1.8810667,
        "@search.rerankerScore": 1.1446577133610845,
        "@search.captions": [
            {
                "text": "Oceanside Resort. Luxury. New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
                "highlights": "<strong>Oceanside Resort.</strong> Luxury. New Luxury Hotel. Be the first to stay.<strong> Bay</strong> views from every room, location near the pier, rooftop pool, waterfront dining & more."
            }
        ],
        "HotelName": "Oceanside Resort",
        "Description": "New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
        "Category": "Luxury"
    },
  ...
]

Beklenen iş yükleri

Anlamsal derecelendirme için, bir arama hizmetinin çoğaltma başına en fazla 10 eşzamanlı sorgu desteklemesini beklemelisiniz.

Birimler çok yüksekse hizmet semantik derecelendirme isteklerini kısıtlar. Bu ifadeleri içeren bir hata iletisi, hizmetin anlamsal derecelendirme için kapasitede olduğunu gösterir:

Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded

Bu düzeye yakın, en yüksek veya daha yüksek tutarlı aktarım hızı gereksinimleri bekliyorsanız, iş yükünüz için sağlayabilmemiz için lütfen bir destek bileti oluşturun.

Sonraki adımlar

Anlam derecelendirmesi, anahtar sözcük arama ve vektör aramasını tek bir istekte ve birleşik yanıtta birleştiren karma sorgularda kullanılabilir.