Bezpieczne używanie usługi Azure OpenAI na danych

Skorzystaj z tego artykułu, aby dowiedzieć się, jak bezpiecznie używać usługi Azure OpenAI On Your Data, chroniąc dane i zasoby za pomocą kontroli dostępu opartej na rolach, sieciach wirtualnych i prywatnych punktach końcowych firmy Microsoft Entra ID.

Ten artykuł ma zastosowanie tylko w przypadku korzystania z usługi Azure OpenAI On Your Data z tekstem. Nie ma ona zastosowania do usługi Azure OpenAI On Your Data z obrazami.

Architektura pozyskiwania danych

W przypadku używania usługi Azure OpenAI On Your Data do pozyskiwania danych z usługi Azure Blob Storage, plików lokalnych lub adresów URL do usługi Azure AI Search następujący proces służy do przetwarzania danych.

Diagram przedstawiający proces pozyskiwania danych.

  • Kroki 1 i 2 są używane tylko do przekazywania plików.
  • Pobieranie adresów URL do magazynu obiektów blob nie zostało zilustrowane na tym diagramie. Po pobraniu stron internetowych z Internetu i przekazaniu ich do magazynu obiektów blob kroki 3 są takie same.
  • Dwa indeksatory, dwa indeksy, dwa źródła danych i niestandardowa umiejętność są tworzone w zasobie usługi Azure AI Search.
  • Kontener fragmentów jest tworzony w magazynie obiektów blob.
  • Jeśli pozyskiwanie jest wyzwalane przez zaplanowane odświeżanie, proces pozyskiwania rozpoczyna się od kroku 7.
  • Interfejs API usługi Azure OpenAI implementuje protokół internetowego interfejsu API usługi Azure AI preprocessing-jobs Search i przetwarza dokumenty w kolejce.
  • Azure OpenAI:
    1. Wewnętrznie używa pierwszego indeksatora utworzonego wcześniej w celu złamania dokumentów.
    2. Używa algorytmu opartego na algorytmie heurystycznym do wykonywania fragmentów, honorowania układów tabeli i innych elementów formatowania w granicach fragmentów w celu zapewnienia najlepszej jakości fragmentowania.
    3. Jeśli zdecydujesz się włączyć wyszukiwanie wektorowe, usługa Azure OpenAI używa wybranego wdrożenia osadzania w celu wektoryzacji fragmentów wewnętrznie.
  • Gdy są przetwarzane wszystkie dane monitorowane przez usługę, usługa Azure OpenAI wyzwala drugi indeksator.
  • Indeksator przechowuje przetworzone dane w usłudze Azure AI usługa wyszukiwania.

W przypadku tożsamości zarządzanych używanych w wywołaniach usługi obsługiwane są tylko tożsamości zarządzane przypisane przez system. Tożsamości zarządzane przypisane przez użytkownika nie są obsługiwane.

Architektura wnioskowania

Diagram przedstawiający proces korzystania z interfejsu API wnioskowania.

Gdy wysyłasz wywołania interfejsu API do czatu z modelem usługi Azure OpenAI na danych, usługa musi pobrać pola indeksu podczas wnioskowania w celu automatycznego mapowania pól, jeśli mapowanie pól nie zostało jawnie ustawione w żądaniu. W związku z tym usługa wymaga, aby tożsamość usługi Azure OpenAI miała Search Service Contributor rolę dla usługi wyszukiwania nawet podczas wnioskowania.

Jeśli wdrożenie osadzania zostanie podane w żądaniu wnioskowania, zapytanie przepisane zostanie wektoryzowane przez usługę Azure OpenAI, a zarówno zapytanie, jak i wektor są wysyłane do wyszukiwania wektorowego w usłudze Azure AI Search.

Kontrola dostępu na poziomie dokumentu

Uwaga

Kontrola dostępu na poziomie dokumentu jest obsługiwana tylko w przypadku wyszukiwania w usłudze Azure AI.

