Udostępnij przez


Jak używać podsumowania dokumentów natywnych (wersja zapoznawcza)

Ważne

  • Publiczne wersje zapoznawcze narzędzi Azure Language in Foundry Tools zapewniają wczesny dostęp do funkcji, które są aktywnie opracowywane.
  • Funkcje, podejścia i procesy mogą ulec zmianie przed ogólną dostępnością na podstawie opinii użytkowników.

Język to oparta na chmurze usługa, która stosuje funkcje przetwarzania języka naturalnego (NLP) do danych opartych na tekście. Podsumowanie dokumentów używa przetwarzania języka naturalnego do generowania streszczeń ekstraktywnego (ekstrakcja istotnych zdań) lub abstrakcyjnego (ekstrakcja kontekstowych słów) z dokumentów. Zarówno AbstractiveSummarization API, jak i ExtractiveSummarization API obsługują natywne przetwarzanie dokumentów. Dokument natywny odnosi się do formatu pliku używanego do tworzenia oryginalnego dokumentu, takiego jak Microsoft Word (docx) lub przenośny plik dokumentu (pdf). Obsługa dokumentów natywnych eliminuje konieczność wstępnego przetwarzania tekstu przed użyciem funkcji zasobów języka. Funkcja obsługi dokumentów natywnych umożliwia asynchroniczne wysyłanie żądań interfejsu API przy użyciu treści żądania HTTP POST w celu wysyłania danych i ciągu zapytania żądania HTTP GET w celu pobrania wyników stanu. Przetworzone dokumenty znajdują się w kontenerze docelowym usługi Azure Blob Storage.

Obsługiwane formaty dokumentów

Aplikacje używają natywnych formatów plików do tworzenia, zapisywania lub otwierania dokumentów natywnych. Obecnie funkcje PII oraz podsumowania dokumentów obsługują następujące natywne formaty dokumentów:

Typ pliku Rozszerzenie pliku opis
Tekst .txt Niesformatowany dokument tekstowy.
Adobe PDF .pdf Przenośny plik dokumentu sformatowany.
Microsoft Word .docx Plik dokumentu programu Microsoft Word.

Wskazówki dotyczące danych wejściowych

Obsługiwane formaty plików

Typ wsparcie i ograniczenia
Pliki PDF W pełni zeskanowane pliki PDF nie są obsługiwane.
Tekst na obrazach Obrazy cyfrowe z osadzonym tekstem nie są obsługiwane.
Tabele cyfrowe Tabele w zeskanowanych dokumentach nie są obsługiwane.

Rozmiar dokumentu

[No changes needed]) Limit danych wejściowych
Łączna liczba dokumentów na żądanie ≤ 20
Łączny rozmiar zawartości na żądanie ≤ 10 MB

Dołączanie dokumentów natywnych do żądania HTTP

