Udostępnij przez


Samouczek: Wektoryzuj na podstawie układu dokumentu strukturalnego

Usługa Azure AI Search umożliwia wyodrębnianie i indeksowanie tekstu i obrazów z dokumentów PDF przechowywanych w usłudze Azure Blob Storage. W tym samouczku pokazano, jak stworzyć wielomodalny potok indeksowania, który dzieli dane na podstawie struktury dokumentu i stosuje wielomodalne osadzenia w celu wektoryzacji tekstu i obrazów z tego samego dokumentu. Przycięte obrazy są przechowywane w magazynie wiedzy, a zawartość tekstowa i wizualna są wektoryzowane i pozyskiwane w indeksie z możliwością wyszukiwania. Fragmentowanie jest oparte na modelu układu narzędzi Usługi Azure Document Intelligence w narzędziu Foundry, który rozpoznaje strukturę dokumentów.

W tym samouczku użyjesz następujących funkcji:

  • 36-stronicowy dokument PDF, który łączy bogatą zawartość wizualną, taką jak wykresy, infografiki i zeskanowane strony, z tradycyjnym tekstem.

  • Indeksator i zestaw umiejętności umożliwiający utworzenie potoku indeksowania obejmującego wzbogacanie sztucznej inteligencji za pomocą umiejętności.

  • Umiejętność układu dokumentu na potrzeby wyodrębniania tekstu i znormalizowanych obrazów z locationMetadata różnych dokumentów, takich jak numery stron lub regiony ograniczenia.

  • Funkcja osadzania wielomodalnego w usłudze Azure Vision do wektoryzacji tekstu i obrazów.

  • Indeks wyszukiwania skonfigurowany do przechowywania wyodrębnionego tekstu i zawartości obrazu. Część zawartości jest wektoryzowana na potrzeby wyszukiwania podobieństwa opartego na wektorach.

Prerequisites

Limitations

Przygotowywanie danych

Poniższe instrukcje dotyczą usługi Azure Storage, która udostępnia przykładowe dane, a także hostuje magazyn wiedzy. Tożsamość usługi wyszukiwania wymaga dostępu do odczytu do usługi Azure Storage w celu pobrania przykładowych danych i potrzebuje dostępu do zapisu w celu utworzenia magazynu wiedzy. Usługa wyszukiwania tworzy kontener dla przyciętych obrazów podczas przetwarzania zestawu umiejętności, używając nazwy podanej w zmiennej środowiskowej.

  1. Pobierz następujący przykładowy plik PDF: sustainable-ai-pdf

  2. W usłudze Azure Storage utwórz nowy kontener o nazwie sustainable-ai-pdf.

  3. Przekaż przykładowy plik danych.

  4. Utwórz przypisania ról i określ tożsamość zarządzaną w parametrach połączenia:

    1. Przypisz czytnik danych obiektu blob Storage do pobierania danych przez indeksator. Przypisz role Storage Blob Data Contributor i Storage Table Data Contributor, aby utworzyć i załadować magazyn wiedzy. Do przypisania roli usługi wyszukiwania można użyć tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika.

    2. W przypadku połączeń wykonanych przy użyciu tożsamości zarządzanej przypisanej przez system, pobierz ciąg połączenia zawierający ResourceId, bez klucza konta ani hasła. Identyfikator zasobu musi zawierać identyfikator subskrypcji konta magazynu, grupę zasobów konta magazynu i nazwę konta magazynu. Łańcuch połączenia jest podobny do poniższego przykładu:

      "credentials" : { 
          "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
      }
      
    3. W przypadku połączeń wykonanych przy użyciu tożsamości zarządzanej przypisanej przez użytkownika pobierz ciąg połączenia zawierający identyfikator ResourceId, bez klucza konta ani hasła. Identyfikator zasobu musi zawierać identyfikator subskrypcji konta magazynu, grupę zasobów konta magazynu i nazwę konta magazynu. Podaj tożsamość przy użyciu składni pokazanej w poniższym przykładzie. Ustaw wartość userAssignedIdentity na tożsamość zarządzaną przypisaną przez użytkownika. Łańcuch połączenia jest podobny do poniższego przykładu:

      "credentials" : { 
          "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
      },
      "identity" : { 
          "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
          "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
      }
      

