Udostępnij za pośrednictwem


Szybki start: kategorie niestandardowe (tryb standardowy) (wersja zapoznawcza)

Postępuj zgodnie z tym przewodnikiem, aby użyć interfejsu API REST niestandardowych kategorii bezpieczeństwa zawartości usługi Azure AI (standard), aby utworzyć własne kategorie zawartości dla przypadku użycia i wytrenować bezpieczeństwo zawartości usługi Azure AI w celu wykrycia ich w nowej zawartości tekstowej.

Aby uzyskać więcej informacji na temat kategorii niestandardowych, zobacz stronę pojęcia Kategorie niestandardowe. 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.

Ważne

Zezwalaj na wystarczająco dużo czasu na trenowanie modelu

Kompleksowe wykonywanie trenowania kategorii niestandardowych może potrwać od około pięciu godzin do dziesięciu godzin. Zaplanuj odpowiednio potok moderowania.

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.
  • Utwórz również kontener usługi Azure Blob Storage, w którym będziesz przechowywać plik adnotacji szkoleniowych.
  • Zainstalowano jedną z następujących opcji:

Przygotowywanie danych treningowych

Aby wytrenować kategorię niestandardową, potrzebujesz przykładowych danych tekstowych reprezentujących kategorię, którą chcesz wykryć. W tym przewodniku możesz użyć przykładowych danych. Podany plik adnotacji zawiera tekstowe monity o porady dotyczące przetrwania w sytuacjach kempingowych/dzikiej przyrody. Wytrenowany model nauczy się wykrywać ten typ zawartości w nowych danych tekstowych.

Napiwek

Aby uzyskać porady dotyczące tworzenia własnego zestawu danych, zobacz Przewodnik z instrukcjami.

  1. Pobierz przykładowy plik danych tekstowych z repozytorium GitHub.
  2. Przekaż plik jsonl do kontenera obiektów blob konta usługi Azure Storage. Następnie skopiuj adres URL obiektu blob do lokalizacji tymczasowej do późniejszego użycia.

Ważne

Konto magazynu użytkownika jest skonfigurowane jako konto hierarchicznej przestrzeni nazw, które nie może być obsługiwane przez kategorie niestandardowe. Spróbuj zamiast tego użyć zwykłego konta magazynu. Na przykład adres URL obiektu blob nie może być podzielony na dwie warstwy, takie jak example/example1/, i powinien mieć tylko jedną warstwę. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją: Hierarchiczna przestrzeń nazw usługi Azure Data Lake Storage — Azure Storage.

Udzielanie dostępu do magazynu

Następnie należy przyznać dostęp do zasobu Bezpieczeństwo zawartości w celu odczytu z zasobu usługi Azure Storage. Włącz tożsamość zarządzaną przypisaną przez system dla wystąpienia bezpieczeństwa zawartości usługi Azure AI i przypisz rolę Współautor/Właściciel danych obiektu blob usługi Storage do tożsamości:

Ważne

Tylko współautor danych obiektu blob usługi Storage lub właściciel danych obiektu blob usługi Storage są prawidłowe, aby kontynuować.

  1. Włącz tożsamość zarządzaną dla wystąpienia bezpieczeństwa zawartości usługi Azure AI.

    Zrzut ekranu przedstawiający włączanie tożsamości zarządzanej w witrynie Azure Portal.

  2. Przypisz rolę Współautor/Właściciel danych obiektu blob usługi Storage do tożsamości zarządzanej. Wszystkie role wyróżnione poniżej powinny działać.

    Zrzut ekranu przedstawiający ekran Dodawanie przypisania roli w witrynie Azure Portal.

    Zrzut ekranu przedstawiający przypisane role w witrynie Azure Portal.

    Zrzut ekranu przedstawiający rolę tożsamości zarządzanej.

Tworzenie i trenowanie kategorii niestandardowej

W poniższym poleceniu zastąp <your_api_key>wartości , <your_endpoint>i innymi wymaganymi parametrami własnymi wartościami. Następnie wprowadź każde polecenie w oknie terminalu i uruchom je.

Tworzenie nowej wersji kategorii

curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"categoryName\": \"survival-advice\",
            \"definition\": \"text prompts about survival advice in camping/wilderness situations\",
            \"sampleBlobUrl\": \"https://<your-azure-storage-url>/example-container/survival-advice.jsonl\"
        }"

Napiwek

Za każdym razem, gdy zmienisz nazwę kategorii, definicję lub przykłady, zostanie utworzona nowa wersja. Możesz użyć numeru wersji do śledzenia z powrotem do poprzednich wersji. Pamiętaj ten numer wersji, ponieważ będzie on wymagany w adresie URL dla następnych kategorii niestandardowych trenowania.

Żądanie procesora API

