Azure AI Search'te anlamsal yanıt döndürme

Anlamsal derecelendirme ve açıklamalı alt yazıları çağırırken, isteğe bağlı olarak sorguyu doğrudan "yanıtlayan" üst eşleşen belgelerden içerik ayıklayabilirsiniz. Yanıta bir veya daha fazla yanıt eklenebilir ve ardından uygulamanızın kullanıcı deneyimini geliştirmek için arama sayfasında işleyebilirsiniz.

Anlamsal yanıt, arama dizininizde okuma kavrama modelinin istekte yer alan sorgunun yanıtı olarak tanıdığı ayrıntılı içeriktir. Bu, oluşturulan bir yanıt değil. İçeriğinizden yanıtlar oluşturmak için oluşturucu yapay zeka kullanan sohbet stili bir kullanıcı etkileşimi modeliyle ilgili yönergeler için bkz . Artırılmış Nesil (RAG) Alma.

Bu makalede anlamsal yanıt isteme, yanıtın paketini açma ve yüksek kaliteli yanıtlar üretmeye en uygun içerik özelliklerini öğrenme hakkında bilgi edinin.

Önkoşullar

Anlamsal sorgular için geçerli olan tüm önkoşullar, hizmet katmanı ve bölge de dahil olmak üzere yanıtlar için de geçerlidir.

  • Sorgu mantığı "queryType=semantic" semantik sorgu parametrelerini ve "answers" parametresini içermelidir. Gerekli parametreler bu makalede ele alınıyor.

  • Kullanıcı tarafından girilen sorgu dizeleri soru olarak tanınabilir olmalıdır (ne, nerede, ne zaman, nasıl).

  • Dizindeki arama belgeleri, yanıtın özelliklerine sahip metinler içermeli ve bu metin semantik yapılandırmada listelenen alanlardan birinde bulunmalıdır. Örneğin, "karma tablo nedir" sorgusu verildiğinde, anlamsal yapılandırmadaki alanların hiçbiri "Karma tablo ..." içeren bölümler içermiyorsa, yanıt döndürülmez.

Not

2021-04-30-Preview sürümünden itibaren Dizin Oluşturma veya Güncelleştirme istekleri, anlamsal derecelendirmede kullanılan giriş alanlarını belirtme gereksinimini doğurmaya başladı"semanticConfiguration".

Anlamsal yanıt nedir?

Anlamsal yanıt, anlamsal sorgu yanıtının alt yapısıdır. Soru gibi görünen bir sorguya yanıt olarak formüle edilmiş bir arama belgesinden bir veya daha fazla ayrıntılı metinden oluşur. Yanıt döndürmek için, bir yanıtın dil özelliklerine sahip bir arama belgesinde tümcecikler veya tümceler bulunmalıdır ve sorgunun kendisi bir soru olarak bulunmalıdır.

Azure AI Search, en iyi yanıtı tanımak ve seçmek için bir makine okuma kavrama modeli kullanır. Model, kullanılabilir içerikten bir dizi olası yanıt üretir ve yeterince yüksek bir güvenilirlik düzeyine ulaştığında yanıt olarak bir yanıt önerir.

Yanıtlar, arama sayfalarında ve yan arama sonuçlarında işlemeyi seçebileceğiniz sorgu yanıtı yükünde bağımsız, üst düzey bir nesne olarak döndürülür. Yapısal olarak, yanıt içinde metin, belge anahtarı ve güvenilirlik puanından oluşan bir dizi öğesidir.

"Yanıtlar" için REST sorgusu formüle edin

Anlamsal bir yanıt döndürmek için sorgunun semantik "queryType", , "queryLanguage""semanticConfiguration"ve "answers" parametreleri olmalıdır. Bu parametrelerin belirtilmesi bir yanıtı garanti etmez, ancak yanıt işlemenin gerçekleşmesi için isteğin bunları içermesi gerekir.

{
    "search": "how do clouds form",
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "semanticConfiguration": "my-semantic-config",
    "answers": "extractive|count-3",
    "captions": "extractive|highlight-true",
    "count": "true"
}
  • Sorgu dizesi null olmamalıdır ve soru olarak formüle edilmelidir.

  • "queryType" "semantik" olarak ayarlanmalıdır.

  • "queryLanguage"desteklenen diller listesindeki (REST API) değerlerden biri olmalıdır.

  • A "semanticConfiguration" , ayıklama modeline belirteç sağlayan dize alanlarını belirler. Açıklamalı alt yazılar üreten alanlar da yanıtlar üretir. Ayrıntılar için bkz . Anlamsal yapılandırma oluşturma.

  • için "answers"parametre oluşturma, "answers": "extractive"döndürülen varsayılan yanıt sayısının bir olduğu şeklindedir. Yukarıdaki örnekte gösterildiği gibi en fazla 10 yanıt ekleyerek count yanıt sayısını artırabilirsiniz. Birden fazla yanıta ihtiyacınız olup olmadığı, uygulamanızın kullanıcı deneyimine ve sonuçları nasıl işlemek istediğinize bağlıdır.