Przygotowywanie modeli

W tym samouczku założono, że masz istniejący zasób usługi Foundry, za pomocą którego umiejętność wywołuje model osadzania wielomodalnego 4.0 usługi Azure Vision. Podczas przetwarzania zestawu umiejętności usługa wyszukiwania łączy się z modelem, wykorzystując swoją zarządzaną tożsamość. Ta sekcja zawiera wskazówki i linki do przypisywania ról w celu uzyskania autoryzowanego dostępu.

To samo przypisanie roli jest również używane do uzyskiwania dostępu do modelu układu usługi Azure Document Intelligence za pośrednictwem zasobu usługi Foundry.

  1. Zaloguj się do witryny Azure Portal (nie portalu Foundry) i znajdź zasób Foundry. Upewnij się, że znajduje się on w regionie, który udostępnia wielomodalny interfejs API 4.0 i model układu usługi Azure Document Intelligence.

  2. Wybierz pozycję Kontrola dostępu (IAM).

  3. Wybierz pozycję Dodaj , a następnie pozycję Dodaj przypisanie roli.

  4. Wyszukaj Użytkownika usług Cognitive Services, a następnie wybierz tę opcję.

  5. Wybierz pozycję Tożsamość zarządzana , a następnie przypisz tożsamość zarządzaną usługi wyszukiwania.

Konfigurowanie pliku REST

Na potrzeby tego samouczka lokalne połączenie klienta REST z usługą Azure AI Search wymaga punktu końcowego i klucza interfejsu API. Te wartości można uzyskać w witrynie Azure Portal. Aby uzyskać informacje na temat alternatywnych metod połączenia, zobacz Nawiązywanie połączenia z usługą wyszukiwania.

W przypadku uwierzytelnionych połączeń występujących podczas przetwarzania indeksatora i zestawu umiejętności usługa wyszukiwania używa wcześniej zdefiniowanych przypisań ról.

  1. Uruchom program Visual Studio Code i utwórz nowy plik.

  2. Podaj wartości zmiennych używanych w żądaniu. W przypadku @storageConnection upewnij się, że ciąg połączenia nie ma końcowego średnika ani cudzysłowu. W polu @imageProjectionContainer podaj unikatową nazwę kontenera w magazynie blob. Usługa Azure AI Search tworzy ten kontener podczas przetwarzania umiejętności poznawczych.

    @searchUrl = PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE
    @searchApiKey = PUT-YOUR-ADMIN-API-KEY-HERE
    @storageConnection = PUT-YOUR-STORAGE-CONNECTION-STRING-HERE
    @cognitiveServicesUrl = PUT-YOUR-AZURE-AI-FOUNDARY-ENDPOINT-HERE
    @modelVersion = 2023-04-15
    @imageProjectionContainer=sustainable-ai-pdf-images
    
  3. Zapisz plik, używając rozszerzenia .rest lub .http. Aby uzyskać pomoc dotyczącą klienta REST, zobacz Szybki start: wyszukiwanie pełnotekstowe przy użyciu interfejsu REST.

Aby uzyskać punkt końcowy usługi Azure AI Search i klucz API:

  1. Zaloguj się do witryny Azure Portal, przejdź do strony Przegląd usługi wyszukiwania i skopiuj adres URL. Przykładowy punkt końcowy może wyglądać podobnie jak https://mydemo.search.windows.net.

  2. W obszarze Klucze ustawień>skopiuj klucz administratora. Klucze administracyjne służą do dodawania, modyfikowania i usuwania obiektów. Istnieją dwa zamienne klucze administratora. Skopiuj jedną z nich.

    Zrzut ekranu przedstawiający adres URL i klucze interfejsu API w witrynie Azure Portal.