Usługa Azure OpenAI On Your Data umożliwia ograniczenie dokumentów, które mogą być używane w odpowiedziach dla różnych użytkowników z filtrami zabezpieczeń usługi Azure AI Search. Po włączeniu dostępu na poziomie dokumentu wyniki wyszukiwania zwrócone z usługi Azure AI Search i użyte do wygenerowania odpowiedzi zostaną przycięte na podstawie członkostwa w grupie Microsoft Entra użytkownika. Dostęp na poziomie dokumentu można włączyć tylko w istniejących indeksach usługi Azure AI Search. Aby włączyć dostęp na poziomie dokumentu:

  1. Wykonaj kroki opisane w dokumentacji usługi Azure AI Search, aby zarejestrować aplikację i utworzyć użytkowników i grupy.

  2. Zaindeksuj dokumenty przy użyciu dozwolonych grup. Upewnij się, że nowe pola zabezpieczeń mają poniższy schemat:

    {"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
    

    group_ids to domyślna nazwa pola. Jeśli używasz innej nazwy pola, takiej jak my_group_ids, możesz mapować pole w mapowaniu pól indeksu.

  3. Upewnij się, że każdy poufny dokument w indeksie ma wartość ustawioną poprawnie w tym polu zabezpieczeń, aby wskazać dozwolone grupy dokumentu.

  4. W programie Azure OpenAI Studio dodaj źródło danych. W sekcji mapowania pól indeksu można mapować zero lub jedną wartość na pole dozwolonych grup, o ile schemat jest zgodny. Jeśli pole Dozwolone grupy nie jest mapowane, dostęp na poziomie dokumentu nie zostanie włączony.

Azure OpenAI Studio

Po nawiązaniu połączenia z indeksem usługi Azure AI Search odpowiedzi w programie Studio będą miały dostęp do dokumentów na podstawie uprawnień firmy Microsoft entra zalogowanego użytkownika.

Aplikacja sieci web

Jeśli używasz opublikowanej aplikacji internetowej, musisz ponownie wdrożyć ją, aby uaktualnić ją do najnowszej wersji. Najnowsza wersja aplikacji internetowej obejmuje możliwość pobierania grup zalogowanego konta Microsoft Entra użytkownika, buforowania go i dołączania identyfikatorów grup w każdym żądaniu interfejsu API.

API

W przypadku korzystania z interfejsu API przekaż parametr w każdym żądaniu interfejsu filter API. Na przykład:

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$AZURE_AI_SEARCH_INDEX'",
                "filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
            }
        }
    ]
}
  • my_group_ids to nazwa pola wybrana dla dozwolonych grup podczas mapowania pól.
  • group_id1, group_id2 są grupami przypisanymi do zalogowanego użytkownika. Aplikacja kliencka może pobierać i buforować grupy użytkowników.

Konfiguracja zasobu

W poniższych sekcjach skonfiguruj zasoby pod kątem optymalnego bezpiecznego użycia. Nawet jeśli planujesz zabezpieczyć tylko część zasobów, nadal musisz wykonać wszystkie poniższe kroki.

W tym artykule opisano ustawienia sieciowe związane z wyłączaniem sieci publicznej dla zasobów usługi Azure OpenAI, zasobów wyszukiwania sztucznej inteligencji platformy Azure i kont magazynu. Używanie wybranych sieci z regułami adresów IP nie jest obsługiwane, ponieważ adresy IP usług są dynamiczne.

Napiwek

Możesz użyć skryptu powłoki bash dostępnego w usłudze GitHub , aby zweryfikować konfigurację i określić, czy spełnione są wszystkie wymagania wymienione tutaj.

Utwórz grupę zasobów

Utwórz grupę zasobów, aby móc organizować wszystkie odpowiednie zasoby. Zasoby w grupie zasobów obejmują, ale nie są ograniczone do następujących elementów:

  • Jedna sieć wirtualna
  • Trzy kluczowe usługi: jedna usługa Azure OpenAI, jedna usługa Azure AI Search, jedno konto magazynu
  • Trzy prywatne punkty końcowe, z których każda jest połączona z jedną usługą kluczy
  • Trzy interfejsy sieciowe, z których każdy jest skojarzony z jednym prywatnym punktem końcowym
  • Jedna brama sieci wirtualnej dla dostępu z lokalnych maszyn klienckich
  • Jedna aplikacja internetowa ze zintegrowaną siecią wirtualną
  • Jedna strefa Prywatna strefa DNS, więc aplikacja internetowa znajduje adres IP usługi Azure OpenAI