Pole Opis Przykładowa wartość
categoryName Nazwa kategorii lub tematu, do którego odnosi się żądanie. porady dotyczące przetrwania
definition Krótki opis typu zawartości dla kategorii. tekst monituje o porady dotyczące przetrwania w sytuacjach kempingowych/dzikiej przyrody
sampleBlobUrl Adres URL umożliwiający uzyskanie dostępu do przykładowego pliku JSONL zawierającego przykłady danych dla kategorii. Link

Odpowiedź interfejsu API

Pole Opis Przykładowa wartość
categoryName Nazwa kategorii lub tematu, z którego odnosi się odpowiedź. porady dotyczące przetrwania
definition Krótki opis typu zawartości dla kategorii. tekst monituje o porady dotyczące przetrwania w sytuacjach kempingowych/dzikiej przyrody
sampleBlobUrl Adres URL umożliwiający uzyskanie dostępu do przykładowego pliku JSONL zawierającego przykłady danych dla kategorii. Link
sampleBlobSnapshotUrl Adres URL migawki przykładowego pliku JSONL, który zapewnia dostęp do określonej wersji danych. Adres URL migawki
version Numer wersji danych kategorii. 1
createdTime Sygnatura czasowa utworzenia danych kategorii. 2024-10-28T22:06:59.4626988Z
status Bieżący stan przetwarzania danych kategorii. Powodzenie

Uruchom proces kompilacji kategorii:

Zastąp <your_api_key> i <your_endpoint> własnymi wartościami, a także dołącz numer wersji w adresie URL uzyskanym w ostatnim kroku. Zezwalaj na wystarczająco dużo czasu na trenowanie modelu: kompleksowe wykonywanie trenowania kategorii niestandardowej może potrwać od około pięciu godzin do dziesięciu godzin. Zaplanuj odpowiednio potok moderowania. Po otrzymaniu odpowiedzi zapisz identyfikator operacji (określany jako id) w lokalizacji tymczasowej. Ten identyfikator będzie niezbędny do pobierania stanu kompilacji przy użyciu interfejsu API Pobierania stanu w następnej sekcji.

curl -X POST "<your_endpoint>/contentsafety/text/categories/survival-advice:build?api-version=2024-09-15-preview&version={version}" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Odpowiedź interfejsu API

Pole Opis Przykładowa wartość
operation id Unikatowy identyfikator pobierania stanu kompilacji b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Bieżący stan żądania Powodzenie

Pobierz stan kompilacji kategorii:

Aby pobrać stan, skorzystaj z uzyskanej id z poprzedniej odpowiedzi interfejsu API i umieść ją w ścieżce poniższego interfejsu API.

curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Odpowiedź interfejsu API

Pole Opis Przykładowa wartość
operation id Unikatowy identyfikator pobierania stanu kompilacji b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Bieżący stan żądania Powodzenie

Analizowanie tekstu przy użyciu dostosowanej kategorii

Uruchom następujące polecenie, aby przeanalizować tekst przy użyciu dostosowanej kategorii. Zastąp <your_api_key> wartości i <your_endpoint> własnymi wartościami.

curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json" \
     -d "{
            \"text\": \"<Example text to analyze>\",
            \"categoryName\": \"survival-advice\", 
            \"version\": 1
        }"

Żądanie procesora API

Pole opis
text Zawartość tekstowa lub wiadomość przeznaczona do wykrywania kategorii
categoryName Nazwa kategorii, w której ma zostać wykryty tekst
version Numer wersji kategorii

Odpowiedź interfejsu API

Pole Opis Przykładowa wartość
customCategoryAnalysis Obiekt zawierający wynik analizy dla kategorii.
detected Wskazuje, czy określona kategoria została wykryta. fałsz

Inne operacje kategorii niestandardowych

Pamiętaj, aby zastąpić symbole zastępcze poniżej rzeczywistymi wartościami klucza interfejsu API, punktu końcowego i określonej zawartości (nazwa kategorii, definicja itd.). Te przykłady ułatwiają zarządzanie dostosowanymi kategoriami na koncie.

Pobieranie dostosowanej kategorii lub określonej wersji

Zastąp symbole zastępcze własnymi wartościami i uruchom następujące polecenie w oknie terminalu:

curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Wyświetlanie listy kategorii najnowszych wersji

Zastąp symbole zastępcze własnymi wartościami i uruchom następujące polecenie w oknie terminalu:

curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-09-15-preview" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"

Usuwanie dostosowanej kategorii lub określonej wersji

Zastąp symbole zastępcze własnymi wartościami i uruchom następujące polecenie w oknie terminalu:

curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
     -H "Ocp-Apim-Subscription-Key: <your_api_key>" \
     -H "Content-Type: application/json"