Utwórz źródło danych

Utwórz źródło danych (REST) tworzy połączenie ze źródłem danych, które określa, jakie dane mają być indeksowane.

### Create a data source using system-assigned managed identities
POST {{searchUrl}}/datasources?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}

  {
    "name": "doc-intelligence-multimodal-embedding-ds",
    "description": "A data source to store multimodal documents",
    "type": "azureblob",
    "subtype": null,
    "credentials":{
      "connectionString":"{{storageConnection}}"
    },
    "container": {
      "name": "sustainable-ai-pdf",
      "query": null
    },
    "dataChangeDetectionPolicy": null,
    "dataDeletionDetectionPolicy": null,
    "encryptionKey": null,
    "identity": null
  }

Wyślij żądanie. Odpowiedź powinna wyglądać następująco:

HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Location: https://<YOUR-SEARCH-SERVICE-NAME>.search.windows-int.net:443/datasources('doc-extraction-multimodal-embedding-ds')?api-version=2025-11-01-preview -Preview
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: 4eb8bcc3-27b5-44af-834e-295ed078e8ed
elapsed-time: 346
Date: Sat, 26 Apr 2025 21:25:24 GMT
Connection: close

{
  "name": "doc-extraction-multimodal-embedding-ds",
  "description": null,
  "type": "azureblob",
  "subtype": null,
  "indexerPermissionOptions": [],
  "credentials": {
    "connectionString": null
  },
  "container": {
    "name": "sustainable-ai-pdf",
    "query": null
  },
  "dataChangeDetectionPolicy": null,
  "dataDeletionDetectionPolicy": null,
  "encryptionKey": null,
  "identity": null
}

Tworzenie indeksu

Tworzenie indeksu (REST) powoduje utworzenie indeksu wyszukiwania w usłudze wyszukiwania. Indeks określa wszystkie parametry i ich atrybuty.

W przypadku zagnieżdżonego kodu JSON pola indeksu muszą być identyczne z polami źródłowymi. Obecnie usługa Azure AI Search nie obsługuje mapowań pól na zagnieżdżone dane JSON, więc nazwy pól i typy danych muszą być całkowicie zgodne. Poniższy indeks jest zgodny z elementami JSON w nieprzetworzonej zawartości.

### Create an index
POST {{searchUrl}}/indexes?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}

{
    "name": "doc-intelligence-multimodal-embedding-index",
    "fields": [
        {
            "name": "content_id",
            "type": "Edm.String",
            "retrievable": true,
            "key": true,
            "analyzer": "keyword"
        },
        {
            "name": "text_document_id",
            "type": "Edm.String",
            "searchable": false,
            "filterable": true,
            "retrievable": true,
            "stored": true,
            "sortable": false,
            "facetable": false
        },          
        {
            "name": "document_title",
            "type": "Edm.String",
            "searchable": true
        },
        {
            "name": "image_document_id",
            "type": "Edm.String",
            "filterable": true,
            "retrievable": true
        },
        {
            "name": "content_text",
            "type": "Edm.String",
            "searchable": true,
            "retrievable": true
        },
        {
            "name": "content_embedding",
            "type": "Collection(Edm.Single)",
            "dimensions": 1024,
            "searchable": true,
            "retrievable": true,
            "vectorSearchProfile": "hnsw"
        },
        {
            "name": "content_path",
            "type": "Edm.String",
            "searchable": false,
            "retrievable": true
        },
        {
            "name": "offset",
            "type": "Edm.String",
            "searchable": false,
            "retrievable": true
        },
        {
            "name": "location_metadata",
            "type": "Edm.ComplexType",
            "fields": [
                {
                "name": "page_number",
                "type": "Edm.Int32",
                "searchable": false,
                "retrievable": true
                },
                {
                "name": "bounding_polygons",
                "type": "Edm.String",
                "searchable": false,
                "retrievable": true,
                "filterable": false,
                "sortable": false,
                "facetable": false
                }
            ]
        }         
    ],
    "vectorSearch": {
        "profiles": [
            {
                "name": "hnsw",
                "algorithm": "defaulthnsw",
                "vectorizer": "demo-vectorizer"
            }
        ],
        "algorithms": [
            {
                "name": "defaulthnsw",
                "kind": "hnsw",
                "hnswParameters": {
                    "m": 4,
                    "efConstruction": 400,
                    "metric": "cosine"
                }
            }
        ],
        "vectorizers": [
            {
                "name": "demo-vectorizer",
                "kind": "aiServicesVision",
                "aiServicesVisionParameters": {
                    "resourceUri": "{{cognitiveServicesUrl}}",
                    "authIdentity": null,
                    "modelVersion": "{{modelVersion}}"
                }
            }
        ]     
    },
    "semantic": {
        "defaultConfiguration": "semanticconfig",
        "configurations": [
            {
                "name": "semanticconfig",
                "prioritizedFields": {
                    "titleField": {
                        "fieldName": "document_title"
                    },
                    "prioritizedContentFields": [
                    ],
                    "prioritizedKeywordsFields": []
                }
            }
        ]
    }
}

