Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rozpocznij korzystanie z obrazów w czatach za pomocą usługi Azure OpenAI w modelach rozwiązania Microsoft Foundry.
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 Microsoft 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.
- Projekt 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 witryny Foundry
- Przejdź do witryny 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 projekt, 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 modelu, zobacz przewodnik wdrażania 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 / Notatka
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."
]
},
]
Uprzątnij zasoby
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 modeli czatów z obsługą przetwarzania obrazów.
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 Modeli Microsoft Foundry w Azure OpenAI z wdrożonym modelem obsługującym funkcję rozpoznawania obrazu. Zobacz Dostępność modelu dla dostępnych regionów. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
Uwaga / Notatka
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 | 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 Foundry. Przykładowy punkt końcowy to: https://docs-test-001.openai.azure.com/. |
| Klucz | 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ć wartości KLUCZ 1 lub wartości 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 modelu w odpowiednim polu.
- Zmień wartość
"image"pola na publicznie dostępny adres URL obrazu.Wskazówka
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący czatów Vision.
Uruchom aplikację za pomocą polecenia
python.python quickstart.py
Uprzątnij zasoby
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 usługi Azure OpenAI do wdrażania i używania modelu czatu z obsługą przetwarzania obrazów.
Kod źródłowy biblioteki | Pakiet (PyPi) |
Wymagania wstępne
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Python 3.8 lub nowszy.
- Następujące biblioteki języka Python:
os - Zasób usługi Azure OpenAI w ramach platformy Microsoft Foundry Models z wdrożonym modelem czatu z funkcjami przetwarzania obrazu. Zobacz Dostępność modelu dla dostępnych regionów. Aby uzyskać więcej informacji na temat tworzenia zasobów, zobacz przewodnik wdrażania zasobów.
Ustawienia
Zainstaluj bibliotekę klienta języka Python openAI za pomocą następujących elementów:
pip install openai
Uwaga / Notatka
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historyją wydań, aby śledzić najnowsze aktualizacje biblioteki.
Pobierz klucz i punkt końcowy
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. Alternatywnie punkt końcowy można znaleźć za pośrednictwem strony Wdrożenia w portalu Microsoft 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ędziesz potrzebować obu do uwierzytelniania wywołań 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ę wdrożenia modelu w odpowiednim polu.
- Zmień wartość
"url"pola na publicznie dostępny adres URL obrazu.Wskazówka
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący czatów 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.
Uprzątnij zasoby
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 JavaScript platformy OpenAI do wdrażania i używania modelu czatu z obsługą przetwarzania obrazów.
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 ją za darmo
- Wersje LTS systemu 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 / Notatka
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historyją wydań, aby śledzić najnowsze aktualizacje biblioteki.
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żywane do uwierzytelniania bezkluczowego za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w sekcji Kontrola dostępu (IAM)>Dodawanie przypisania roli.
Ustawienia
Utwórz nowy folder
vision-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstartUtwórz element
package.jsonza pomocą następującego polecenia:npm init -yZainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openaiW 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, którą wybrałeś dla swojego wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Ostrzeżenie
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. Wprowadź publiczny adres URL obrazu w poniższym kodzie lub ustaw zmienną środowiskową IMAGE_URL na ten adres.
Ważne
Jeśli używasz adresu URL SAS do obrazu przechowywanego w Azure Blob Storage, musisz włączyć Managed Identity i przypisać rolę Storage Blob Reader do zasobu Azure OpenAI (zrób to w Azure portal). To pozwala modelowi uzyskiwać dostęp do obrazu w przechowywaniu obiektów blob.
Wskazówka
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący czatów Vision.
index.jsUtwó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 Vision chats 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 loginUruchom plik JavaScript.
node index.js
Uprzątnij zasoby
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 JavaScript platformy OpenAI do wdrażania i używania modelu czatu z obsługą przetwarzania obrazów.
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 ją za darmo
- Wersje LTS systemu 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 / Notatka
Ta biblioteka jest utrzymywana przez OpenAI. Zapoznaj się z historyją wydań, aby śledzić najnowsze aktualizacje biblioteki.
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żywane do uwierzytelniania bezkluczowego za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w sekcji Kontrola dostępu (IAM)>Dodawanie przypisania roli.
Ustawienia
Utwórz nowy folder
vision-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstartUtwórz element
package.jsonza pomocą następującego polecenia:npm init -yZaktualizuj
package.jsondo ECMAScript za pomocą następującego polecenia:npm pkg set type=moduleZainstaluj bibliotekę klienta openAI dla języka JavaScript za pomocą następujących narzędzi:
npm install openaiW 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, którą wybrałeś dla swojego wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
Dowiedz się więcej na temat uwierzytelniania bez klucza i ustawiania zmiennych środowiskowych.
Ostrzeżenie
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.
Wskazówka
Można również użyć zakodowanych w formacie base 64 danych obrazu zamiast adresu URL. Aby uzyskać więcej informacji, zobacz przewodnik dotyczący czatów Vision.
index.tsUtwó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 Vision chat 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.jsondo 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.
tscZaloguj się do platformy Azure przy użyciu następującego polecenia:
az loginUruchom kod za pomocą następującego polecenia:
node index.js
Uprzątnij zasoby
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 czatu z obsługą przetwarzania obrazów.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- .NET 8.0 SDK
- Zasób usługi Azure OpenAI w ramach platformy Microsoft Foundry Models z wdrożonym modelem czatu z funkcjami przetwarzania obrazu. Zobacz Dostępność modelu 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żywane do uwierzytelniania bezkluczowego za pomocą Microsoft Entra ID.
-
Cognitive Services UserPrzypisz rolę do konta użytkownika. Role można przypisać w portalu Azure w sekcji Kontrola dostępu (IAM)>Dodawanie przypisania roli.
Ustawienia
Utwórz nowy folder
vision-quickstarti przejdź do folderu Szybki start za pomocą następującego polecenia:mkdir vision-quickstart && cd vision-quickstartUtwórz nową aplikację konsolową za pomocą następującego polecenia:
dotnet new consoleZainstaluj bibliotekę klienta OpenAI .NET za pomocą polecenia dotnet add package:
dotnet add package Azure.AI.OpenAIAby uzyskać zalecane uwierzytelnianie bez klucza za pomocą identyfikatora Entra firmy Microsoft, zainstaluj pakiet Azure.Identity za pomocą polecenia:
dotnet add package Azure.IdentityAby 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, którą wybrałeś dla swojego wdrożenia podczas wdrażania modelu. Tę wartość można znaleźć w obszarze Wdrożenia modelu zarządzania>zasobami w witrynie Azure Portal. |
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.csponiż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 imageUrl = "YOUR_IMAGE_URL"; var textPart = ChatMessageContentPart.CreateTextPart("Describe this picture:"); var imgPart = ChatMessageContentPart.CreateImagePart(imageUrl); var chatMessages = new List<ChatMessage> { new SystemChatMessage("You are a helpful assistant."), new UserChatMessage(textPart, imgPart) }; ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages); Console.WriteLine($"[ASSISTANT]:"); Console.WriteLine($"{chatCompletion.Content[0].Text}");Zastąp
YOUR_IMAGE_URLpublicznie dostępnym adresem URL obrazu, który chcesz przesłać.Uruchom aplikację przy użyciu
dotnet runpolecenia lub przycisku Uruchom w górnej części programu Visual Studio:dotnet run
Wynik
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.
Uprzątnij zasoby
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.
Treści powiązane
- 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 odniesieniem do interfejsu API Vision