Tworzenie sieci wirtualnej

Sieć wirtualna ma trzy podsieci.

  1. Pierwsza podsieć jest używana dla prywatnych adresów IP trzech prywatnych punktów końcowych.
  2. Druga podsieć jest tworzona automatycznie podczas tworzenia bramy sieci wirtualnej.
  3. Trzecia podsieć jest pusta i używana do integracji wychodzącej sieci wirtualnej aplikacji internetowej.

Diagram przedstawiający architekturę sieci wirtualnej.

Zwróć uwagę, że zarządzana sieć wirtualna firmy Microsoft jest tworzona przez firmę Microsoft i nie można jej zobaczyć. Zarządzana przez firmę Microsoft sieć wirtualna jest używana przez usługę Azure OpenAI do bezpiecznego uzyskiwania dostępu do usługi Azure AI Search.

Konfigurowanie usługi Azure OpenAI

Włączono niestandardową poddomenę

Jeśli utworzono usługę Azure OpenAI za pośrednictwem witryny Azure Portal, niestandardowa poddomena powinna zostać już utworzona. Niestandardowa poddomena jest wymagana dla uwierzytelniania opartego na identyfikatorze Entra firmy Microsoft i prywatnej strefie DNS.

Włączanie tożsamości zarządzanej

Aby umożliwić usłudze Azure AI Search and Storage rozpoznawanie usługi Azure OpenAI za pośrednictwem uwierzytelniania identyfikatora Entra firmy Microsoft, musisz przypisać tożsamość zarządzaną dla usługi Azure OpenAI. Najprostszym sposobem jest przełączenie tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal. Zrzut ekranu przedstawiający opcję tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal.

Aby ustawić tożsamości zarządzane za pośrednictwem interfejsu API zarządzania, zobacz dokumentację referencyjną interfejsu API zarządzania.


"identity": {
  "principalId": "12345678-abcd-1234-5678-abc123def",
  "tenantId": "1234567-abcd-1234-1234-abcd1234",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/1234-5678-abcd-1234-1234abcd/resourceGroups/my-resource-group",
    "principalId": "12345678-abcd-1234-5678-abcdefg1234", 
    "clientId": "12345678-abcd-efgh-1234-12345678"
  }
}

Włączanie zaufanej usługi

Aby umożliwić usłudze Azure AI Search wywołanie usługi Azure OpenAI preprocessing-jobs jako niestandardowego internetowego interfejsu API umiejętności, podczas gdy usługa Azure OpenAI nie ma dostępu do sieci publicznej, musisz skonfigurować usługę Azure OpenAI, aby pominąć usługę Azure AI Search jako zaufaną usługę opartą na tożsamości zarządzanej. Usługa Azure OpenAI identyfikuje ruch z usługi Azure AI Search, weryfikując oświadczenia w tokenie internetowym JSON (JWT). Usługa Azure AI Search musi używać uwierzytelniania tożsamości zarządzanej przypisanej przez system w celu wywołania niestandardowego internetowego interfejsu API umiejętności.

Ustaw networkAcls.bypass jako AzureServices z interfejsu API zarządzania. Aby uzyskać więcej informacji, zobacz artykuł Sieci wirtualne.

Uwaga

Funkcja zaufanej usługi jest dostępna tylko przy użyciu opisanego powyżej polecenia i nie można jej wykonać za pomocą witryny Azure Portal.

Ten krok można pominąć tylko wtedy, gdy masz udostępniony link prywatny dla zasobu usługi Azure AI Search.

Wyłączanie dostępu do sieci publicznej

Dostęp do sieci publicznej zasobu usługi Azure OpenAI można wyłączyć w witrynie Azure Portal.