Najważniejsze kwestie:

  • Osadzenia tekstu i obrazu są przechowywane w polu content_embedding i muszą być skonfigurowane z odpowiednimi wymiarami, takimi jak 1024, oraz profilem do wyszukiwania wektorowego.

  • location_metadata przechwytuje metadane wielokąta ograniczającego i numeru strony dla każdego fragmentu tekstu oraz znormalizowanego obrazu, umożliwiając precyzyjne wyszukiwanie przestrzenne lub nakładki interfejsu użytkownika.

  • Aby uzyskać więcej informacji na temat wyszukiwania wektorów, zobacz Vectors in Azure AI Search (Wektory w usłudze Azure AI Search).

  • Aby uzyskać więcej informacji na temat klasyfikacji semantycznej, zobacz Semantic ranking w usłudze Azure AI Search.

Tworzenie zestawu umiejętności

Tworzenie zestawu umiejętności (REST) tworzy zestaw umiejętności w usłudze wyszukiwania. Zestaw umiejętności definiuje operacje fragmentujące i osadzanie zawartości przed indeksowaniem. Ten zestaw umiejętności wykorzystuje umiejętności Układ dokumentów do wyodrębniania tekstu i obrazów, zachowując metadane lokalizacji, które są przydatne w przypadku cytatów w aplikacjach RAG. Korzysta z umiejętności osadzania wielomodalnego usługi Azure Vision, aby wektoryzować zawartość obrazu i tekstu.

### Create a skillset
POST {{searchUrl}}/skillsets?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}