Yanıttan bir "yanıt" paketini açma

Yanıtlar, sorgu yanıtında "@search.answers" ilk olarak görünen dizide sağlanır. Dizideki her yanıt şunları içerir:

  • Belge anahtarı
  • Düz metinde veya biçimlendirmeyle yanıtın metni veya içeriği
  • Güvenilirlik puanı

Yanıt belirsizse, yanıt olarak "@search.answers": []gösterilir. Answers dizisini, semantik sorgudaki standart yanıt olan değer dizisi izler.

"Bulutlar nasıl oluşturulur" sorgusu göz önüne alındığında, aşağıdaki örnekte bir yanıt gösterilmektedir:

{
    "@search.answers": [
        {
            "key": "4123",
            "text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case),   but not where it is descending (over the river).",
            "highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case),   but not where it is<em> descending</em> (over the river).",
            "score": 0.94639826
        }
    ],
    "value": [
        {
            "@search.score": 0.5479723,
            "@search.rerankerScore": 1.0321671911515296,
            "@search.captions": [
                {
                    "text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
                    "highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
                }
            ],
            "title": "Earth Atmosphere",
            "content": "Fog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "locations": [
                "Pacific Northwest",
                "North America",
                "Vancouver"
            ]
        }
    ]
}

Yanıtlar içeren bir arama sonuçları sayfası tasarlarken yanıtların bulunmadığı durumları ele aldığınızdan emin olun.

içinde @search.answers:

  • "key" , eşleşmenin belge anahtarı veya kimliğidir. Belge anahtarı verdiyseniz, arama sayfasının veya ayrıntı sayfasının dahil etmek üzere arama belgesinin herhangi bir bölümünü veya tümünü almak için Arama Belgesi API'sini kullanabilirsiniz.

  • "text" ve "highlights" , hem düz metinde hem de vurgularla aynı içeriği sağlar.

    Varsayılan olarak, vurgular olarak <em>stillendirilir ve mevcut highlightPreTag ve highlightPostTag parametrelerini kullanarak geçersiz kılabilirsiniz. Başka bir yerde belirtildiği gibi, yanıtın özü bir arama belgesinden ayrıntılı içeriktir. Ayıklama modeli, uygun içeriği bulmak için yanıtın özelliklerini arar, ancak yanıtta yeni dil oluşturmaz.

  • "score" , yanıtın gücünü yansıtan bir güvenilirlik puanıdır. Yanıtta birden çok yanıt varsa, bu puan sırayı belirlemek için kullanılır. En iyi yanıtlar ve üst açıklamalı alt yazılar farklı arama belgelerinden türetilebilir; burada en iyi yanıt bir belgeden, üst resim yazısı ise başka bir belgeden gelir, ancak genel olarak aynı belgeler her dizideki en üst konumlarda görünür.

Yanıtların ardından her zaman puanları, açıklamalı alt yazıları ve varsayılan olarak alınabilen alanları içeren "value" dizisi gelir. Select parametresini belirttiyseniz, "value" dizisi belirttiğiniz alanlarla sınırlıdır. Ayrıntılar için bkz . Anlam derecesini yapılandırma .

Yüksek kaliteli yanıtlar üretmek için ipuçları

En iyi sonuçlar için, aşağıdaki özelliklere sahip bir belge korpusunun semantik yanıtlarını döndürin:

  • "semanticConfiguration", yanıt bulunabilecek yeterli metin sunan alanları içermelidir. Yanıt içerme olasılığı daha yüksek olan alanlar ilk olarak "prioritizedContentFields" içinde listelenmelidir. Bir belgeden yalnızca ayrıntılı metin yanıt olarak görünebilir.

  • Sorgu dizeleri null (search=*) olmamalıdır ve dize, rastgele sırada terimlerden veya tümceciklerden oluşan bir anahtar sözcük aramasının aksine, "nedir" veya "nasıl yapılır" gibi bir sorunun özelliklerine sahip olmalıdır. Sorgu dizesi soru gibi görünmüyorsa, istek sorgu parametresi olarak "yanıtlar" belirtse bile yanıt işleme atlanır.

  • Anlamsal ayıklama ve özetleme, belge başına zamanında analiz edilebilecek belirteç sayısıyla ilgili sınırlara sahiptir. Pratik olarak, yüzlerce sayfada çalışan büyük belgeleriniz varsa, önce içeriği daha küçük belgelere ayırmayı deneyin.

Sonraki adımlar