Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
Important
Bu özellikler ve işlevler, diğer Microsoft hizmetleri ve üçüncü taraf hizmetlerle bağlantıları destekler. Bu hizmetlerin kullanımı ilgili koşullara tabidir ve Azure uyumluluk sınırının dışında veri işleme veya depolamanın yanı sıra Azure uyumluluk sınırına akan verilere neden olabilir.
Verilerinizin kuruluşunuzun uyumluluk ve coğrafi sınırları dışında akıp akmayacağını ve ilgili etkileri ve uygun izinlerin, sınırların ve onayların sağlanıp sağlanmayacağını yönetmek sizin sorumluluğunuzdadır.
Özel kullanım örnekleriniz bağlamında oluşturduğunuz uygulamaları dikkatle gözden geçirmek ve test etmek ve tüm uygun kararları ve özelleştirmeleri yapmak sizin sorumluluğunuzdadır. Bu, metapromptlar, içerik filtreleri veya diğer güvenlik sistemleri gibi sorumlu yapay zeka risk azaltmalarınızı uygulamayı ve uygulamalarınızın uygun kalite, güvenilirlik, güvenlik ve güvenilirlik standartlarını karşılamasını sağlamayı içerir. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama Saydamlık Notu.
İpucu
Bu makale, Belge Düzeni becerisini kullanan mevcut işlem hatlarına yöneliktir. Yeni beceri kümeleri için Azure Content Understanding becerisini kullanın. Bu beceri, tek bir beceride semantik öbekleme, yapay zeka tarafından oluşturulan görüntü açıklamaları ve geliştirilmiş belge eklenmiş tablo ayıklama gibi daha yeni işlevler sağlar. Başlamak için bkz. Chunk ve Azure Content Understanding becerisiyle içeriği vektörleştirme.
Metin verileri öbekleme stratejileri, RAG yanıtlarını ve performansını iyileştirmede önemli bir rol oynar. Belge Düzeni becerisini kullanarak, belge yapısına göre içeriği öbekleyebilir, başlıkları yakalayabilir ve içerik gövdesini paragraflar ve cümleler gibi anlamsal tutarlılığa göre öbekleyebilirsiniz. Öbekler bağımsız olarak işlenir. LLM'ler birden çok öbekle çalıştığından, bu öbekler daha kaliteli ve eş zamanlı olduğunda sorgunun genel ilgisi iyileştirilir.
Belge Düzeni becerisi, Dökümhane Araçları'nda Azure Belge Zekası'ndan düzen modelini çağırır. Model, başlıklar ve içerik alanlarıyla birlikte Markdown sentaksını kullanarak JSON'daki içerik yapısını ifade eder. Başlıklar ve içerik alanları, Azure Yapay Zeka Arama'te bir arama dizininde depolanır. Belge Düzeni becerisinden üretilen aranabilir içerik düz metindir, ancak resimler de dahil olmak üzere kaynak belgelerinizdeki herhangi bir alan için eklemeler oluşturmak üzere tümleşik vektörleştirme uygulayabilirsiniz.
Bu makalede şunların nasıl yapıldığını öğrenin:
- Belge yapısını tanımak için Belge Düzeni becerisini kullanma
- Her Markdown bölümüyle öbek boyutunu kısıtlamak için Metin Bölme becerisini kullanma
- Her öbek için eklemeler oluşturma
- Eklemeleri arama dizinindeki alanlarla eşlemek için dizin projeksiyonlarını kullanma
Çizim amacıyla, bu makalede Azure Blob Depolama'ya yüklenen ve ardından Verileri içeri aktarma sihirbazı kullanılarak dizine alınan örnek sistem durumu planı PDF'leri kullanılmaktadır.
Önkoşullar
Çıktıyı kabul eden bir dizine sahip dizin oluşturucu tabanlı dizin oluşturma işlem hattı . Dizin, başlıkları ve içeriği almak için alanlara sahip olmalıdır.
Öbeklemesini istediğiniz metin içeriğine sahip desteklenen bir veri kaynağı .
Bu iki beceriye sahip bir beceri kümesi:
Belge Düzeni yeteneği, belgeleri paragraf sınırlarına göre böler. Anahtar tabanlı faturalama kullanıyorsanız bu beceri, Microsoft Foundry'nin Azure Yapay Zeka Arama yapay zeka zenginleştirmesi ile aynı bölgede olmasını gerektirir. Anahtarsız faturalama için bölge gereksinimleri gevşetildi.
Vektör gömmeleri oluşturan Azure OpenAI Gömme becerisi. Bu becerinin bölge gereksinimleri yoktur.
Veri dosyalarını hazırlama
Ham girişler için desteklenen bir veri kaynağı kullanmanız ve dosyanın Belge Düzeni becerisi tarafından desteklenen bir biçimde olması gerekir.
Desteklenen dosya biçimleri PDF, JPEG, JPG, PNG, BMP, TIFF, DOCX, XLSX, PPTX ve HTML'tir.
Desteklenen dizin oluşturucular, desteklenen dosya biçimlerini işleyebilen tüm dizin oluşturuculardır. Bu dizin oluşturucular Blob dizin oluşturucuları, Microsoft OneLake dizin oluşturucuları ve Dosya dizin oluşturucuları (önizleme) içerir.
Bu özelliğin portal deneyimi için desteklenen bölgeler Doğu ABD, Batı Avrupa ve Orta Kuzey ABD'yi içerir. Beceri kümenizi program aracılığıyla kuruyorsanız, Azure Yapay Zeka Arama'ün yapay zeka zenginleştirme özelliğini de sağlayan herhangi bir Azure Belge Zekası bölgesini kullanabilirsiniz. Daha fazla bilgi için bkz. Belge Düzeni becerisi için desteklenen bölgeler.
Veri kaynağı oluşturmak için Azure portalını, REST API'lerini veya Azure SDK paketini kullanabilirsiniz.
İpucu
Kendi arama hizmetinizde Belge Düzeni becerisini ve yapıya duyarlı öbek oluşturmayı denemek için sağlık planı PDF örnek dosyalarını desteklenen veri kaynağınıza yükleyin. Verileri içeri aktarma sihirbazı, bu beceriyi denemek için kolay bir kod içermeyen yaklaşımdır. Yapıya duyarlı öbekleme kullanmak için varsayılan ayrıştırma modunu seçtiğinizden emin olun. Aksi takdirde Markdown ayrıştırma modu kullanılır.
Birden çoğa dizin oluşturma için dizin oluşturun
Aşağıdaki örnekte öbekler etrafında tasarlanmış tek bir arama belgesi gösterilmektedir. Öbeklerle çalışırken öbek alanı ve öbek kaynağını tanımlayan bir üst alan gerekir. Bu örnekte, ebeveyn alanlar text_parent_id alanlarıdır. Alt alanlar, Markdown bölümünün vektör ve vektör olmayan öbekleridir.
Belge Düzeni becerisi, başlıkları ve içeriği çıktı olarak verir. Bu örnekte, header_1 ile header_3 arası, beceri tarafından algılanan belge başlıklarını depolar. Paragraflar gibi diğer içerikler içinde chunkdepolanır. Alanı text_vector , öbek alanı içeriğinin vektör gösterimidir.
Dizin oluşturmak için Azure portalında, REST API'lerinde veya Azure SDK'sında Verileri içeri aktarma sihirbazını kullanabilirsiniz. Aşağıdaki dizin, sihirbazın varsayılan olarak oluşturduğu dizine çok benzer. Görüntü vektörleştirmesi eklerseniz daha fazla alanınız olabilir.
Sihirbazı kullanmıyorsanız, beceri kümesini oluşturmadan veya dizin oluşturucuyu çalıştırmadan önce dizinin arama hizmetinde mevcut olması gerekir.
{
"name": "my_consolidated_index",
"fields": [
{
"name": "chunk_id",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": false,
"key": true,
"analyzer": "keyword"
},
{
"name": "text_parent_id",
"type": "Edm.String",
"searchable": false,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "chunk",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "title",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "header_1",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "header_2",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "header_3",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false
},
{
"name": "text_vector",
"type": "Collection(Edm.Single)",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false,
"key": false,
"dimensions": 1536,
"stored": false,
"vectorSearchProfile": "profile"
}
],
"vectorSearch": {
"profiles": [
{
"name": "profile",
"algorithm": "algorithm"
}
],
"algorithms": [
{
"name": "algorithm",
"kind": "hnsw"
}
]
}
}
Yapıya duyarlı öbekleme ve vektörleştirme için beceri kümesi tanımlama
Aşağıdaki örnekte, tek tek Markdown bölümlerini, öbeklerini ve bunların vektör eşdeğerlerini arama dizininde alan olarak projeleyen bir beceri kümesi tanımı gösterilmektedir. Belge Düzeni becerisini kullanarak başlıkları algılar ve kaynak belgedeki ayrımsal olarak uyumlu paragrafları ve tümceleri temel alan bir içerik alanını doldurur. Markdown içeriğini öbeklere bölmek için Metin Bölme becerisini kullanır. Öbekleri ve eklemek istediğiniz diğer alanları vektörleştirmek için Azure OpenAI Ekleme becerisini kullanır.
Beceri kümesi, becerilerin yanı sıra indexProjections ve cognitiveServices içerir.
indexProjectionsöbeklenmiş belgeler içeren dizinler için kullanılır. Projeksiyonlar, ebeveyn-çocuk içeriğinin birden çoğa dizinleme için arama dizinindeki alanlarla nasıl eşleneceğini belirtir. Daha fazla bilgi için Dizin projeksiyonu tanımlama bölümüne bakın.cognitiveServicesfaturalama amacıyla bir Microsoft Foundry kaynağı ekler. Belge Düzeni becerisi Standart fiyatlandırma aracılığıyla kullanılabilir.
POST {endpoint}/skillsets?api-version=2026-04-01
{
"name": "my_skillset",
"description": "A skillset for structure-aware chunking and vectorization with an index projection around markdown section",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill",
"name": "my_document_intelligence_layout_skill",
"context": "/document",
"outputMode": "oneToMany",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "markdown_document",
"targetName": "markdownDocument"
}
],
"markdownHeaderDepth": "h3"
},
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "my_markdown_section_split_skill",
"description": "A skill that splits text into chunks",
"context": "/document/markdownDocument/*",
"inputs": [
{
"name": "text",
"source": "/document/markdownDocument/*/content",
"inputs": []
}
],
"outputs": [
{
"name": "textItems",
"targetName": "pages"
}
],
"defaultLanguageCode": "en",
"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"unit": "characters"
},
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"name": "my_azure_openai_embedding_skill",
"context": "/document/markdownDocument/*/pages/*",
"inputs": [
{
"name": "text",
"source": "/document/markdownDocument/*/pages/*",
"inputs": []
}
],
"outputs": [
{
"name": "embedding",
"targetName": "text_vector"
}
],
"resourceUri": "https://<subdomain>.openai.azure.com",
"deploymentId": "text-embedding-3-small",
"apiKey": "<Azure OpenAI api key>",
"modelName": "text-embedding-3-small"
}
],
"cognitiveServices": {
"@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
"key": "<Cognitive Services api key>"
},
"indexProjections": {
"selectors": [
{
"targetIndexName": "my_consolidated_index",
"parentKeyFieldName": "text_parent_id",
"sourceContext": "/document/markdownDocument/*/pages/*",
"mappings": [
{
"name": "text_vector",
"source": "/document/markdownDocument/*/pages/*/text_vector"
},
{
"name": "chunk",
"source": "/document/markdownDocument/*/pages/*"
},
{
"name": "title",
"source": "/document/title"
},
{
"name": "header_1",
"source": "/document/markdownDocument/*/sections/h1"
},
{
"name": "header_2",
"source": "/document/markdownDocument/*/sections/h2"
},
{
"name": "header_3",
"source": "/document/markdownDocument/*/sections/h3"
}
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
}
Dizin oluşturucuyu yapılandırma ve çalıştırma
Veri kaynağı, dizin ve beceri kümesi oluşturduktan sonra dizin oluşturucuyu oluşturun ve çalıştırın. Bu adım işlem hattını çalıştırır.
Belge Düzeni becerisini kullandığınızda, dizin oluşturucu tanımında aşağıdaki parametreleri ayarlayın:
- parametresini
allowSkillsetToReadFileDataolaraktrueayarlayın. - parametresini
parsingModeolarakdefaultayarlayın.
Alan ilişkilendirmelerini aramak için kaynak alanı işlediğinden bu senaryoda outputFieldMappings ayarlamanız indexProjections gerekmez. İndeks projeksiyonları, Belge Düzeni işlemi için alan ilişkilerini ve içeri aktarılan ve vektörleştirilmiş veri yükleri için bölme işlemiyle standart parçalara ayırma süreçlerini işler. Diğer durumlarda geçerli olan işlevlerle dönüşümler veya karmaşık veri eşlemeleri için yine de çıktı alanı eşlemelerine ihtiyacınız vardır. Ancak, belge başına n öbekler için dizin projeksiyonları bu işlevi yerel olarak işler.
Dizin oluşturucu oluşturma isteği örneği aşağıda verilmiştir.
POST {endpoint}/indexers?api-version=2026-04-01
{
"name": "my_indexer",
"dataSourceName": "my_blob_datasource",
"targetIndexName": "my_consolidated_index",
"skillsetName": "my_skillset",
"parameters": {
"batchSize": 1,
"configuration": {
"dataToExtract": "contentAndMetadata",
"parsingMode": "default",
"allowSkillsetToReadFileData": true
}
},
"fieldMappings": [
{
"sourceFieldName": "metadata_storage_path",
"targetFieldName": "title"
}
],
"outputFieldMappings": []
}
İsteği arama hizmetine gönderdiğinizde dizin oluşturucu çalışır.
Sonuçları doğrulama
çözümünüzü test etmek için işlem tamamlandıktan sonra arama dizininizi sorgulayabilirsiniz.
Sonuçları denetlemek için dizine karşı bir sorgu çalıştırın. Arama Gezgini'ni bir arama istemcisi veya HTTP istekleri gönderen herhangi bir araç olarak kullanın. Aşağıdaki sorgu, Markdown bölümünün vektör olmayan içeriğinin ve vektörünün çıkışını içeren alanları sorgular.
Arama Gezgini için yalnızca JSON dosyasını kopyalayıp sorgu yürütme için JSON görünümüne yapıştırabilirsiniz.
POST /indexes/[index name]/docs/search?api-version=[api-version]
{
"search": "copay for in-network providers",
"count": true,
"searchMode": "all",
"vectorQueries": [
{
"kind": "text",
"text": "*",
"fields": "text_vector,image_vector"
}
],
"queryType": "semantic",
"semanticConfiguration": "healthplan-doc-layout-test-semantic-configuration",
"captions": "extractive",
"answers": "extractive|count-3",
"select": "header_1, header_2, header_3"
}
Bu beceriyi test etmek için sistem durumu planı PDF'lerini kullandıysanız, örnek sorgunun Arama Gezgini sonuçları aşağıdaki ekran görüntüsündeki sonuçlara benzer görünmelidir.
Sorgu, metin ve vektörler üzerinde karma bir sorgu olduğundan ve sonuçlarının bu puana göre sıralandığını görürsünüz
@search.rerankerScore.searchMode=all, tüm sorgu terimlerinin bir eşleşme için dikkate alınması gerektiği anlamına gelir (varsayılan değer herhangi bir değerdir).Sorgu semantik derecelendirmeyi kullandığından öğesini görürsünüz
captions. Ayrıcaanswers'a sahiptir, ancak bunlar ekran görüntüsünde görünmüyor. Sonuçlar, semantik dereceleyici tarafından belirlendiği gibi sorgu girişiyle en ilgili olan sonuçlardır.Deyimi
select(ekran görüntüsünde gösterilmez), Belge Düzeni becerisinin algılayıp doldurdığı üst bilgi alanlarını belirtir. Öbeklerin, başlığın veya diğer okunabilir alanların içeriğini incelemek için select yan tümcesine daha fazla alan ekleyebilirsiniz.