{
  "name": "doc-intelligence-multimodal-embedding-skillset",
  "description": "A sample skillset for multimodal using multimodal embedding",
  "skills": [
    {
      "@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill",
      "name": "document-layout-skill",
      "description": "Azure Document Intelligence skill for document cracking",
      "context": "/document",
      "outputMode": "oneToMany",
      "outputFormat": "text",
      "extractionOptions": ["images", "locationMetadata"],
      "chunkingProperties": {     
          "unit": "characters",
          "maximumLength": 2000, 
          "overlapLength": 200
      },
      "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.Vision.VectorizeSkill", 
      "name": "text-embedding-skill",
      "description": "Vision Vectorization skill for text",
      "context": "/document/text_sections/*", 
      "modelVersion": "2023-04-15", 
      "inputs": [ 
        { 
          "name": "text", 
          "source": "/document/text_sections/*/content" 
        } 
      ], 
      "outputs": [ 
        { 
          "name": "vector",
          "targetName": "text_vector"
        } 
      ] 
    },    
    { 
      "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", 
      "name": "image-embedding-skill",
      "description": "Vision Vectorization skill for images",
      "context": "/document/normalized_images/*", 
      "modelVersion": "2023-04-15", 
      "inputs": [ 
        { 
          "name": "image", 
          "source": "/document/normalized_images/*" 
        } 
      ], 
      "outputs": [ 
        { 
          "name": "vector",
          "targetName": "image_vector"
        } 
      ] 
    },
    {
      "@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
      "name": "shaper-skill",
      "context": "/document/normalized_images/*",
      "inputs": [
        {
          "name": "normalized_images",
          "source": "/document/normalized_images/*",
          "inputs": []
        },
        {
          "name": "imagePath",
          "source": "='my_container_name/'+$(/document/normalized_images/*/imagePath)",
          "inputs": []
        }
      ],
      "outputs": [
        {
          "name": "output",
          "targetName": "new_normalized_images"
        }
      ]
    }      
  ], 
   "indexProjections": {
      "selectors": [
        {
          "targetIndexName": "doc-intelligence-multimodal-embedding-index",
          "parentKeyFieldName": "text_document_id",
          "sourceContext": "/document/text_sections/*",
          "mappings": [    
            {
            "name": "content_embedding",
            "source": "/document/text_sections/*/text_vector"
            },                      
            {
              "name": "content_text",
              "source": "/document/text_sections/*/content"
            },
            {
              "name": "location_metadata",
              "source": "/document/text_sections/*/locationMetadata"
            },                
            {
              "name": "document_title",
              "source": "/document/document_title"
            }   
          ]
        },        
        {
          "targetIndexName": "{{index}}",
          "parentKeyFieldName": "image_document_id",
          "sourceContext": "/document/normalized_images/*",
          "mappings": [    
            {
            "name": "content_embedding",
            "source": "/document/normalized_images/*/image_vector"
            },                                           
            {
              "name": "content_path",
              "source": "/document/normalized_images/*/new_normalized_images/imagePath"
            },                    
            {
              "name": "document_title",
              "source": "/document/document_title"
            },
            {
              "name": "location_metadata",
              "source": "/document/normalized_images/*/locationMetadata"
            }             
          ]
        }
      ],
      "parameters": {
        "projectionMode": "skipIndexingParentDocuments"
      }
  },
  "cognitiveServices": {
    "@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity",
    "subdomainUrl": "{{cognitiveServicesUrl}}",
    "identity": null
  },
  "knowledgeStore": {
    "storageConnectionString": "",
    "identity": null,
    "projections": [
      {
        "files": [
          {
            "storageContainer": "{{imageProjectionContainer}}",
            "source": "/document/normalized_images/*"
          }
        ]
      }
    ]
  }
}

Ten zestaw umiejętności wyodrębnia tekst i obrazy, wektoryzuje zarówno, jak i kształtuje metadane obrazu do projekcji do indeksu.