Aby zezwolić na dostęp do usługi Azure OpenAI z maszyn klienckich, takich jak korzystanie z usługi Azure OpenAI Studio, musisz utworzyć połączenia prywatnego punktu końcowego łączące się z zasobem usługi Azure OpenAI.

W przypadku poniższej konfiguracji możesz użyć podstawowej warstwy cenowej i nowszej. Nie jest to konieczne, ale jeśli używasz warstwy cenowej S2, zobaczysz dodatkowe opcje dostępne do wyboru.

Włączanie tożsamości zarządzanej

Aby zezwolić innym zasobom na rozpoznawanie usługi Azure AI Search przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft, musisz przypisać tożsamość zarządzaną dla usługi Azure AI Search. Najprostszym sposobem jest przełączenie tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal.

Zrzut ekranu przedstawiający ustawienie tożsamości zarządzanej dla usługi Azure AI Search w witrynie Azure Portal.

Włączanie kontroli dostępu opartej na rolach

Ponieważ usługa Azure OpenAI używa tożsamości zarządzanej do uzyskiwania dostępu do usługi Azure AI Search, musisz włączyć kontrolę dostępu opartą na rolach w usłudze Azure AI Search. Aby to zrobić w witrynie Azure Portal, wybierz pozycję Oba na karcie Klucze w witrynie Azure Portal.

Zrzut ekranu przedstawiający opcję tożsamości zarządzanej dla wyszukiwania w usłudze Azure AI w witrynie Azure Portal.

Aby włączyć kontrolę dostępu opartą na rolach za pośrednictwem interfejsu API REST, ustaw wartość authOptions .aadOrApiKey Aby uzyskać więcej informacji, zobacz artykuł RBAC usługi Azure AI Search.

"disableLocalAuth": false,
"authOptions": { 
    "aadOrApiKey": { 
        "aadAuthFailureMode": "http401WithBearerChallenge"
    }
}

Aby użyć usługi Azure OpenAI Studio, nie można wyłączyć uwierzytelniania opartego na kluczu interfejsu API dla usługi Azure AI Search, ponieważ usługa Azure OpenAI Studio używa klucza interfejsu API do wywoływania interfejsu API wyszukiwania sztucznej inteligencji z przeglądarki.

Napiwek

Aby uzyskać najlepsze zabezpieczenia, gdy wszystko jest gotowe do produkcji i nie trzeba już używać programu Azure OpenAI Studio do testowania, zalecamy wyłączenie klucza interfejsu API. Aby uzyskać szczegółowe informacje, zobacz artykuł RBAC usługi Azure AI Search.

Wyłączanie dostępu do sieci publicznej

Dostęp do sieci publicznej zasobu usługi Azure AI Search można wyłączyć w witrynie Azure Portal.

Aby zezwolić na dostęp do zasobu usługi Azure AI Search z maszyn klienckich, na przykład przy użyciu programu Azure OpenAI Studio, musisz utworzyć połączenia prywatnego punktu końcowego łączące się z zasobem usługi Azure AI Search.

Uwaga

Aby zezwolić na dostęp do zasobu usługi Azure AI Search z zasobu usługi Azure OpenAI, musisz przesłać formularz aplikacji. Aplikacja zostanie przejrzena w ciągu 5 dni roboczych i skontaktuje się z Tobą za pośrednictwem poczty e-mail dotyczącej wyników. Jeśli kwalifikujesz się, aprowizujemy prywatny punkt końcowy w zarządzanej sieci wirtualnej firmy Microsoft i wyślemy żądanie połączenia prywatnego punktu końcowego do usługi wyszukiwania i musisz zatwierdzić żądanie.

Zrzut ekranu przedstawiający ekran zatwierdzania prywatnego punktu końcowego.

Zasób prywatnego punktu końcowego jest aprowizowany w dzierżawie zarządzanej przez firmę Microsoft, podczas gdy połączony zasób znajduje się w dzierżawie. Nie możesz uzyskać dostępu do zasobu prywatnego punktu końcowego, klikając link prywatnego punktu końcowego (w niebieskiej czcionki) na karcie Dostęp prywatny na stronie Sieć. Zamiast tego kliknij gdzie indziej w wierszu, a następnie przycisk Zatwierdź powyżej powinien być klikalny.

