Szybki start: używanie obrazów w czatach sztucznej inteligencji
Rozpocznij korzystanie z biblioteki GPT-4 Turbo z obrazami w usłudze Azure OpenAI Service.
Uwaga
Wybór modelu
Najnowsze modele obsługujące wizję to gpt-4o
i gpt-4o mini
. Są one dostępne w publicznej wersji zapoznawczej. Najnowszy dostępny model ogólnie dostępny to gpt-4
wersja turbo-2024-04-09
.
Zacznij korzystać z obrazów w czatach sztucznej inteligencji przy użyciu podejścia bez kodu za pośrednictwem usługi Azure AI Foundry.
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Zasób usługi Azure OpenAI. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
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 przepływie pracy logowania wybierz odpowiedni katalog, subskrypcję platformy Azure i zasób usługi Azure OpenAI.
Utwórz projekt lub wybierz istniejący. Przejdź do opcji Modele i punkty końcowe po lewej stronie, a następnie wybierz pozycję Wdróż model. Wybierz wdrożenie z obsługą obrazu, wybierając nazwę modelu: gpt-4o lub gpt-4o-mini. Aby uzyskać więcej informacji na temat modeli wdrażania, zobacz przewodnik po modelach wdrażania).
Wybierz nowe wdrożenie i wybierz pozycję Otwórz na placu zabaw.
Plac zabaw
Na tej stronie można szybko iterować i eksperymentować z możliwościami modelu.
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 okienku Konfiguracja podaj komunikat systemowy, aby kierować asystentem. Domyślny komunikat systemowy to: "Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji". Komunikat systemowy można dostosować do obrazu lub scenariusza, który jest przekazywany.
Uwaga
Zalecamy zaktualizowanie komunikatu systemowego tak, aby był specyficzny dla zadania, aby uniknąć nieprzydatnych odpowiedzi z modelu.
Zapisz zmiany, a po wyświetleniu monitu o potwierdzenie aktualizacji komunikatu systemowego wybierz pozycję Kontynuuj.
W okienku Sesja czatu wprowadź monit tekstowy, taki jak "Opisz ten obraz" i przekaż obraz za pomocą przycisku załącznika. W przypadku użycia można użyć innego monitu tekstowego. Następnie wybierz pozycję Wyślij.
Zwróć uwagę na podane dane wyjściowe. Rozważ zadawanie pytań dotyczących analizy obrazu, aby dowiedzieć się więcej.
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.
- Środowisko Python w wersji 3.8 lub nowszej.
- Następujące biblioteki języka Python:
requests
,json
. - Zasób usługi Azure OpenAI z wdrożonym modelem GPT-4 Turbo z usługą 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.
Uwaga
Obecnie nie jest obsługiwane wyłączanie filtrowania zawartości dla modelu GPT-4 Turbo z usługą Vision.
Pobieranie klucza i punktu końcowego
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 obszarze Klucze i punkt końcowy zasobu w witrynie Azure Portal. 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ć wartości KLUCZ 1 lub KLUCZ 2 . 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 nazwą wdrożenia przetwarzania obrazów 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ę za
python
pomocą polecenia :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.
Pakiet kodu | źródłowego biblioteki (PyPi) |
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Środowisko 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 usługą 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 interfejs 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ńcowego i 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ędzie potrzebny zarówno 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
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
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
python
pomocą polecenia :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ąć wdrażanie i używanie modelu GPT-4 Turbo z modelem vision za pomocą zestawu SDK Języka JavaScript openAI.
Ten zestaw SDK jest dostarczany przez usługę OpenAI z określonymi typami platformy Azure udostępnianymi przez platformę Azure.
Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej (npm)Samples |
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 interfejs 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 interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez klucza za pomocą identyfikatora Entra firmy Microsoft.
Cognitive Services User
Przypisz rolę do konta użytkownika. Role można przypisać w witrynie Azure Portal w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.
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. |
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.
Tworzenie aplikacji Node
W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init
aby utworzyć aplikację węzła z plikiem package.json .
npm init
Instalowanie biblioteki klienta
Zainstaluj biblioteki klienckie za pomocą następujących funkcji:
npm install openai @azure/identity
Plik package.json aplikacji zostanie zaktualizowany o zależności.
Tworzenie nowej aplikacji JavaScript na potrzeby monitów o obraz
Wybierz obraz z pliku azure-samples/cognitive-services-sample-data-files i ustaw adres URL obrazu w zmiennych środowiskowych.
Zastąp zawartość quickstart.js następującym kodem.
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"] || "<endpoint>"; const imageUrl = process.env["IMAGE_URL"] || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = "2024-07-01-preview"; const deploymentName = "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); });
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ą następującego polecenia:
node quickstart.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ąć wdrażanie i używanie modelu GPT-4 Turbo z modelem vision za pomocą zestawu SDK Języka JavaScript openAI.
Ten zestaw SDK jest dostarczany przez usługę OpenAI z określonymi typami platformy Azure udostępnianymi przez platformę Azure.
Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej (npm)Samples |
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 interfejs 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 interfejs wiersza polecenia platformy Azure używany do uwierzytelniania bez klucza za pomocą identyfikatora Entra firmy Microsoft.
Cognitive Services User
Przypisz rolę do konta użytkownika. Role można przypisać w witrynie Azure Portal w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.
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. |
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.
Tworzenie aplikacji Node
W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego. Następnie uruchom polecenie , npm init
aby utworzyć aplikację węzła z plikiem package.json .
npm init
Instalowanie biblioteki klienta
Zainstaluj biblioteki klienckie za pomocą następujących funkcji:
npm install openai @azure/identity
Plik package.json aplikacji zostanie zaktualizowany o zależności.
Tworzenie nowej aplikacji JavaScript na potrzeby monitów o obraz
Wybierz obraz z pliku azure-samples/cognitive-services-sample-data-files i ustaw adres URL obrazu w zmiennych środowiskowych.
Utwórz quickstart.ts i wklej następujący kod.
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"] || "<endpoint>"; const imageUrl = process.env["IMAGE_URL"] || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = "2024-07-01-preview"; const deploymentName = "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); });
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.
Skompiluj aplikację za pomocą następującego polecenia:
tsc
Uruchom aplikację za pomocą następującego polecenia:
node quickstart.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.
- Zestaw .NET 8.0 SDK
- Zasób usługi Azure OpenAI z wdrożonym modelem GPT-4 Turbo z usługą 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
Pobieranie klucza i punktu końcowego
Aby pomyślnie wykonać wywołanie usługi Azure OpenAI, potrzebujesz punktu końcowego i klucza.
Nazwa zmiennej | Wartość |
---|---|
AZURE_OPENAI_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/ . |
AZURE_OPENAI_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. Punkt końcowy i klucze można znaleźć w sekcji Zarządzanie zasobami. Skopiuj punkt końcowy i klucz dostępu, ponieważ potrzebujesz zarówno 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.
Tworzenie aplikacji .NET
Utwórz aplikację platformy .NET przy użyciu
dotnet new
polecenia :dotnet new console -n OpenAISpeech
Przejdź do katalogu nowej aplikacji:
cd OpenAISpeech
Instalowanie biblioteki klienta
Zainstaluj bibliotekę Azure.OpenAI
klienta:
dotnet add package Azure.AI.OpenAI
Zalecane jest uwierzytelnianie bez hasła
Uwierzytelnianie bez hasła jest bezpieczniejsze niż alternatywy oparte na kluczach i jest zalecanym podejściem do nawiązywania połączenia z usługami platformy Azure. Jeśli zdecydujesz się używać uwierzytelniania bez hasła, musisz wykonać następujące czynności:
Dodaj pakiet
Azure.Identity
.dotnet add package Azure.Identity
Cognitive Services User
Przypisz rolę do konta użytkownika. Można to zrobić w witrynie Azure Portal w zasobie OpenAI w obszarze Kontrola dostępu (IAM)>Dodawanie przypisania roli.Zaloguj się do platformy Azure przy użyciu programu Visual Studio lub interfejsu wiersza polecenia platformy Azure za pomocą polecenia
az login
.
Aktualizowanie kodu aplikacji
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 var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT"); var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY"); // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth var deploymentName = "gpt-4"; // Default name, update with your own if needed var openAIClient = new AzureOpenAIClient(endpoint, credentials); var chatClient = openAIClient.GetChatClient(deploymentName); var imageUri = "YOUR_IMAGE_URL"; List<ChatMessage> messages = [ new UserChatMessage( ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"), ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png")) ]; ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages); Console.WriteLine($"[ASSISTANT]:"); Console.WriteLine($"{chatCompletion.Content[0].Text}");
Ważne
W przypadku środowiska produkcyjnego przechowywanie poświadczeń i uzyskiwanie do nich dostępu przy użyciu bezpiecznej metody, takiej jak usługa Azure Key Vault. Aby uzyskać więcej informacji na temat zabezpieczeń poświadczeń, zobacz Zabezpieczenia usług Azure AI.
Uruchom aplikację przy użyciu
dotnet run
polecenia lub przycisku Uruchom w górnej części programu Visual Studio:dotnet run
Aplikacja generuje plik audio w lokalizacji określonej dla zmiennej speechFilePath
. Odtwórz plik na urządzeniu, aby usłyszeć wygenerowany dźwięk.
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
- 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 przetwarzania obrazów