Zacznijmy:

  • W tym projekcie używamy narzędzia wiersza polecenia cURL do wykonywania wywołań interfejsu API REST.

    Uwaga

    Pakiet cURL jest wstępnie zainstalowany w większości dystrybucji systemów Windows 10 i Windows 11 oraz większości systemów macOS i Linux. Wersję pakietu można sprawdzić za pomocą następujących poleceń: Windows: curl.exe -V macOS curl -V Linux: curl --version

  • Aktywne konto platformy Azure. Jeśli nie masz, możesz utworzyć bezpłatne konto.

  • Konto Azure Blob Storage. Musisz również utworzyć kontenery na koncie usługi Azure Blob Storage dla plików źródłowych i docelowych:

    • Kontener źródłowy. Ten kontener służy do przekazywania plików natywnych do analizy (wymagane).
    • Kontener docelowy. W tym kontenerze są przechowywane przeanalizowane pliki (wymagane).
  • Językowy zasób pojedynczej usługi (zamiast wielousługowego zasobu Microsoft Foundry):

    Wypełnij pola dla szczegółów projektu i wystąpień zasobów językowych usługi Azure w następujący sposób:

    1. Subskrypcja. Wybierz jedną z dostępnych subskrypcji platformy Azure.

    2. Grupa zasobów. Możesz utworzyć nową grupę zasobów lub dodać zasób do istniejącej grupy zasobów, która współużytkuje ten sam cykl życia, uprawnienia i zasady.

    3. Region zasobów. Wybierz pozycję Globalny , chyba że Twoja firma lub aplikacja wymaga określonego regionu. Jeśli planujesz uwierzytelnianie przy użyciu tożsamości zarządzanej przypisanej przez system, wybierz region geograficzny, taki jak Zachodnie stany USA.

    4. Nazwa. Wprowadź nazwę wybraną dla zasobu. Wybrana nazwa musi być unikatowa na platformie Azure.

    5. Poziom cenowy. Możesz użyć warstwy cenowej bezpłatna (Free F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

    6. Wybierz Przejrzyj i utwórz.

    7. Przejrzyj warunki usługi i wybierz pozycję Utwórz , aby wdrożyć zasób.

    8. Po pomyślnym wdrożeniu zasobu wybierz pozycję Przejdź do zasobu.

Pobierz klucz i punkt końcowy języka

Żądania do usługi Azure Language wymagają klucza tylko do odczytu i niestandardowego punktu końcowego w celu uwierzytelnienia dostępu.

  1. Jeśli utworzono nowy zasób, po jego wdrożeniu wybierz pozycję Przejdź do zasobu. Jeśli masz istniejący zasób języka, przejdź bezpośrednio do strony zasobu.

  2. W lewej szynie w obszarze Zarządzanie zasobami wybierz pozycję Klucze i punkt końcowy.

  3. Możesz skopiować i wkleić swoje key oraz Language instance endpoint do przykładowego kodu, aby uwierzytelnić żądanie w usłudze Azure Language. Tylko jeden klucz jest wymagany do wykonania wywołania interfejsu API.

Tworzenie kontenerów usługi Azure Blob Storage

Utwórz kontenery na koncie usługi Azure Blob Storage dla plików źródłowych i docelowych.

  • Kontener źródłowy. Ten kontener służy do przekazywania plików natywnych do analizy (wymagane).
  • Kontener docelowy. W tym kontenerze są przechowywane przeanalizowane pliki (wymagane).

Uwierzytelnianie

Zasób językowy wymaga uzyskania dostępu do konta magazynu, aby mógł tworzyć, odczytywać lub usuwać bloby. Istnieją dwie podstawowe metody, których można użyć do udzielenia dostępu do danych magazynu:

  • Tokeny sygnatur współdzielonego dostępu (SAS). Tokeny SAS delegowane użytkownika są zabezpieczone poświadczeniami Microsoft Entra. Tokeny SAS zapewniają bezpieczny, delegowany dostęp do zasobów na koncie usługi Azure Storage.

  • Kontrola dostępu oparta na rolach (RBAC) tożsamości zarządzanej. Tożsamości zarządzane dla zasobów platformy Azure to jednostki usługi, które tworzą tożsamość firmy Microsoft Entra i określone uprawnienia dla zasobów zarządzanych platformy Azure.

W tym projekcie uwierzytelniamy dostęp do source location adresów URL i target location przy użyciu tokenów sygnatury dostępu współdzielonego (SAS) dołączanych jako ciągi zapytania. Każdy token jest przypisywany do określonego obiektu blob (pliku).

Zrzut ekranu przedstawiający adres URL magazynu z dołączonym tokenem SAS.

  • Źródłowy kontener lub obiekt blob musi przydzielić dostęp do odczytu i dostęp do listy.
  • Docelowy kontener lub obiekt blob musi mieć przypisany dostęp do zapisu i dostęp do listy.

Interfejs API podsumowania wyodrębniającego używa technik przetwarzania języka naturalnego do lokalizowania kluczowych zdań w dokumencie tekstowym bez struktury. Zdania te łącznie przekazują główną ideę dokumentu.

Podsumowanie ekstrakcyjne zwraca wynik oceny jako część odpowiedzi systemowej wraz z wyodrębnionymi zdaniami i ich pozycją w oryginalnych dokumentach. Wynik rangi jest wskaźnikiem, jak istotne jest zdanie względem głównego pomysłu dokumentu. Model przypisuje wynik z zakresu od 0 do 1 (włącznie) każdemu zdaniu i zwraca najwyżej oceniane zdania na żądanie. Jeśli na przykład zażądasz podsumowania z trzema zdaniami, usługa zwróci trzy zdania o najwyższych wynikach.

Istnieje inna funkcja w języku, wyodrębnianie kluczowych fraz, które mogą wyodrębniać kluczowe informacje. Aby zdecydować między wyodrębnianiem kluczowych fraz a podsumowaniem wyodrębnianym, poniżej przedstawiono przydatne zagadnienia:

  • Wyodrębnianie kluczowych fraz zwraca frazy, podczas gdy podsumowanie wyodrębniane zwraca zdania.
  • Podsumowanie ekstrakcyjne zwraca zdania wraz z oceną rankingową, a najwyżej oceniane zdania są zwracane na żądanie.
  • Podsumowanie wyodrębnione zwraca również następujące informacje pozycyjne:
    • Przesunięcie: pozycja początkowa każdego wyodrębnionego zdania.
    • Długość: długość każdego wyodrębnionego zdania.

Określanie sposobu przetwarzania danych (opcjonalnie)

Przesyłanie danych

Dokumenty są przesyłane do interfejsu API jako ciągi tekstu. Analiza jest wykonywana po odebraniu żądania. Ponieważ interfejs API jest asynchroniczny, może wystąpić opóźnienie między wysłaniem żądania interfejsu API i odebraniem wyników.

W przypadku korzystania z tej funkcji wyniki interfejsu API są dostępne przez 24 godziny od momentu pozyskiwania żądania i są wskazywane w odpowiedzi. Po upływie tego okresu wyniki są czyszczone i nie są już dostępne do pobierania.

Pobieranie wyników podsumowania tekstu

Po otrzymaniu wyników z wykrywania języka można przesyłać strumieniowo wyniki do aplikacji lub zapisywać dane wyjściowe w pliku w systemie lokalnym.

Oto przykład treści, którą można przesłać do podsumowania, wykorzystując artykuł na blogu Microsoftu Holistyczne podejście do integracyjnej AI. Ten artykuł jest tylko przykładem. Interfejs API może akceptować dłuższy tekst wejściowy. Aby uzyskać więcej informacji, zobaczlimity danych i usług.

"W firmie Microsoft dążymy do rozwoju sztucznej inteligencji poza istniejącymi technikami, przyjmując bardziej całościowe, skoncentrowane na człowieku podejście do uczenia się i zrozumienia. Jako dyrektor ds. technologii foundry Tools, pracuję z zespołem niesamowitych naukowców i inżynierów, aby przekształcić to zadanie w rzeczywistość. W mojej roli cieszę się unikalną perspektywą w postrzeganiu relacji między trzema atrybutami poznania ludzkiego: tekstem jednojęzycznym (X), sygnałami sensorycznymi audio lub wizualnymi (Y) i tekstami wielojęzycznymi (Z). Na skrzyżowaniu wszystkich trzech elementów istnieje magia — to, co nazywamy kodem XYZ, jak pokazano na rysunku 1 — wspólną reprezentacją umożliwiającą tworzenie bardziej wydajnej sztucznej inteligencji, która może mówić, słyszeć, widzieć i lepiej rozumieć ludzi. Uważamy, że kod XYZ umożliwia nam spełnienie naszej długoterminowej wizji: uczenie się transferu między domenami, obejmujące modalizacje i języki. Celem jest posiadanie wstępnie wytrenowanych modeli, które mogą wspólnie uczyć się reprezentacji wspierających szeroki zakres dalszych zadań sztucznej inteligencji, podobnie jak robią to ludzie dzisiaj. W ciągu ostatnich pięciu lat osiągnęliśmy ludzką wydajność w testach porównawczych rozpoznawania mowy konwersacyjnej, tłumaczenia maszynowego, odpowiadania na pytania konwersacyjne, zrozumienia maszynowego i podpisów obrazów. Te pięć przełomów dostarczyło nam wyraźnych sygnałów w kierunku naszych ambitniejszych planów dotyczących przełomu w możliwościach sztucznej inteligencji, osiągnięcia zmysłowego i wielojęzycznego uczenia się, które są bardziej zbliżone do tego, jak ludzie uczą się i rozumieją. Wierzę, że wspólny kod XYZ jest podstawowym składnikiem tej aspiracji, jeśli oparty na zewnętrznych źródłach wiedzy w następnych zadaniach AI.

Żądanie podsumowania tekstu przez interfejs API jest przetwarzane po jego otrzymaniu poprzez utworzenie zadania dla zaplecza API. Jeśli zadanie zakończyło się pomyślnie, zwracane są dane wyjściowe interfejsu API. Dane wyjściowe są dostępne do pobierania przez 24 godziny. Po tym czasie wyniki są usuwane. Ze względu na obsługę wielu języków i emoji, odpowiedź może zawierać przesunięcia tekstu. Aby uzyskać więcej informacji, zobaczjak przetwarzać offsety.

W przypadku użycia powyższego przykładu interfejs API może zwrócić następujące podsumowane zdania:

Podsumowanie wyodrębnione:

  • "W firmie Microsoft dążymy do rozwoju sztucznej inteligencji poza istniejącymi technikami, przyjmując bardziej całościowe, skoncentrowane na człowieku podejście do uczenia się i zrozumienia".
  • "Uważamy, że XYZ-code umożliwia nam spełnienie naszej długoterminowej wizji: uczenie transferowe między domenami, obejmujące modalizacje i języki."
  • Celem jest opracowanie wstępnie wytrenowanych modeli, które mogą wspólnie uczyć się reprezentacji, aby wspierać szeroką gamę dalszych zastosowań AI, podobnie jak robią to ludzie dziś.

Podsumowanie abstrakcyjne:

  • "Firma Microsoft przyjmuje bardziej całościowe, skoncentrowane na człowieku podejście do uczenia się i zrozumienia. Uważamy, że kod XYZ umożliwia nam spełnienie naszej długoterminowej wizji: uczenie się transferu między domenami, obejmujące modalizacje i języki. W ciągu ostatnich pięciu lat osiągnęliśmy ludzkie wyniki w zakresie testów porównawczych.

Wypróbuj podsumowanie ekstrakcyjne tekstu

Możesz użyć podsumowania ekstrakcyjnego, aby uzyskać podsumowania artykułów, prac naukowych lub dokumentów. Aby zapoznać się z przykładem, zobacz artykuł Szybki start.

Możesz użyć parametru sentenceCount , aby pokierować liczbą zwracanych zdań i 3 być wartością domyślną. Zakres wynosi od 1 do 20.

Można również użyć parametru sortby , aby określić, w jakiej kolejności zwracane są wyodrębnione zdania — Offset lub Rank, z wartością Offset domyślną.

wartość parametru opis
Ranga Porządkowaj zdania zgodnie z ich istotnością dla dokumentu wejściowego, zgodnie z decyzją usługi.
Przesunięcie Przechowuje oryginalną kolejność, w której zdania są wyświetlane w dokumencie wejściowym.

Wypróbuj podsumowanie abstrakcyjne tekstu

Poniższy przykład umożliwia rozpoczęcie pracy z podsumowaniem abstrakcyjnym tekstu:

  1. Skopiuj następujące polecenie do edytora tekstów. Przykład powłoki BASH używa znaku kontynuacji wiersza \. Jeśli konsola lub terminal używa innego znaku kontynuacji wiersza, użyj tego znaku.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text Abstractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Foundry Tools, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there's magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
  "tasks": [
    {
      "kind": "AbstractiveSummarization",
      "taskName": "Text Abstractive Summarization Task 1",
    }
  ]
}
'
  1. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    • Zastąp wartość your-language-resource-key kluczem.
    • Zastąp pierwszą część adresu URL żądania adresem URL your-language-resource-endpoint punktu końcowego.
  2. Otwórz okno wiersza polecenia (na przykład: BASH).

  3. Wklej polecenie z edytora tekstów do okna wiersza polecenia, a następnie uruchom polecenie.

  4. Pobierz element operation-location z nagłówka odpowiedzi. Wartość wygląda podobnie do następującego adresu URL:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Aby uzyskać wyniki żądania, użyj następującego polecenia cURL. Pamiętaj, aby zastąpić <my-job-id> wartością liczbową identyfikatora otrzymaną z poprzedniego operation-location nagłówka odpowiedzi.
curl -X GET https://<your-language-resource-endpoint>/language/analyze-text/jobs/<my-job-id>?api-version=2022-10-01-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Podsumowanie tekstu abstrakcyjnego — przykładowa odpowiedź JSON

{
    "jobId": "cd6418fe-db86-4350-aec1-f0d7c91442a6",
    "lastUpdateDateTime": "2022-09-08T16:45:14Z",
    "createdDateTime": "2022-09-08T16:44:53Z",
    "expirationDateTime": "2022-09-09T16:44:53Z",
    "status": "succeeded",
    "errors": [],
    "displayName": "Text Abstractive Summarization Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "AbstractiveSummarizationLROResults",
                "taskName": "Text Abstractive Summarization Task 1",
                "lastUpdateDateTime": "2022-09-08T16:45:14.0717206Z",
                "status": "succeeded",
                "results": {
                    "documents": [
                        {
                            "summaries": [
                                {
                                    "text": "Microsoft is taking a more holistic, human-centric approach to AI. We've developed a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We've achieved human performance on benchmarks in conversational speech recognition, machine translation, ...... and image captions.",
                                    "contexts": [
                                        {
                                            "offset": 0,
                                            "length": 247
                                        }
                                    ]
                                }
                            ],
                            "id": "1"
                        }
                    ],
                    "errors": [],
                    "modelVersion": "latest"
                }
            }
        ]
    }
}
parametr opis
-X POST <endpoint> Określa punkt końcowy zasobu języka na potrzeby uzyskiwania dostępu do interfejsu API.
--header Content-Type: application/json Typ zawartości do wysyłania danych JSON.
--header "Ocp-Apim-Subscription-Key:<key> Określa klucz zasobu języka platformy Azure na potrzeby uzyskiwania dostępu do interfejsu API.
-data Plik JSON zawierający dane, które chcesz przekazać z żądaniem.

Następujące polecenia cURL są wykonywane z powłoki BASH. Edytuj te polecenia przy użyciu własnych nazw zasobów, klucza zasobu i wartości JSON. Spróbuj przeanalizować dokumenty natywne, wybierając projekt przykładowy Personally Identifiable Information (PII) lub kodu Document Summarization.

Przykładowy dokument podsumowania

W tym projekcie potrzebny jest dokument źródłowy załadowany do kontenera źródłowego. Możesz pobrać nasz przykładowy dokument programu Microsoft Word lub Adobe PDF na potrzeby tego szybkiego startu. Język źródłowy to angielski.

Kompilowanie żądania POST

  1. Za pomocą preferowanego edytora lub środowiska IDE utwórz nowy katalog dla aplikacji o nazwie native-document.

  2. Utwórz nowy plik JSON o nazwie document-summarization.json w katalogu dokumentu natywnego.

  3. Skopiuj i wklej przykładowe żądanie podsumowania dokumentów do plikudocument-summarization.json. Zastąp wartości {your-source-container-SAS-URL} i {your-target-container-SAS-URL} wartościami z instancji kontenerów na koncie usługi Azure Storage w portalu.

Przykład żądania

  {
  "tasks": [
    {
      "kind": "ExtractiveSummarization",
      "parameters": {
        "sentenceCount": 6
      }
    }
  ],
  "analysisInput": {
    "documents": [
      {
        "source": {
          "location": "{your-source-blob-SAS-URL}"
        },
        "targets": {
          "location": "{your-target-container-SAS-URL}"
        }
      }
    ]
  }
}

Uruchamianie żądania POST

Przed uruchomieniem żądania POST zastąp {your-language-resource-endpoint} i {your-key} wartością punktu końcowego z instancji zasobu językowego w portalu Azure.

Ważne

Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobaczZabezpieczenia narzędzi Foundry.

PowerShell

 cmd /c curl "{your-language-resource-endpoint}/language/analyze-documents/jobs?api-version=2024-11-15-preview" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-summarization.json"

wiersz polecenia/terminal

curl -v -X POST "{your-language-resource-endpoint}/language/analyze-documents/jobs?api-version=2024-11-15-preview" --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-summarization.json"

Przykładowa odpowiedź:

HTTP/1.1 202 Accepted
Content-Length: 0
operation-location: https://{your-language-resource-endpoint}/language/analyze-documents/jobs/f1cc29ff-9738-42ea-afa5-98d2d3cabf94?api-version=2024-11-15-preview
apim-request-id: e7d6fa0c-0efd-416a-8b1e-1cd9287f5f81
x-ms-region: West US 2
Date: Thu, 25 Jan 2024 15:12:32 GMT

Odpowiedź POST (jobId)

Otrzymasz odpowiedź 202 (Powodzenie), która zawiera nagłówek Operation-Location o uprawnieniach tylko do odczytu. Wartość tego nagłówka zawiera identyfikator jobId, który można zapytać, aby uzyskać status operacji asynchronicznej oraz pobrać wyniki przy użyciu żądania GET.

Zrzut ekranu przedstawiający wartość lokalizacji operacji w odpowiedzi POST.

Pobieranie wyników analizy (żądanie GET)

  1. Po pomyślnym żądaniu POST skontroluj nagłówek „operation-location” zwrócony w żądaniu POST, aby wyświetlić przetworzone dane.

  2. Oto struktura żądania GET :

    GET {cognitive-service-endpoint}/language/analyze-documents/jobs/{jobId}?api-version=2024-11-15-preview
    
  3. Przed uruchomieniem polecenia wprowadź następujące zmiany:

    • Zastąp element {jobId} nagłówkiem Operation-Location z odpowiedzi POST.

    • Zastąp ciąg {your-language-resource-endpoint} i {your-key} wartościami z instancji językowej w portalu Azure.

Żądanie GET

    cmd /c curl "{your-language-resource-endpoint}/language/analyze-documents/jobs/{jobId}?api-version=2024-11-15-preview" -i -X GET --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}"
    curl -v -X GET "{your-language-resource-endpoint}/language/analyze-documents/jobs/{jobId}?api-version=2024-11-15-preview" --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}"

Sprawdzanie odpowiedzi

Otrzymasz odpowiedź 200 (Powodzenie) z wynikiem w formacie JSON. Pole stanu wskazuje wynik operacji. Jeśli operacja nie została zakończona, wartość statusu to "running" lub "notStarted" i należy ponownie wywołać interfejs API, ręcznie lub za pomocą skryptu. Zalecamy interwał co najmniej jednej sekundy między wywołaniami.

Przykładowa odpowiedź

{
  "jobId": "f1cc29ff-9738-42ea-afa5-98d2d3cabf94",
  "lastUpdatedDateTime": "2024-01-24T13:17:58Z",
  "createdDateTime": "2024-01-24T13:17:47Z",
  "expirationDateTime": "2024-01-25T13:17:47Z",
  "status": "succeeded",
  "errors": [],
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "ExtractiveSummarizationLROResults",
        "lastUpdateDateTime": "2024-01-24T13:17:58.33934Z",
        "status": "succeeded",
        "results": {
          "documents": [
            {
              "id": "doc_0",
              "source": {
                "kind": "AzureBlob",
                "location": "https://myaccount.blob.core.windows.net/sample-input/input.pdf"
              },
              "targets": [
                {
                  "kind": "AzureBlob",
                  "location": "https://myaccount.blob.core.windows.net/sample-output/df6611a3-fe74-44f8-b8d4-58ac7491cb13/ExtractiveSummarization-0001/input.result.json"
                }
              ],
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "2023-02-01-preview"
        }
      }
    ]
  }
}

Po pomyślnym zakończeniu:

  • Przeanalizowane dokumenty można znaleźć w kontenerze docelowym.
  • Pomyślna metoda POST zwraca 202 Accepted kod odpowiedzi wskazujący, że usługa wygenerowała żądanie wsadowe.
  • Żądanie POST zwróciło również nagłówki odpowiedzi, w tym Operation-Location, które dostarcza wartość używaną w kolejnych żądaniach GET.

Czyszczenie zasobów

Aby wyczyścić i usunąć zasób usługi Azure AI, możesz usunąć pojedynczy zasób lub całą grupę zasobów. Jeśli usuniesz grupę zasobów, wszystkie zawarte w niej zasoby również zostaną usunięte.

Następne kroki