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.
Note
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
(önizleme) olarak işaretlenen özellikler, özellikler veya özellikler hizmet düzeyi sözleşmesi kapsamında değildir, üretim iş yükleri için önerilmez ve genel kullanıma sunulmadan önce değişebilir veya kısıtlanabilir. Azure Yapay Zeka Arama önizleme terimleri, tek başına veya genel kullanıma sunulan bir özelliğin parçası olsun, tüm önizleme işlevleri için geçerlidir.
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.
Bu makalede, Azure Content Understanding becerisini kullanarak şunları yapmayı öğreneceksiniz:
- Belgeden metin ve resim ayıklama
- Paragraf ve bölüm sınırlarına uyan anlamsal olarak tutarlı parçalar oluşturma (önizleme)
- Grafikler, diyagramlar ve diğer satır içi görüntülerin yapay zeka açıklamalarını oluşturma (önizleme)
- Vektör araması için her öbek ekleyin ve bir Azure Yapay Zeka Arama dizinine yansıtlayın
Azure Content Understanding becerisi, belge başına bir veya daha fazla öbek döndürür. Her öbek Markdown biçimli içerik, konum meta verileri (sayfa numaraları ve sınırlayıcı çokgenler) ve ayıklanan görüntülere isteğe bağlı başvurular içerir. olarak chunkingProperties.methodayarladığınızda semantic öbekler, sabit karakter aralıkları yerine paragraf ve başlık sınırlarını izler.
modelName ve modelDeployment ayarladığınızda, beceri ekli görüntülerin açıklamalarını oluşturmak için Azure OpenAI sohbet tamamlama dağıtımını çağırır. Beceri daha sonra bu açıklamaları öbek içeriğiyle birleştirir.
Bu makalede, açıklama amacıyla örnek sağlık planı PDF'leri kullanılmaktadır. Dosyaları Content Understanding'in desteklediği biçimde kullanıma sunan desteklenen herhangi bir veri kaynağında aynı işlem hattını çalıştırabilirsiniz.
Prerequisites
Herhangi bir desteklenen bölgede bir Azure Yapay Zeka Arama hizmeti. Arama hizmetinin kendisi bu senaryo için bölge kısıtlaması taşımaz.
Azure Content Understanding becerisi tarafından desteklenen bir bölgedeki Microsoft Foundry kaynağı. Görüntü açıklaması ve parçalama, Foundry kaynağının bulunduğu bölgede işlenir.
Faturalama için beceri kümesine bağlı bir Microsoft Foundry kaynağı. Azure Content Understanding becerisi, Azure Content Understanding fiyatlandırması üzerinden ücretlendirilir.
(İsteğe bağlı) Görüntü açıklamaları oluşturmak için kullanılan, aynı Foundry kaynağındaki bir sohbet tamamlama modelinin (
gpt-4.1gibi) Azure OpenAI dağıtımı. Yalnızca yapay zeka tabanlı görüntü açıklamaları istiyorsanız gereklidir.Öbekleri vektörleştirmek için
text-embedding-3-smalltarafından kullanılan bir ekleme modelinin ( gibi) Azure OpenAI dağıtımı.Dizine eklemek istediğiniz dosyaları içeren bir Azure Blob Depolama kapsayıcısı. Bu makalede, dizin oluşturucu ayarıyla
allowSkillsetToReadFileDatabir blob veri kaynağı kullanılır (dosya içeriğini Content Understanding becerisine geçirmek için kullanılır).
Genel bakış
Makale, bire çok dizin oluşturma işlem hattı oluşturur. Her kaynak belge birden çok arama belgesi (öbek başına bir tane) oluşturur:
Dizin oluşturucu Azure Blob Depolama’daki her dosyayı okur ve ikili içeriği
/document/file_dataaracılığıyla beceri kümesine iletir.Azure Content Understanding becerisi,
text_sectionsoluşturmak için anlamsal öbekleme (önizleme) kullanır.modelNamevemodelDeploymentayarlandığında, ayrıca gömülü görüntüler için yapay zeka tarafından oluşturulan açıklamalar (önizleme) üretir ve bunları her parçanın Markdown içeriğine satır içi olarak ekler.Azure OpenAI Ekleme becerisi öbek başına bir kez çalışır ve öbek içeriği için bir vektör oluşturur.
Dizin projeksiyonu hedef dizine öbek başına bir arama belgesi yazar, içeriği, sayfa meta verilerini, görüntü başvurularını ve vektöri alanlara eşler.
(İsteğe bağlı) Bir bilgi deposu, istemci uygulamalarının ayıklanan görüntüleri URL aracılığıyla alabilmesi için bunları Azure Blob Depolama’a
normalized_imagesyansıtır.
Veri dosyalarını hazırlama
Azure Content Understanding becerisi her belgenin ikili içeriğini işler, bu nedenle kaynak dosyalar becerinin desteklediği bir biçimde olmalıdır. Geçerli liste için bkz. Content Understanding hizmet sınırları. Yaygın olarak desteklenen biçimler PDF, DOCX, XLSX, PPTX ve birçok görüntü biçimidir.
Dosyalarınızı desteklenen veri kaynağına yükleyin. Azure portalını, REST API'lerini veya Azure SDK kullanarak veri kaynağını oluşturabilirsiniz.
Aşağıdaki en düşük istek, bu kılavuz boyunca kullanılan veri kaynağını oluşturur.
POST {endpoint}/datasources?api-version=2026-08-01-preview
{
"name": "my_blob_datasource",
"type": "azureblob",
"credentials": {
"connectionString": "<your-blob-connection-string>"
},
"container": {
"name": "my-container"
}
}
Birden çoğa indeksleme için indeks oluşturma
Her arama belgesi, Content Understanding becerisi tarafından üretilen bir parçaya karşılık gelir. Dizin gereksinimleri:
- Bir anahtar alanı (
chunk_id). - Öbeklerin hangi kaynak belgeden
parent_id() geldiğini tanımlayan üst alan. - Öbek içeriğini, sayfa meta verilerini ve görüntü başvurularını depolayan alanlar.
- Öbek ekleme için bir vektör alanı.
Aşağıdaki dizin tanımı, sonraki bölümde oluşturduğunuz beceri kümesiyle eşleşir.
{
"name": "my_content_understanding_index",
"fields": [
{
"name": "chunk_id",
"type": "Edm.String",
"key": true,
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": false,
"analyzer": "keyword"
},
{
"name": "parent_id",
"type": "Edm.String",
"searchable": false,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false
},
{
"name": "title",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false
},
{
"name": "chunk",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false
},
{
"name": "page_number_from",
"type": "Edm.Int32",
"searchable": false,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": false
},
{
"name": "page_number_to",
"type": "Edm.Int32",
"searchable": false,
"filterable": true,
"retrievable": true,
"stored": true,
"sortable": true,
"facetable": false
},
{
"name": "image_path",
"type": "Edm.String",
"searchable": false,
"filterable": false,
"retrievable": true,
"stored": true,
"sortable": false,
"facetable": false
},
{
"name": "text_vector",
"type": "Collection(Edm.Single)",
"searchable": true,
"retrievable": true,
"stored": false,
"dimensions": 1536,
"vectorSearchProfile": "profile"
}
],
"vectorSearch": {
"profiles": [
{
"name": "profile",
"algorithm": "algorithm"
}
],
"algorithms": [
{
"name": "algorithm",
"kind": "hnsw"
}
]
}
}
Anlamsal öbekleme (önizleme) ve vektörleştirme için beceri kümesini tanımlayın
Hedef dizin hazır olduğunda, onu besleyen öbekleri, vektörleri ve projeksiyon eşlemelerini üreten beceri kümesini tanımlayın.
Beceri kümesinin iki becerisi vardır:
Azure Content Understanding becerisi her belgeyi parçalara ayırır.
chunkingProperties.methodayarınısemanticolarak ayarlamak, yeteneğin paragraf ve başlık sınırlarına uymasını sağlar.modelNamevemodelDeploymentayarlarının yapılması, becerinin vektörleştirmeden önce öbek içeriğine doğrudan eklediği yapay zeka tarafından oluşturulan görüntü açıklamalarını (önizleme) etkinleştirir. Desteklenen sohbet tamamlama modellerinin listesi ve diğer parametre ayrıntıları için bkz . Beceri parametreleri.Azure OpenAI Ekleme becerisi her öbeğin içeriği için bir vektör oluşturur.
Beceri kümesi, her öbeği ayrı bir arama belgesine eşlemek için indexProjections kullanır. Daha fazla bilgi için Dizin projeksiyonu tanımlama bölümüne bakın.
İsteği göndermeden önce <subdomain> yerine Azure OpenAI alt etki alanınızı, <Azure OpenAI api key> yerine gömme kaynağı anahtarını ve <Foundry resource key> yerine beceri kümesine bağlı Foundry kaynağının anahtarını yazın.
POST {endpoint}/skillsets?api-version=2026-08-01-preview
{
"name": "my_content_understanding_skillset",
"description": "Semantic chunking, image descriptions, and vectorization with the Azure Content Understanding skill",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Util.ContentUnderstandingSkill",
"name": "my_content_understanding_skill",
"context": "/document",
"modelName": "gpt-4.1",
"modelDeployment": "my-gpt-4-1-deployment",
"chunkingProperties": {
"method": "semantic",
"unit": "tokens",
"maximumLength": 500
},
"extractionOptions": ["images", "locationMetadata"],
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "text_sections",
"targetName": "text_sections"
},
{
"name": "normalized_images",
"targetName": "normalized_images"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"name": "my_azure_openai_embedding_skill",
"context": "/document/text_sections/*",
"inputs": [
{
"name": "text",
"source": "/document/text_sections/*/content"
}
],
"outputs": [
{
"name": "embedding",
"targetName": "text_vector"
}
],
"resourceUri": "https://<subdomain>.openai.azure.com",
"deploymentId": "text-embedding-3-small",
"modelName": "text-embedding-3-small",
"apiKey": "<Azure OpenAI api key>"
}
],
"cognitiveServices": {
"@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
"key": "<Foundry resource key>"
},
"indexProjections": {
"selectors": [
{
"targetIndexName": "my_content_understanding_index",
"parentKeyFieldName": "parent_id",
"sourceContext": "/document/text_sections/*",
"mappings": [
{
"name": "chunk",
"source": "/document/text_sections/*/content"
},
{
"name": "text_vector",
"source": "/document/text_sections/*/text_vector"
},
{
"name": "page_number_from",
"source": "/document/text_sections/*/locationMetadata/pageNumberFrom"
},
{
"name": "page_number_to",
"source": "/document/text_sections/*/locationMetadata/pageNumberTo"
},
{
"name": "image_path",
"source": "/document/text_sections/*/imagePath"
},
{
"name": "title",
"source": "/document/metadata_storage_name"
}
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
}
Content Understanding becerisi için tam parametre başvurusu, desteklenen değerler ve doğrulama kuralları için bkz. Azure Content Understanding becerisi.
Note
Bu makalede, örnekleri kısa tutmak için API anahtarları kullanılır. Üretim için yönetilen kimlik kullanmanızı öneririz:
Beceri kümesinden Foundry kaynağına: Beceri kümesini anahtar yerine yönetilen kimlik kullanarak Foundry kaynağına bağlamak için bkz. Bir arama hizmetini Azure AI hizmetlerine bağlama. Yönetilen kimlik kullandığınızda, beceri kümesindeki
keybloğundancognitiveServicesözelliğini çıkarın.Azure OpenAI için beceri kümesi:Azure OpenAI Gömme becerisi,
apiKeyyerine yönetilen kimliği destekler.Azure Blob Depolama Dizin Oluşturucusu: Bağlantı dizesini yönetilen kimlik bağlantısıyla değiştirin. Bkz . Yönetilen kimlik kullanarak veri kaynağına bağlantı kurma.
Uçtan uca genel bakış için bkz. Rolleri kullanarak Azure Yapay Zeka Arama’e bağlanma.
Dizin oluşturucuyu yapılandırma ve çalıştırma
Veri kaynağınızdan okuyan, beceri kümesini çağıran ve öbekleri dizine dönüştüren bir dizin oluşturucu oluşturun ve çalıştırın.
allowSkillsetToReadFileData değerini true olarak ayarlayın; böylece Content Understanding becerisi dosya içeriğini alır ve parsingMode değerini default olarak ayarlayın.
Bu senaryoda ihtiyacınız outputFieldMappings yoktur.
indexProjections Beceri kümesindeki blok zaten her öbeği hedef dizin alanlarına eşler.
POST {endpoint}/indexers?api-version=2026-08-01-preview
{
"name": "my_content_understanding_indexer",
"dataSourceName": "my_blob_datasource",
"targetIndexName": "my_content_understanding_index",
"skillsetName": "my_content_understanding_skillset",
"parameters": {
"batchSize": 1,
"configuration": {
"dataToExtract": "contentAndMetadata",
"parsingMode": "default",
"allowSkillsetToReadFileData": true
}
},
"fieldMappings": [],
"outputFieldMappings": []
}
Dizin oluşturucu çalıştırıldığında Content Understanding becerisi semantik öbekleme (önizleme) kullanır, isteğe bağlı olarak yapay zeka tabanlı görüntü açıklamaları (önizleme) oluşturur ve öbek başına dizine bir arama belgesi yazar.
Dizin oluşturucu durumunu kontrol et
Sorgulamadan önce dizin oluşturucu çalıştırmasının tamamladığını onaylayın:
GET {endpoint}/indexers/my_content_understanding_indexer/status?api-version=2026-08-01-preview
lastResult.status öğesinin success olduğunu doğrulayın.
transientFailure
itemsProcessed değerinden 0yüksekse, çalıştırma kısmi bir başarıdır ve yine de doldurulan öbekleri sorgulayabilirsiniz. Daha fazla bilgi için bkz. Dizin oluşturucu durumunu izleme.
Sonuçları doğrulama
Öbeklerin beklenen içeriği içerdiğini ve vektör aramasının beklendiği gibi çalıştığını doğrulamak için dizini sorgular. Arama Gezgini'ni veya HTTP istekleri gönderen herhangi bir aracı kullanın.
Aşağıdaki istek, hem öbeklenmiş metnin hem de gömmelerin doldurulduğunu doğrulamak için bir karma sorgu ( chunk üzerinde anahtar sözcük araması ve text_vector karşı vektör sorgusu) çalıştırır.
POST /indexes/my_content_understanding_index/docs/search?api-version=2026-08-01-preview
{
"search": "copay for in-network providers",
"count": true,
"searchMode": "all",
"vectorQueries": [
{
"kind": "text",
"text": "copay for in-network providers",
"fields": "text_vector"
}
],
"select": "chunk, title, page_number_from, page_number_to, image_path"
}
Başarılı bir yanıt aşağıdakine benzer (kısalık için kırpılır):
{
"@odata.count": 2,
"value": [
{
"@search.score": 0.0317,
"chunk": "## Cost sharing\n\nFor in-network providers, the copay is $20 per visit...\n\n",
"title": "Northwind_Standard_Benefits_Details.pdf",
"page_number_from": 4,
"page_number_to": 4,
"image_path": "figures/3"
},
{
"@search.score": 0.0289,
"chunk": "### Out-of-network providers\n\nWhen you visit a provider that isn't in the Northwind network, the copay is $40 per visit...",
"title": "Northwind_Standard_Benefits_Details.pdf",
"page_number_from": 5,
"page_number_to": 6,
"image_path": null
}
]
}
Yanıt şunları içerir:
-
chunk: Her öbek için Markdown içeriği.modelDeploymentvemodelNameöğelerini yapılandırdığınızda, yapay zeka tarafından oluşturulan görüntü açıklamaları (önizleme) Markdown içinde satır içi olarak görünür. -
page_number_fromvepage_number_to: Öbeği oluşturan sayfa aralığı. -
image_path: Öbekle ayıklanan görüntünün yolu veya bir öbek birden çok görüntüye yayıldığında yolların noktalı virgülle ayrılmış bir listesidir. Tam şekil, bilgi deposu dosya projeksiyonunun yapılandırılıp yapılandırılmadığına bağlıdır. Dosya projeksiyonu olmadan yol, örnekte (figures/3) gösterilen kısa formdur. Dosya projeksiyonu ile yol, bilgi deposundaki görüntünün göreli yoludur. Bu görüntüleri istemci uygulamalarının kullanımına sunmak için bkz: (İsteğe bağlı) Geri alma için proje görüntüleri.
(İsteğe bağlı) Geri alma için proje görselleri
image_path Dizinde depolanan değerler, doğrudan alınabilir URL'ler değil, becerinin zenginleştirme ağacının işaretçileridir. Görüntüleri almak için, normalized_images öğesini bir bilgi deposu kullanarak Azure Blob Depolama’a aktarın ve ardından her öbek için bir blob URL’si elde edin.
Bu adım isteğe bağlıdır. Yalnızca istemci uygulamanızın ayıklanan görüntüleri görüntülemesi veya indirmesi gerekiyorsa ekleyin.
Önceki bölümdeki beceri kümesi yüküne aşağıdaki özelliği ekleyin. Beceri kümesi isteği, api-version=2026-08-01-preview kullanır.
"knowledgeStore": {
"storageConnectionString": "<your-azure-storage-connection-string>",
"projections": [
{
"files": [
{
"storageContainer": "extracted-images",
"source": "/document/normalized_images/*"
}
],
"tables": [],
"objects": []
}
]
}
Dizin oluşturucu çalıştırıldıktan sonra kapsayıcıdaki extracted-images her blob bir normalized_images öğeye karşılık gelir. Blob URL'si, https://<storage-account>.blob.core.windows.net/<container>/<imagePath> biçimindedir; burada <imagePath>, image_path alanında depolanan değerle eşleşir.
Ek projeksiyon türleri (tables ve objects) ile kimlik doğrulama seçenekleri dahil olmak üzere şemanın tamamı için bkz. Azure Yapay Zeka Arama'te Knowledge Store "projeksiyonlar".
Kaynakları temizle
İşiniz bittiğinde, Content Understanding ve Azure OpenAI ücretlerinin işlemeye devam etmesini önlemek için dizin oluşturucuyu, beceri kümesini ve dizini silin. Azure Blob Depolama ve Foundry kaynağındaki kaynak dosyaları siz silene kadar kalır.
Troubleshooting
Dizin oluşturucu başarısız olursa veya beklenmeyen sonuçlar döndürüyorsa aşağıdaki yaygın nedenleri denetleyin.
Beceri kümesi doğrulaması 400 ile başarısız oluyor
Parametre birleşimleri çakıştığında beceri bir 400 Skill validation failed hata döndürür. Yaygın nedenler:
-
modelName,modelDeploymentolmadan ayarlanır veya tam tersi. İkisi de birlikte ayarlanmalıdır. -
method,semantic(önizleme) sürümüdür veoverlapLength,0değerinden büyüktür.overlapLengthöğesini0olarak ayarlayın veya bunu atlayın. -
methodveunitdesteklenen bir çift değildir.fixedSizeilecharactersveyasemanticiletokenskullanın.
Foundry kaynağında yetkilendirme başarısız oluyor
Beceri, Dökümhane kaynağını çağırırken 401 veya 403 döndürürse şunları doğrulayın:
- Beceri kümesindeki
cognitiveServicesblok, doğru Foundry kaynağını gösterir. - Arama hizmeti tarafından kullanılan kimlik, Foundry kaynağında gerekli role sahiptir. Yönetilen kimlik kurulumları için bkz. Azure Yapay Zeka Arama'da bir beceri kümesine faturalanabilir kaynak ekleme.
text_sections boş
Dizine alınan belgelerin öbekleri yoksa şunları doğrulayın:
- Dosya biçimi desteklenir. Liste için bkz . Desteklenen dosya biçimleri.
- Foundry kaynağı desteklenen bölgelerden birindedir.
- Dizin oluşturmadan önce parola korumalı PDF'lerin kilidi açılır.
Resim açıklamaları (önizleme) eksik
Öbekler satır içi görüntü açıklamaları içermiyorsa şunları doğrulayın:
- Hem
modelNamehem demodelDeployment, beceri kümesinde ayarlanmıştır. -
modelNameiçindeki sohbet tamamlama modeli, beceri kümesinin başvurduğu aynı Foundry kaynağına dağıtılmıştır. - Dağıtımınız, belge hacminiz için yeterli TPM veya RPM kotasına sahiptir.
Dizin oluşturucu büyük belgelerde zaman aşımına uğruyor
Content Understanding, belge başına bir işleme zaman aşımı uygular. Büyük PDF'ler başarısız olursa:
- Dizin oluşturmadan önce kaynak belgeyi daha küçük dosyalara bölün.
- Her belgenin bağımsız olarak işlenmesi için
batchSizedeğerini1düşürün.
Azure Content Understanding becerisinin tam veri sınırları için bkz. Data sınırları.