Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozpocznij korzystanie z GPT-4 Turbo do przetwarzania obrazów w usłudze Azure OpenAI Service.
Uwaga
Wybór modelu
Najnowsze modele obsługujące wizję to gpt-4o
i gpt-4o mini
. Te modele są dostępne w publicznej wersji zapoznawczej. Najnowszy model ogólnie dostępny to gpt-4
wersja turbo-2024-04-09
.
Ważne
Mogą być naliczane dodatkowe opłaty za użycie podczas korzystania z modeli uzupełniania czatu z funkcją wizyjną.
Skorzystaj z tego artykułu, aby rozpocząć korzystanie z usługi Azure AI Foundry w celu wdrożenia i przetestowania modelu uzupełniania czatu przy użyciu zrozumienia obrazu.
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Po uzyskaniu subskrypcji platformy Azure Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
- Centrum Azure AI Foundry z zasobem usługi Azure OpenAI dodanym jako połączenie.
Przygotuj nośnik
Aby ukończyć ten szybki przewodnik, potrzebna jest grafika. Możesz użyć tego przykładowego obrazu lub dowolnego innego dostępnego obrazu.
Przejdź do usługi Azure AI Foundry
- Przejdź do usługi Azure AI Foundry i zaloguj się przy użyciu poświadczeń skojarzonych z zasobem usługi Azure OpenAI. Podczas lub po procesie logowania wybierz odpowiedni katalog, subskrypcję Azure i zasób Azure OpenAI.
- Wybierz centrum, w którym chcesz pracować.
- W menu nawigacji po lewej stronie wybierz pozycję Modele i punkty końcowe , a następnie wybierz pozycję + Wdróż model.
- Wybierz wdrożenie z obsługą obrazu, wybierając nazwę modelu: gpt-4o lub gpt-4o-mini. W wyświetlonym oknie wybierz nazwę i typ wdrożenia. Upewnij się, że zasób usługi Azure OpenAI jest połączony. Aby uzyskać więcej informacji na temat wdrażania modeli, zobacz przewodnik po wdrażaniu zasobów.
- Wybierz Wdróż.
- Następnie wybierz nowy model i wybierz pozycję Otwórz na placu zabaw. Na placu zabaw czatu utworzone wdrożenie powinno zostać wybrane z listy rozwijanej Wdrożenie.
Plac zabaw
Podczas tej sesji czatu instruujesz asystenta, aby pomógł ci w zrozumieniu wprowadzanych obrazów.
Aby uzyskać ogólną pomoc dotyczącą konfigurowania asystenta, sesji czatów, ustawień i paneli, zapoznaj się z przewodnikiem Szybki start czatu.
Rozpoczynanie sesji czatu w celu analizowania obrazów
W tej sesji czatu poinstruujesz asystenta, aby pomóc w zrozumieniu obrazów, które wprowadzasz.
Aby rozpocząć, upewnij się, że wdrożenie z obsługą obrazów zostało wybrane na liście rozwijanej Wdrożenie .
W polu tekstowym kontekstu na panelu Konfiguracja podaj ten monit, aby kierować asystentem:
"You're an AI assistant that helps people find information."
lub możesz dostosować monit do obrazu lub scenariusza.Uwaga
Zalecamy zaktualizowanie komunikatu systemowego tak, aby był specyficzny dla zadania, aby uniknąć nieprzydatnych odpowiedzi z modelu.
Wybierz pozycję Zastosuj zmiany , aby zapisać zmiany.
W okienku sesji czatu wybierz przycisk załącznika, a następnie pozycję Przekaż obraz. Wybierz obraz.
Dodaj następujący monit w polu czatu:
Describe this image
, a następnie wybierz ikonę wysyłania, aby ją przesłać.Ikona wysyłania jest zastępowana przyciskiem zatrzymania. Jeśli go wybierzesz, asystent przestanie przetwarzać żądanie. Na potrzeby tego przewodnika Szybki start pozwól asystentowi zakończyć odpowiedź.
Asystent odpowiada opisem obrazu.
Zadaj kolejne pytanie związane z analizą obrazu. Możesz wprowadzić wartość .
"What should I highlight about this image to my insurance company?"
Powinieneś otrzymać odpowiednią odpowiedź podobną do tej tutaj.
When reporting the incident to your insurance company, you should highlight the following key points from the image: 1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight. 2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident. 3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective. 4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes. 5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context. 6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well. Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
Wyświetlanie i eksportowanie kodu
W dowolnym momencie sesji czatu możesz włączyć przełącznik Pokaż nieprzetworzony kod JSON w górnej części okna czatu, aby zobaczyć konwersację sformatowaną jako JSON. Oto jak wygląda na początku sesji czatu Szybkiego startu:
[
{
"role": "system",
"content": [
"You are an AI assistant that helps people find information."
]
},
]
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Skorzystaj z tego artykułu, aby rozpocząć korzystanie z interfejsów API REST usługi Azure OpenAI do wdrażania i używania modelu GPT-4 Turbo z usługą Vision.
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Python 3.8 lub nowszy.
- Następujące biblioteki języka Python:
requests
,json
. - Zasób usługi Azure OpenAI z wdrożonym modelem GPT-4 Turbo z Wizją. Zobacz Dostępność modelu GPT-4 i GPT-4 Turbo Preview dla dostępnych regionów. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
Uwaga
Obecnie nie jest obsługiwane wyłączanie filtrowania zawartości dla modelu GPT-4 Turbo z usługą Vision.
Pobierz klucz i punkt końcowy
Aby pomyślnie wywołać interfejsy API usługi Azure OpenAI, potrzebne są następujące informacje dotyczące zasobu usługi Azure OpenAI:
Zmienna | Nazwa/nazwisko | Wartość |
---|---|---|
Punkt końcowy | api_base |
Wartość punktu końcowego znajduje się w obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. Punkt końcowy można również znaleźć na stronie Wdrożenia w portalu usługi Azure AI Foundry. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/ . |
Klawisz | api_key |
Wartość klucza znajduje się również w sekcji Klucze i punkt końcowy dla twojego zasobu w portalu Azure. Platforma Azure generuje dwa klucze dla zasobu. Możesz użyć jednej z tych wartości. |
Przejdź do zasobu w witrynie Azure Portal. W okienku nawigacji wybierz pozycję Klucze i punkt końcowy w obszarze Zarządzanie zasobami. Skopiuj wartość Punkt końcowy i wartość klucza dostępu. Możesz użyć KLUCZ 1 lub KLUCZ 2 jako wartości. Posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania przerw w działaniu usługi.
Tworzenie nowej aplikacji w języku Python
Utwórz nowy plik w języku Python o nazwie quickstart.py. Otwórz nowy plik w preferowanym edytorze lub środowisku IDE.
Zastąp zawartość quickstart.py poniższym kodem.
# Packages required: import requests import json api_base = '<your_azure_openai_endpoint>' deployment_name = '<your_deployment_name>' API_KEY = '<your_azure_openai_key>' base_url = f"{api_base}openai/deployments/{deployment_name}" headers = { "Content-Type": "application/json", "api-key": API_KEY } # Prepare endpoint, headers, and request body endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" data = { "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": [ { "type": "text", "text": "Describe this picture:" }, { "type": "image_url", "image_url": { "url": "<image URL>" } } ] } ], "max_tokens": 2000 } # Make the API call response = requests.post(endpoint, headers=headers, data=json.dumps(data)) print(f"Status Code: {response.status_code}") print(response.text)
Wprowadź następujące zmiany:
- Wprowadź adres URL i klucz punktu końcowego w odpowiednich polach.
- Wprowadź nazwę wdrożenia GPT-4 Turbo z Vision w odpowiednim polu.
- Zmień wartość
"image"
pola na adres URL obrazu.Napiwek
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz Przewodnik z instrukcjami GPT-4 Turbo with Vision.
Uruchom aplikację, wpisując polecenie
python
.python quickstart.py
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Skorzystaj z tego artykułu, aby rozpocząć korzystanie z zestawu SDK języka Python platformy Azure OpenAI do wdrażania i używania modelu GPT-4 Turbo z usługą Vision.
Kod źródłowy biblioteki | Pakiet (PyPi) |
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Python w wersji 3.8 lub nowszej.
- Następujące biblioteki języka Python:
os
- Zasób usługi Azure OpenAI z wdrożonym modelem GPT-4 Turbo z funkcją Vision. Zobacz Dostępność modelu GPT-4 i GPT-4 Turbo Preview dla dostępnych regionów. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
Konfiguruj
Zainstaluj bibliotekę klienta języka Python openAI za pomocą następujących elementów:
pip install openai
Uwaga
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historią wydania, aby śledzić najnowsze aktualizacje biblioteki.
Pobieranie klucza i punktu końcowego
Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowegoi klucza.
Nazwa zmiennej | Wartość |
---|---|
ENDPOINT |
Punkt końcowy usługi można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. Możesz też znaleźć punkt końcowy za pośrednictwem strony Wdrożenia w portalu usługi Azure AI Foundry. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu z poziomu witryny Azure Portal. Możesz użyć wartości KEY1 lub KEY2 . |
Przejdź do zasobu w witrynie Azure Portal. Sekcję Klucze i punkt końcowy można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ będą potrzebne do uwierzytelniania wywołań interfejsu API. Możesz użyć wartości KEY1
lub KEY2
. Zawsze posiadanie dwóch kluczy umożliwia bezpieczne obracanie i ponowne generowanie kluczy bez powodowania zakłóceń usługi.
Zmienne środowiskowe
Tworzenie i przypisywanie trwałych zmiennych środowiskowych dla klucza i punktu końcowego.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Tworzenie nowej aplikacji w języku Python
Utwórz nowy plik w języku Python o nazwie quickstart.py. Otwórz nowy plik w preferowanym edytorze lub środowisku IDE.
Zastąp zawartość quickstart.py poniższym kodem.
from openai import AzureOpenAI api_base = os.getenv("AZURE_OPENAI_ENDPOINT") api_key= os.getenv("AZURE_OPENAI_API_KEY") deployment_name = '<your_deployment_name>' api_version = '2023-12-01-preview' # this might change in the future client = AzureOpenAI( api_key=api_key, api_version=api_version, base_url=f"{api_base}/openai/deployments/{deployment_name}" ) response = client.chat.completions.create( model=deployment_name, messages=[ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": [ { "type": "text", "text": "Describe this picture:" }, { "type": "image_url", "image_url": { "url": "<image URL>" } } ] } ], max_tokens=2000 ) print(response)
Wprowadź następujące zmiany:
- Wprowadź nazwę urządzenia GPT-4 Turbo z wdrożeniem usługi Vision w odpowiednim polu.
- Zmień wartość
"url"
pola na adres URL obrazu.Napiwek
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz Przewodnik z instrukcjami GPT-4 Turbo with Vision.
Uruchom aplikację za pomocą polecenia
python
.python quickstart.py
Ważne
Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w usłudze Azure Key Vault. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Użyj tego artykułu, aby zacząć korzystać z OpenAI JavaScript SDK do wdrażania i używania modelu GPT-4 Turbo z modelem Vision.
Ten zestaw SDK jest dostarczany przez usługę OpenAI z określonymi typami platformy Azure udostępnianymi przez platformę Azure.
Dokumentacja referencyjna | Kod źródłowy biblioteki | Pakiet (npm) | Przykłady
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
Uwaga
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historią wydania, aby śledzić najnowsze aktualizacje biblioteki.
Wymagania wstępne dotyczące Identyfikatora Entra firmy Microsoft
W przypadku zalecanego uwierzytelniania bez klucza za pomocą identyfikatora Entra firmy Microsoft należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bezkluczowego z Microsoft Entra ID.
-
Cognitive Services User
Przypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w obszarze Kontrola dostępu (IAM)>Dodaj przypisanie roli.
Konfiguruj
Utwórz nowy folder
vision-quickstart
i przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstart
Utwórz element
package.json
za pomocą następującego polecenia:npm init -y
Zainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openai
W przypadku zalecanego uwierzytelniania bez hasła:
npm install @azure/identity
Pobieranie informacji o zasobie
Aby uwierzytelnić aplikację przy użyciu zasobu usługi Azure OpenAI, musisz pobrać następujące informacje:
Nazwa zmiennej | Wartość |
---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej dla wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
OPENAI_API_VERSION |
Dowiedz się więcej o wersjach interfejsu API. Możesz zmienić wersję w kodzie lub użyć zmiennej środowiskowej. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Uwaga
Aby użyć zalecanego uwierzytelniania bez klucza z zestawem SDK, upewnij się, że zmienna AZURE_OPENAI_API_KEY
środowiskowa nie jest ustawiona.
Utwórz nową aplikację JavaScript do monitów graficznych
Wybierz obraz z folderu azure-samples/cognitive-services-sample-data-files. Użyj adresu URL obrazu w poniższym kodzie lub ustaw zmienną IMAGE_URL
środowiskową na adres URL obrazu.
Napiwek
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz Przewodnik z instrukcjami GPT-4 Turbo with Vision.
index.js
Utwórz plik przy użyciu następującego kodu:const AzureOpenAI = require('openai').AzureOpenAI; const { DefaultAzureCredential, getBearerTokenProvider } = require('@azure/identity'); // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; const imageUrl = process.env.IMAGE_URL || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } function createMessages() { return { messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: [ { type: "text", text: "Describe this picture:", }, { type: "image_url", image_url: { url: imageUrl, }, }, ], }, ], model: "", max_tokens: 2000, }; } async function printChoices(completion) { for (const choice of completion.choices) { console.log(choice.message); } } export async function main() { console.log("== Get GPT-4 Turbo with vision Sample =="); const client = getClient(); const messages = createMessages(); const completion = await client.chat.completions.create(messages); await printChoices(completion); } main().catch((err) => { console.error("Error occurred:", err); });
Zaloguj się do platformy Azure przy użyciu następującego polecenia:
az login
Uruchom plik JavaScript.
node index.js
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Skorzystaj z tego artykułu, aby rozpocząć używanie zestawu OpenAI JavaScript SDK do wdrażania i korzystania z modelu GPT-4 Turbo with Vision.
Ten SDK jest dostarczany przez OpenAI z typami specyficznymi dla platformy Azure, udostępnianymi przez Azure.
Dokumentacja referencyjna | Kod źródłowy biblioteki | Pakiet (npm) | Przykłady
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Wersje LTS Node.js
- TypeScript
- Interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez hasła w lokalnym środowisku projektowym, utwórz niezbędny kontekst, logując się przy użyciu interfejsu wiersza polecenia platformy Azure.
- Zasób usługi Azure OpenAI utworzony w obsługiwanym regionie (zobacz Dostępność regionów). Aby uzyskać więcej informacji, zobacz Tworzenie zasobu i wdrażanie modelu za pomocą usługi Azure OpenAI.
Uwaga
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historią wydania, aby śledzić najnowsze aktualizacje biblioteki.
Wymagania wstępne dotyczące ID Entra firmy Microsoft
W przypadku zalecanego uwierzytelniania bez klucza za pomocą identyfikatora Entra firmy Microsoft należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bez klucza z Microsoft Entra ID.
-
Cognitive Services User
Przypisz rolę do konta użytkownika. Role można przypisać w Azure Portal w sekcji Kontrola dostępu (IAM)>Dodaj przypisanie roli.
Konfiguruj
Utwórz nowy folder
vision-quickstart
i przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstart
Utwórz element
package.json
za pomocą następującego polecenia:npm init -y
Zaktualizuj
package.json
do ECMAScript za pomocą następującego polecenia:npm pkg set type=module
Zainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openai
W przypadku zalecanego uwierzytelniania bez hasła:
npm install @azure/identity
Pobieranie informacji o zasobie
Aby uwierzytelnić aplikację przy użyciu zasobu usługi Azure OpenAI, musisz pobrać następujące informacje:
Nazwa zmiennej | Wartość |
---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej przy wdrażaniu modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
OPENAI_API_VERSION |
Dowiedz się więcej o wersjach interfejsu API. Możesz zmienić wersję w kodzie lub użyć zmiennej środowiskowej. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Uwaga
Aby użyć zalecanego uwierzytelniania bez klucza z zestawem SDK, upewnij się, że zmienna AZURE_OPENAI_API_KEY
środowiskowa nie jest ustawiona.
Utwórz nową aplikację JavaScript dla podpowiedzi obrazkowych
Wybierz obraz z folderu azure-samples/cognitive-services-sample-data-files. Użyj adresu URL obrazu w poniższym kodzie lub ustaw zmienną IMAGE_URL
środowiskową na adres URL obrazu.
Napiwek
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz Przewodnik z instrukcjami GPT-4 Turbo with Vision.
index.ts
Utwórz plik przy użyciu następującego kodu:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; import type { ChatCompletion, ChatCompletionCreateParamsNonStreaming, } from "openai/resources/index"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; const imageUrl = process.env["IMAGE_URL"] || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } function createMessages(): ChatCompletionCreateParamsNonStreaming { return { messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: [ { type: "text", text: "Describe this picture:", }, { type: "image_url", image_url: { url: imageUrl, }, }, ], }, ], model: "", max_tokens: 2000, }; } async function printChoices(completion: ChatCompletion): Promise<void> { for (const choice of completion.choices) { console.log(choice.message); } } export async function main() { console.log("== Get GPT-4 Turbo with vision Sample =="); const client = getClient(); const messages = createMessages(); const completion = await client.chat.completions.create(messages); await printChoices(completion); } main().catch((err) => { console.error("Error occurred:", err); });
Utwórz plik
tsconfig.json
do transpilacji kodu TypeScript i skopiuj następujący kod dla ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Transpiluj z języka TypeScript do języka JavaScript.
tsc
Zaloguj się do platformy Azure przy użyciu następującego polecenia:
az login
Uruchom kod za pomocą następującego polecenia:
node index.js
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Skorzystaj z tego artykułu, aby rozpocząć korzystanie z zestawu .NET SDK platformy Azure OpenAI do wdrażania i używania modelu GPT-4 Turbo z usługą Vision.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Pakiet .NET 8.0 SDK
- Zasób usługi Azure OpenAI z wdrożonym modelem GPT-4 Turbo z funkcją Vision. Zobacz Dostępność modelu GPT-4 i GPT-4 Turbo Preview dla dostępnych regionów. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
Wymagania wstępne dotyczące Microsoft Entra ID
W przypadku zalecanego uwierzytelniania bez klucza za pomocą identyfikatora Entra firmy Microsoft należy wykonać następujące czynności:
- Zainstaluj Azure CLI używany do uwierzytelniania bez klucza z Microsoft Entra ID.
-
Cognitive Services User
Przypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.
Konfiguruj
Utwórz nowy folder
vision-quickstart
i przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstart
Utwórz nową aplikację konsolową za pomocą następującego polecenia:
dotnet new console
Zainstaluj bibliotekę klienta OpenAI .NET za pomocą polecenia dotnet add package:
dotnet add package Azure.AI.OpenAI
Aby uzyskać zalecane uwierzytelnianie bez klucza za pomocą identyfikatora Entra firmy Microsoft, zainstaluj pakiet Azure.Identity za pomocą polecenia:
dotnet add package Azure.Identity
Aby uzyskać zalecane uwierzytelnianie bez klucza przy użyciu identyfikatora Entra firmy Microsoft, zaloguj się na platformie Azure za pomocą następującego polecenia:
az login
Pobieranie informacji o zasobie
Aby uwierzytelnić aplikację przy użyciu zasobu usługi Azure OpenAI, musisz pobrać następujące informacje:
Nazwa zmiennej | Wartość |
---|---|
AZURE_OPENAI_ENDPOINT |
Tę wartość można znaleźć w sekcji Klucze i punkt końcowy podczas badania zasobu w witrynie Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Ta wartość będzie odpowiadać nazwie niestandardowej wybranej dla wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
OPENAI_API_VERSION |
Dowiedz się więcej o wersjach interfejsu API. Możesz zmienić wersję w kodzie lub użyć zmiennej środowiskowej. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Uruchom szybki start
Przykładowy kod w tym przewodniku szybkiego startu używa Microsoft Entra ID do zalecanego uwierzytelniania bezkluczykowego. Jeśli wolisz użyć klucza interfejsu API, możesz zastąpić obiekt DefaultAzureCredential
obiektem AzureKeyCredential
.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Aby uruchomić szybki start, wykonaj następujące kroki:
Zastąp zawartość
Program.cs
poniższym kodem i zaktualizuj wartości symboli zastępczych własnymi.using Azure; using Azure.AI.OpenAI; using Azure.Identity; using OpenAI.Chat; // Required for Passwordless auth string deploymentName = "gpt-4"; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); var chatClient = openAIClient.GetChatClient(deploymentName); var imageUri = "YOUR_IMAGE_URL"; var chatMessages = new List<ChatMessage> { new SystemChatMessage("You are a helpful assistant."), new UserChatMessage($"Describe this picture: {imageUrl}") }; ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages); Console.WriteLine($"[ASSISTANT]:"); Console.WriteLine($"{chatCompletion.Content[0].Text}");
Uruchom aplikację przy użyciu
dotnet run
polecenia lub przycisku Uruchom w górnej części programu Visual Studio:dotnet run
Dane wyjściowe
Dane wyjściowe aplikacji będą opisem obrazu podanego w zmiennej imageUri
. Asystent przeanalizuje obraz i przedstawi szczegółowy opis na podstawie jego zawartości.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć zasób usługi Azure OpenAI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.
Następne kroki
- Rozpocznij pracę z aplikacjami do czatów wielomodalnych, korzystając z szablonu aplikacji Azure OpenAI AI
- Dowiedz się więcej o tych interfejsach API w przewodniku z instrukcjami dotyczącymi modeli z obsługą przetwarzania obrazów
- GPT-4 Turbo z usługą Vision — często zadawane pytania
- GPT-4 Turbo z dokumentacją interfejsu API Vision