Dowiedz się więcej o przepływie pracy zatwierdzania ręcznego.

Napiwek

Jeśli używasz podstawowej lub standardowej warstwy cenowej lub jeśli po raz pierwszy konfigurujesz wszystkie zasoby w bezpieczny sposób, pomiń ten zaawansowany temat.

Ta sekcja dotyczy tylko zasobu wyszukiwania warstwy cenowej S2, ponieważ wymaga obsługi prywatnego punktu końcowego dla indeksatorów z zestawem umiejętności.

Aby utworzyć udostępniony link prywatny z zasobu wyszukiwania łączącego się z zasobem usługi Azure OpenAI, zapoznaj się z dokumentacją wyszukiwania. Wybierz pozycję Typ zasobu jako Microsoft.CognitiveServices/accounts i Identyfikator grupy jako openai_account.

W przypadku udostępnionego łącza prywatnego krok ósmy diagramu architektury pozyskiwania danych został zmieniony z pomijania zaufanej usługi do prywatnego punktu końcowego.

Diagram przedstawiający proces pozyskiwania danych za pomocą zasobu wyszukiwania S2.

Utworzony przez Ciebie link prywatny usługi Azure AI Search znajduje się również w sieci wirtualnej zarządzanej przez firmę Microsoft, a nie w sieci wirtualnej. Różnica w porównaniu z innym zarządzanym prywatnym punktem końcowym utworzonym wcześniej polega na tym, że zarządzany prywatny punkt końcowy [1] z usługi Azure OpenAI do usługi Azure Search jest aprowizowany za pośrednictwem aplikacji formularza, podczas gdy zarządzany prywatny punkt końcowy [2] z usługi Azure Search do usługi Azure OpenAI jest aprowizowany za pośrednictwem witryny Azure Portal lub interfejsu API REST usługi Azure Search.

Diagram przedstawiający architekturę sieci wirtualnej z zasobem wyszukiwania S2.

Konfigurowanie konta magazynu

Włączanie zaufanej usługi

Aby zezwolić na dostęp do konta magazynu z usług Azure OpenAI i Azure AI Search, podczas gdy konto magazynu nie ma dostępu do sieci publicznej, należy skonfigurować konto magazynu w celu obejścia usług Azure OpenAI i Azure AI Search jako zaufanych usług opartych na tożsamości zarządzanej.

W witrynie Azure Portal przejdź do karty sieci konta magazynu, wybierz pozycję "Wybrane sieci", a następnie wybierz pozycję Zezwalaj usługom platformy Azure na liście zaufanych usług, aby uzyskać dostęp do tego konta magazynu, a następnie kliknij przycisk Zapisz.

Wyłączanie dostępu do sieci publicznej

Dostęp do sieci publicznej konta magazynu można wyłączyć w witrynie Azure Portal.

Aby zezwolić na dostęp do konta magazynu z maszyn klienckich, na przykład przy użyciu programu Azure OpenAI Studio, należy utworzyć połączenia prywatnego punktu końcowego łączące się z magazynem obiektów blob.

Przypisania ról

Do tej pory każdy zasób działa niezależnie. Następnie należy zezwolić usługom na autoryzowanie siebie nawzajem.

Rola Cesjonariusza Zasób opis
Search Index Data Reader Azure OpenAI Wyszukiwanie AI platformy Azure Usługa wnioskowania wysyła zapytanie do danych z indeksu.
Search Service Contributor Azure OpenAI Wyszukiwanie AI platformy Azure Usługa wnioskowania wysyła zapytanie do schematu indeksu na potrzeby automatycznego mapowania pól. Usługa pozyskiwania danych tworzy indeks, źródła danych, zestaw umiejętności, indeksator i wykonuje zapytania dotyczące stanu indeksatora.
Storage Blob Data Contributor Azure OpenAI Konto magazynu Odczytuje z kontenera wejściowego i zapisuje wynik przetwarzania wstępnego do kontenera wyjściowego.
Cognitive Services OpenAI Contributor Wyszukiwanie AI platformy Azure Azure OpenAI Umiejętność niestandardowa
Storage Blob Data Contributor Wyszukiwanie AI platformy Azure Konto magazynu Odczytuje obiekt blob i zapisuje magazyn wiedzy.

W powyższej tabeli Assignee oznacza przypisaną przez system tożsamość zarządzaną tego zasobu.

Administrator musi mieć Owner rolę w tych zasobach, aby dodać przypisania ról.

Zapoznaj się z dokumentacją RBAC platformy Azure, aby uzyskać instrukcje dotyczące ustawiania tych ról w witrynie Azure Portal. Aby programowo dodać przypisania ról, możesz użyć dostępnego skryptu w usłudze GitHub .

Aby umożliwić deweloperom używanie tych zasobów do tworzenia aplikacji, administrator musi dodać tożsamość deweloperów z następującymi przypisaniami ról do zasobów.

Rola Zasób opis
Cognitive Services OpenAI Contributor Azure OpenAI Wywoływanie publicznego interfejsu API pozyskiwania z usługi Azure OpenAI Studio. Rola jest niewystarczająca Contributor , ponieważ jeśli masz Contributor tylko rolę, nie można wywołać interfejsu API płaszczyzny danych za pośrednictwem uwierzytelniania identyfikatora Entra firmy Microsoft, a uwierzytelnianie identyfikatora Entra firmy Microsoft jest wymagane w bezpiecznej konfiguracji opisanej w tym artykule.
Cognitive Services User Azure OpenAI Wyświetlanie listy kluczy interfejsu API z poziomu programu Azure OpenAI Studio.
Contributor Wyszukiwanie AI platformy Azure Wyświetlanie listy kluczy interfejsu API do wyświetlania listy indeksów z poziomu programu Azure OpenAI Studio.
Contributor Konto magazynu Wyświetlanie listy sygnatur dostępu współdzielonego konta w celu przekazania plików z programu Azure OpenAI Studio.
Contributor Grupa zasobów lub subskrypcja platformy Azure, w której deweloper musi wdrożyć aplikację internetową Wdróż aplikację internetową w subskrypcji platformy Azure dewelopera.

Konfigurowanie bramy i klienta

Aby uzyskać dostęp do usługi Azure OpenAI z lokalnych maszyn klienckich, jednym z podejść jest skonfigurowanie usługi Azure VPN Gateway i klienta sieci VPN platformy Azure.

Postępuj zgodnie z poniższymi wskazówkami , aby utworzyć bramę sieci wirtualnej dla sieci wirtualnej.

Postępuj zgodnie z poniższymi wskazówkami , aby dodać konfigurację punkt-lokacja i włączyć uwierzytelnianie oparte na identyfikatorze Entra firmy Microsoft. Pobierz pakiet konfiguracji profilu klienta sieci VPN platformy Azure, rozpakuj i zaimportuj AzureVPN/azurevpnconfig.xml plik do klienta sieci VPN platformy Azure.

Zrzut ekranu przedstawiający miejsce importowania profilu klienta sieci VPN platformy Azure.

Skonfiguruj plik maszyny hosts lokalnej, aby wskazywał nazwy hostów zasobów na prywatne adresy IP w sieci wirtualnej. Plik hosts znajduje się w lokalizacji C:\Windows\System32\drivers\etc dla systemu Windows i w /etc/hosts systemie Linux. Przykład:

10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net

Azure OpenAI Studio

Należy mieć możliwość korzystania ze wszystkich funkcji programu Azure OpenAI Studio, w tym pozyskiwania i wnioskowania, z lokalnych maszyn klienckich.

Aplikacja sieci web

Aplikacja internetowa komunikuje się z zasobem usługi Azure OpenAI. Ponieważ zasób usługi Azure OpenAI ma wyłączoną sieć publiczną, należy skonfigurować aplikację internetową do korzystania z prywatnego punktu końcowego w sieci wirtualnej w celu uzyskania dostępu do zasobu usługi Azure OpenAI.

Aplikacja internetowa musi rozpoznać nazwę hosta usługi Azure OpenAI na prywatny adres IP prywatnego punktu końcowego dla usługi Azure OpenAI. Dlatego należy najpierw skonfigurować prywatną strefę DNS dla sieci wirtualnej.

  1. Utwórz prywatną strefę DNS w grupie zasobów.
  2. Dodaj rekord DNS. Adres IP jest prywatnym adresem IP prywatnego punktu końcowego dla zasobu usługi Azure OpenAI i możesz uzyskać adres IP z interfejsu sieciowego skojarzonego z prywatnym punktem końcowym dla usługi Azure OpenAI.
  3. Połącz prywatną strefę DNS z siecią wirtualną, aby aplikacja internetowa zintegrowana z tą siecią wirtualną mogła korzystać z tej prywatnej strefy DNS.

Podczas wdrażania aplikacji internetowej z poziomu programu Azure OpenAI Studio wybierz tę samą lokalizację z siecią wirtualną i wybierz odpowiednią jednostkę SKU, aby mogła obsługiwać funkcję integracji sieci wirtualnej.

Po wdrożeniu aplikacji internetowej na karcie Sieci w witrynie Azure Portal skonfiguruj integrację sieci wirtualnej ruchu wychodzącego aplikacji internetowej, wybierz trzecią podsieć zarezerwowaną dla aplikacji internetowej.

Zrzut ekranu przedstawiający konfigurację ruchu wychodzącego dla aplikacji internetowej.

Korzystanie z interfejsu API

Upewnij się, że twoje poświadczenia logowania mają Cognitive Services OpenAI Contributor rolę w zasobie usługi Azure OpenAI i uruchom najpierw polecenie az login .

Zrzut ekranu przedstawiający rolę współautora openAI usług Cognitive Services w witrynie Azure Portal.

Interfejs API pozyskiwania

Aby uzyskać szczegółowe informacje na temat obiektów żądań i odpowiedzi używanych przez interfejs API pozyskiwania, zobacz artykuł dokumentacja interfejsu API pozyskiwania.

Więcej notatek:

  • JOB_NAME w ścieżce interfejsu API będzie używana jako nazwa indeksu w usłudze Azure AI Search.
  • Użyj nagłówka, a nie interfejsu Authorization API-key.
  • Jawnie ustaw storageEndpoint nagłówek.
  • Użyj ResourceId= formatu nagłówka storageConnectionString , więc usługa Azure OpenAI i azure AI Search używają tożsamości zarządzanej do uwierzytelniania konta magazynu, co jest wymagane do obejścia ograniczeń sieci.
  • Nie ustawiaj nagłówka searchServiceAdminKey . Tożsamość przypisana przez system zasobu usługi Azure OpenAI jest używana do uwierzytelniania usługi Azure AI Search.
  • Nie ustawiajembeddingEndpoint ani embeddingKey. Zamiast tego użyj nagłówka embeddingDeploymentName , aby włączyć wektoryzacja tekstu.

Przykład przesyłania zadania

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X PUT https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/vpn1025a?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken" \
-H "storageEndpoint: https://mystorage.blob.core.windows.net/" \
-H "storageConnectionString: ResourceId=/subscriptions/1234567-abcd-1234-5678-1234abcd/resourceGroups/my-resource/providers/Microsoft.Storage/storageAccounts/mystorage" \
-H "storageContainer: my-container" \
-H "searchServiceEndpoint: https://mysearch.search.windows.net" \
-H "embeddingDeploymentName: ada" \
-d \
'
{
}
'

Przykład pobierania stanu zadania

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X GET https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/abc1234?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken"

Interfejs API wnioskowania

Zobacz artykuł referencyjny interfejsu API wnioskowania, aby uzyskać szczegółowe informacje na temat obiektów żądań i odpowiedzi używanych przez interfejs API wnioskowania.