Najważniejsze kwestie:

  • Pole content_text jest wypełniane tekstem wyodrębnionym i fragmentowanym przy użyciu umiejętności układu dokumentu

  • content_path zawiera ścieżkę względną do pliku obrazu w wyznaczonym kontenerze projekcji obrazów. To pole jest generowane tylko dla obrazów wyodrębnionych z dokumentów, gdy extractOption jest ustawiony na ["images", "locationMetadata"] lub ["images"], i można je przypisać ze wzbogaconego dokumentu z pola źródłowego /document/normalized_images/*/imagePath.

  • Funkcja wielomodalnego osadzania w Azure Vision umożliwia osadzanie zarówno danych tekstowych, jak i wizualnych przy użyciu tego samego typu funkcji, zależnie od danych wejściowych (tekst vs obraz). Aby uzyskać więcej informacji, zobacz funkcję wielomodalnych osadzeń usługi Azure Vision.

Tworzenie i uruchamianie indeksatora

Create Indexer tworzy indeksator w Twojej usłudze wyszukiwania. Indeksator łączy się ze źródłem danych, ładuje dane, uruchamia zestaw umiejętności i indeksuje wzbogacone dane.

### Create and run an indexer
POST {{searchUrl}}/indexers?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}

{
  "dataSourceName": "doc-intelligence-multimodal-embedding-ds",
  "targetIndexName": "doc-intelligence-multimodal-embedding-index",
  "skillsetName": "doc-intelligence-multimodal-embedding-skillset",
  "parameters": {
    "maxFailedItems": -1,
    "maxFailedItemsPerBatch": 0,
    "batchSize": 1,
    "configuration": {
      "allowSkillsetToReadFileData": true
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "metadata_storage_name",
      "targetFieldName": "document_title"
    }
  ],
  "outputFieldMappings": []
}

Uruchamianie zapytań

Możesz rozpocząć wyszukiwanie zaraz po załadowaniu pierwszego dokumentu.

### Query the index
POST {{searchUrl}}/indexes/doc-intelligence-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}
  
  {
    "search": "*",
    "count": true
  }

Wyślij żądanie. Jest to nieokreślone zapytanie wyszukiwania pełnotekstowego, które zwraca wszystkie pola oznaczone jako możliwe do pobrania w indeksie wraz z liczbą dokumentów. Odpowiedź powinna wyglądać następująco:

{
  "@odata.count": 100,
  "@search.nextPageParameters": {
    "search": "*",
    "count": true,
    "skip": 50
  },
  "value": [
  ],
  "@odata.nextLink": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes/doc-intelligence-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview "
}

100 dokumentów jest zwracanych w odpowiedzi.

W przypadku filtrów można również używać operatorów logicznych (i, lub, nie) i operatorów porównania (eq, ne, gt, lt, ge, le). W porównaniach ciągów jest rozróżniana wielkość liter. Aby uzyskać więcej informacji i przykładów, zobacz Przykłady prostych zapytań wyszukiwania.

Note

Parametr $filter działa tylko w przypadku pól, które zostały oznaczone jako filtrowalne podczas tworzenia indeksu.

### Query for only images
POST {{searchUrl}}/indexes/doc-intelligence-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}
  
  {
    "search": "*",
    "count": true,
    "filter": "image_document_id ne null"
  }
### Query for text or images with content related to energy, returning the id, parent document, and text (only populated for text chunks), and the content path where the image is saved in the knowledge store (only populated for images)
POST {{searchUrl}}/indexes/doc-intelligence-multimodal-embedding-index/docs/search?api-version=2025-11-01-preview   HTTP/1.1
  Content-Type: application/json
  api-key: {{searchApiKey}}
  
  {
    "search": "energy",
    "count": true,
    "select": "content_id, document_title, content_text, content_path"
  }

Resetowanie i ponowne uruchamianie

Indeksatory można zresetować w celu wyczyszczenia historii wykonywania, co umożliwia pełne ponowne uruchamianie. Następujące żądania POST są przeznaczone do resetowania, a następnie ponownie uruchamiane.

### Reset the indexer
POST {{searchUrl}}/indexers/doc-intelligence-multimodal-embedding-indexer/reset?api-version=2025-11-01-preview   HTTP/1.1
  api-key: {{searchApiKey}}
### Run the indexer
POST {{searchUrl}}/indexers/doc-intelligence-multimodal-embedding-indexer/run?api-version=2025-11-01-preview   HTTP/1.1
  api-key: {{searchApiKey}}
### Check indexer status 
GET {{searchUrl}}/indexers/doc-intelligence-multimodal-embedding-indexer/status?api-version=2025-11-01-preview   HTTP/1.1
  api-key: {{searchApiKey}}

Uprzątnij zasoby

Gdy pracujesz we własnej subskrypcji, warto na końcu projektu usunąć zasoby, których już nie potrzebujesz. Zasoby pozostawione w stanie aktywnym mogą generować koszty. Zasoby można usunąć pojedynczo lub usunąć grupę zasobów, aby usunąć cały zestaw zasobów.

Za pomocą witryny Azure Portal można usuwać indeksy, indeksatory i źródła danych.

Zobacz także

Teraz, gdy znasz przykładową implementację scenariusza indeksowania wielomodalnego, zapoznaj się z tematem: