Szybki start: analizowanie zawartości wielomodalnej (wersja zapoznawcza)
Interfejs API wielomodalny analizuje materiały zawierające zarówno zawartość obrazu, jak i zawartość tekstową, aby ułatwić aplikacjom i usługom bezpieczniejsze działanie szkodliwej zawartości generowanej przez użytkownika lub generowanej przez sztuczną inteligencję. Analizowanie obrazu i skojarzonej z nim zawartości tekstowej może zachować kontekst i zapewnić bardziej kompleksowe zrozumienie zawartości.
Aby uzyskać więcej informacji na temat sposobu filtrowania zawartości, zobacz stronę pojęcia Szkody. Aby uzyskać informacje o limitach danych wejściowych interfejsu API, zobacz sekcję Wymagania dotyczące danych wejściowych w sekcji Przegląd.
Ważne
Ta funkcja jest dostępna tylko w niektórych regionach świadczenia usługi Azure. Zobacz Dostępność regionów.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Po utworzeniu subskrypcji platformy Azure utwórz zasób Bezpieczeństwo zawartości w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Wprowadź unikatową nazwę zasobu, wybierz subskrypcję i wybierz grupę zasobów, obsługiwany region i obsługiwaną warstwę cenową. Następnie wybierz Utwórz.
- Wdrożenie zasobu trwa kilka minut. Po zakończeniu wybierz pozycję Przejdź do zasobu. W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Klucz subskrypcji i punkt końcowy. Skopiuj punkt końcowy i jedną z wartości klucza do lokalizacji tymczasowej do późniejszego użycia.
- Zainstalowano jedną z następujących opcji:
- cURL dla wywołań interfejsu API REST.
- Zainstalowany język Python 3.x
Analizowanie obrazu przy użyciu tekstu
W poniższej sekcji przedstawiono przykładowe żądanie moderowania wielomodalnego za pomocą biblioteki cURL.
Przygotowywanie przykładowego obrazu
Wybierz przykładowy obraz do przeanalizowania i pobierz go na urządzenie.
Zobacz Wymagania dotyczące danych wejściowych, aby zapoznać się z ograniczeniami obrazu. Jeśli format jest animowany, usługa wyodrębni pierwszą ramkę, aby przeprowadzić analizę.
Obraz można wprowadzić za pomocą jednej z dwóch metod: lokalnego strumienia plików lub adresu URL magazynu obiektów blob.
- Lokalny strumień plików (zalecane): zakoduj obraz do base64. Możesz użyć witryny internetowej, takiej jak codebeautify , aby wykonać kodowanie. Następnie zapisz zakodowany ciąg w lokalizacji tymczasowej.
- Adres URL usługi Blob Storage: przekaż obraz do konta usługi Azure Blob Storage. Postępuj zgodnie z przewodnikiem Szybki start dla usługi Blob Storage, aby dowiedzieć się, jak to zrobić. Następnie otwórz Eksplorator usługi Azure Storage i pobierz adres URL do obrazu. Zapisz go w lokalizacji tymczasowej.
Analizowanie obrazu przy użyciu tekstu
Wklej poniższe polecenie do edytora tekstów i wprowadź następujące zmiany.
- Zastąp
<endpoint>
ciąg adresem URL punktu końcowego zasobu. - Zastąp element
<your_subscription_key>
swoim kluczem. "image"
Wypełnij pole w treści polem"content"
lub polem"blobUrl"
. Na przykład:{"image": {"content": "<base_64_string>"}
lub{"image": {"blobUrl": "<your_storage_url>"}
.- Opcjonalnie zastąp wartość
"text"
pola własnym tekstem, który chcesz przeanalizować.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
Uwaga
Jeśli używasz adresu URL magazynu obiektów blob, treść żądania powinna wyglądać następująco:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Poniższe pola muszą być uwzględnione w adresie URL:
Nazwisko | Wymagany? | opis | Type |
---|---|---|---|
Wersja interfejsu API | Wymagania | Jest to wersja interfejsu API do sprawdzenia. Bieżąca wersja to: api-version=2024-09-15 . Przykład: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
String |
Parametry w treści żądania są zdefiniowane w tej tabeli:
Nazwa/nazwisko | opis | Type |
---|---|---|
content lub blobUrl | (Wymagane) Adres URL zawartości lub obiektu blob obrazu. Można użyć bajtów zakodowanych w formacie base64 lub adresu URL obiektu blob. Jeśli obie te elementy zostaną podane, żądanie zostanie odrzucone. Maksymalny dozwolony rozmiar obrazu to 7200 x 7200 pikseli, a maksymalny rozmiar pliku to 4 MB. Minimalny rozmiar obrazu to 50 pikseli x 50 pikseli. | String |
text | (Opcjonalnie) Tekst dołączony do obrazu. Obsługujemy co najwyżej 1000 znaków (punkty kodu Unicode) w jednym żądaniu tekstowym. | String |
enableOcr | (Wymagane) Po ustawieniu wartości true nasza usługa będzie wykonywać operacje OCR i analizować wykryty tekst z obrazem wejściowym w tym samym czasie. Z obrazu wejściowego będziemy rozpoznawać najwyżej 1000 znaków (punkty kodu Unicode). Pozostałe zostaną obcięte. | Wartość logiczna |
Kategorie | (Opcjonalnie) Przyjmuje się, że jest to tablica nazw kategorii. Aby uzyskać listę dostępnych nazw kategorii, zobacz przewodnik Dotyczący kategorii szkody. Jeśli nie określono żadnych kategorii, zostaną użyte wszystkie cztery kategorie. Używamy wielu kategorii do uzyskiwania wyników w jednym żądaniu. | Wyliczenie |
Otwórz okno wiersza polecenia i uruchom polecenie cURL.
Wyjście
W konsoli powinny zostać wyświetlone wyniki moderowania obrazu i tekstu jako dane JSON. Na przykład:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Pola JSON w danych wyjściowych są zdefiniowane tutaj:
Nazwa/nazwisko | opis | Type |
---|---|---|
categoriesAnalysis | Każda klasa wyjściowa przewidywana przez interfejs API. Klasyfikacja może być oznaczona wieloma etykietami. Na przykład po przekazaniu obrazu do modelu moderowania obrazu można go sklasyfikować jako zawartość seksualną i przemoc. Kategorie szkód | String |
Ważność | Poziom ważności flagi w każdej kategorii szkody. Kategorie szkód | Integer |