Snabbstart: Använda bilder i dina AI-chattar
Kom igång med GPT-4 Turbo med bilder med Azure OpenAI Service.
Kommentar
Modellval
De senaste visionskompatibla modellerna är gpt-4o
och gpt-4o mini
. Dessa modeller är i offentlig förhandsversion. Den senaste tillgängliga GA-modellen är gpt-4
version turbo-2024-04-09
.
Viktigt!
Extra användningsavgifter kan tillkomma när du använder chattmodeller med visionsfunktioner.
Använd den här artikeln om du vill komma igång med Azure AI Foundry för att distribuera och testa en modell för chattens slutförande med bildtolkning.
Förutsättningar
- En Azure-prenumeration. Skapa en kostnadsfritt.
- När du har din Azure-prenumeration skapar du en Azure OpenAI-resurs . Mer information om hur du skapar resurser finns i guiden för resursdistribution.
- En Azure AI Foundry-hubb med din Azure OpenAI-resurs tillagd som en anslutning.
Förbereda media
Du behöver en avbildning för att slutföra den här snabbstarten. Du kan använda den här exempelbilden eller någon annan bild som du har tillgänglig.
Gå till Azure AI Foundry
- Bläddra till Azure AI Foundry och logga in med de autentiseringsuppgifter som är associerade med din Azure OpenAI-resurs. Under eller efter inloggningsarbetsflödet väljer du lämplig katalog, Azure-prenumeration och Azure OpenAI-resurs.
- Välj den hubb som du vill arbeta i.
- På den vänstra navigeringsmenyn väljer du Modeller + slutpunkter och väljer + Distribuera modell.
- Välj en avbildningskompatibel distribution genom att välja modellnamn: gpt-4o eller gpt-4o-mini. I fönstret som visas väljer du ett namn och en distributionstyp. Kontrollera att din Azure OpenAI-resurs är ansluten. Mer information om distributionsmodellerna finns i Förstå distributionsmodeller.
- Välj distribuera.
- Välj sedan din nya modell och välj Öppna på lekplatsen. I chattlekplatsen bör distributionen du skapade väljas i listrutan Distribution .
Lekplats
I den här chattsessionen instruerar du assistenten att hjälpa dig att förstå bilder som du matar in.
Allmän hjälp med assistentkonfiguration, chattsessioner, inställningar och paneler finns i snabbstarten Chatt.
Starta en chattsession för att analysera bilder
I den här chattsessionen instruerar du assistenten att hjälpa dig att förstå bilder som du matar in.
Börja genom att se till att din avbildningskompatibla distribution har valts i listrutan Distribution .
I textrutan kontext på installationspanelen anger du den här uppmaningen som vägleder assistenten:
"You're an AI assistant that helps people find information."
Eller så kan du anpassa uppmaningen till din bild eller ditt scenario.Kommentar
Vi rekommenderar att du uppdaterar systemmeddelandet så att det är specifikt för uppgiften för att undvika ohjälpsamma svar från modellen.
Välj Tillämpa ändringar för att spara ändringarna.
I chattsessionsfönstret väljer du knappen bifogad fil och sedan Ladda upp bild. Välj din bild.
Lägg till följande uppmaning i chattfältet:
Describe this image
och välj sedan ikonen skicka för att skicka den.Ikonen skicka ersätts med en stoppknapp. Om du väljer det slutar assistenten att bearbeta din begäran. För den här snabbstarten låter du assistenten slutföra svaret.
Assistenten svarar med en beskrivning av bilden.
Ställ en uppföljningsfråga som rör analysen av din bild. Du kan ange,
"What should I highlight about this image to my insurance company?"
.Du bör få ett relevant svar som liknar det som visas här:
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.
Visa och exportera kod
När som helst i chattsessionen kan du aktivera växeln Visa rå JSON överst i chattfönstret för att se konversationen formaterad som JSON. Så här ser det ut i början av snabbstartschattsessionen:
[
{
"role": "system",
"content": [
"You are an AI assistant that helps people find information."
]
},
]
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd den här artikeln för att komma igång med Azure OpenAI REST API:er för att distribuera och använda GPT-4 Turbo med Vision-modellen.
Förutsättningar
- En Azure-prenumeration. Skapa en kostnadsfritt.
- Python 3.8 eller senare version.
- Följande Python-bibliotek:
requests
,json
. - En Azure OpenAI Service-resurs med en GPT-4 Turbo med Vision-modell distribuerad. Se GPT-4- och GPT-4 Turbo Preview-modelltillgänglighet för tillgängliga regioner. Mer information om hur du skapar resurser finns i guiden för resursdistribution.
Kommentar
Det stöds för närvarande inte att inaktivera innehållsfiltrering för GPT-4 Turbo med Vision-modellen.
Hämta nyckel och slutpunkt
Om du vill anropa Azure OpenAI-API:erna behöver du följande information om din Azure OpenAI-resurs:
Olika | Name | Värde |
---|---|---|
Slutpunkt | api_base |
Slutpunktsvärdet finns under Nycklar och slutpunkt för resursen i Azure Portal. Du hittar även slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
Tangent | api_key |
Nyckelvärdet finns också under Nycklar och slutpunkt för resursen i Azure Portal. Azure genererar två nycklar för din resurs. Du kan använda något av värdena. |
Gå till resursen i Azure Portal. I navigeringsfönstret väljer du Nycklar och slutpunkt under Resurshantering. Kopiera slutpunktsvärdet och ett åtkomstnyckelvärde. Du kan använda antingen värdet KEY 1 eller KEY 2 . Med två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa ett nytt Python-program
Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod.
# 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)
Gör följande ändringar:
- Ange din slutpunkts-URL och nyckel i lämpliga fält.
- Ange ditt GPT-4 Turbo med visionens distributionsnamn i lämpligt fält.
- Ändra värdet för fältet
"image"
till URL:en för din bild.Dricks
Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.
Kör programmet med
python
kommandot :python quickstart.py
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd den här artikeln för att komma igång med Azure OpenAI Python SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.
Paket för bibliotekskällkod | (PyPi) |
Förutsättningar
- En Azure-prenumeration. Skapa en kostnadsfritt.
- Python 3.8 eller senare version.
- Följande Python-bibliotek:
os
- En Azure OpenAI Service-resurs med en GPT-4 Turbo med Vision-modell distribuerad. Se GPT-4- och GPT-4 Turbo Preview-modelltillgänglighet för tillgängliga regioner. Mer information om hur du skapar resurser finns i guiden för resursdistribution.
Konfigurera
Installera OpenAI Python-klientbiblioteket med:
pip install openai
Kommentar
Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Avsnittet Nycklar och slutpunkter finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln eftersom du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Miljövariabler
Skapa och tilldela beständiga miljövariabler för din nyckel och slutpunkt.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Skapa ett nytt Python-program
Skapa en ny Python-fil med namnet quickstart.py. Öppna den nya filen i önskad redigerare eller IDE.
Ersätt innehållet i quickstart.py med följande kod.
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)
Gör följande ändringar:
- Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
- Ändra värdet för fältet
"url"
till URL:en för din bild.Dricks
Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.
Kör programmet med
python
kommandot :python quickstart.py
Viktigt!
Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder en API-nyckel lagrar du den på ett säkert sätt i Azure Key Vault. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd den här artikeln för att komma igång med OpenAI JavaScript SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.
Denna SDK tillhandahålls av OpenAI med Azure-specifika typer som tillhandahålls av Azure.
Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Kommentar
Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.
Krav för Microsoft Entra-ID
För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:
- Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
-
Cognitive Services User
Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
Hämta resursinformation
Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa ett Node-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init
sedan kommandot för att skapa ett nodprogram med en package.json fil.
npm init
Installera klientbiblioteket
Installera klientbiblioteken med:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Skapa ett nytt JavaScript-program för avbildningsprompter
Välj en bild från azure-samples/cognitive-services-sample-data-files och ange URL:en för en bild i miljövariablerna.
Ersätt innehållet i quickstart.js med följande kod.
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); });
Gör följande ändringar:
- Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
- Ändra värdet för fältet
"url"
till URL:en för din bild.Dricks
Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.
Kör programmet med följande kommando:
node quickstart.js
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd den här artikeln för att komma igång med OpenAI JavaScript SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.
Denna SDK tillhandahålls av OpenAI med Azure-specifika typer som tillhandahålls av Azure.
Referensdokumentation Bibliotek källkodspaket | (npm)Exempel | |
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- LTS-versioner av Node.js
- TypeScript
- Azure CLI används för lösenordslös autentisering i en lokal utvecklingsmiljö och skapar den nödvändiga kontexten genom att logga in med Azure CLI.
- En Azure OpenAI-resurs som skapats i en region som stöds (se Regiontillgänglighet). Mer information finns i Skapa en resurs och distribuera en modell med Azure OpenAI.
Kommentar
Det här biblioteket underhålls av OpenAI. Se versionshistoriken för att spåra de senaste uppdateringarna i biblioteket.
Krav för Microsoft Entra-ID
För den rekommenderade nyckellösa autentiseringen med Microsoft Entra-ID måste du:
- Installera Azure CLI som används för nyckellös autentisering med Microsoft Entra-ID.
-
Cognitive Services User
Tilldela rollen till ditt användarkonto. Du kan tilldela roller i Azure Portal under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.
Hämta resursinformation
Du måste hämta följande information för att autentisera ditt program med din Azure OpenAI-resurs:
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Det här värdet finns i avsnittet Nycklar och slutpunkter när du undersöker din resurs från Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Det här värdet motsvarar det anpassade namn som du valde för distributionen när du distribuerade en modell. Det här värdet finns under Resurshanteringsmodelldistributioner> i Azure Portal. |
OPENAI_API_VERSION |
Läs mer om API-versioner. |
Läs mer om nyckellös autentisering och inställning av miljövariabler.
Varning
Om du vill använda den rekommenderade nyckellösa autentiseringen med SDK:t kontrollerar du att AZURE_OPENAI_API_KEY
miljövariabeln inte har angetts.
Skapa ett Node-program
Skapa en ny katalog för din app i ett konsolfönster (till exempel cmd, PowerShell eller bash) och navigera till den. Kör npm init
sedan kommandot för att skapa ett nodprogram med en package.json fil.
npm init
Installera klientbiblioteket
Installera klientbiblioteken med:
npm install openai @azure/identity
Appens package.json-fil uppdateras med beroendena.
Skapa ett nytt JavaScript-program för avbildningsprompter
Välj en bild från azure-samples/cognitive-services-sample-data-files och ange URL:en för en bild i miljövariablerna.
Skapa en quickstart.ts och klistra in följande 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); });
Gör följande ändringar:
- Ange namnet på din GPT-4 Turbo med Vision-distribution i lämpligt fält.
- Ändra värdet för fältet
"url"
till URL:en för din bild.Dricks
Du kan också använda grundläggande 64-kodade bilddata i stället för en URL. Mer information finns i guiden GPT-4 Turbo med vision.
Skapa programmet med följande kommando:
tsc
Kör programmet med följande kommando:
node quickstart.js
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.
Använd den här artikeln för att komma igång med Azure OpenAI .NET SDK för att distribuera och använda GPT-4 Turbo med Vision-modellen.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- The .NET 8.0 SDK
- En Azure OpenAI Service-resurs med en GPT-4 Turbo med Vision-modell distribuerad. Se GPT-4- och GPT-4 Turbo Preview-modelltillgänglighet för tillgängliga regioner. Mer information om hur du skapar resurser finns i guiden för resursdistribution.
Konfigurera
Hämta nyckel och slutpunkt
Om du vill göra ett anrop mot Azure OpenAI behöver du en slutpunkt och en nyckel.
Variabelnamn | Värde |
---|---|
AZURE_OPENAI_ENDPOINT |
Tjänstslutpunkten finns i avsnittet Nycklar och slutpunkter när du undersöker resursen från Azure Portal. Du kan också hitta slutpunkten via sidan Distributioner i Azure AI Foundry-portalen. En exempelslutpunkt är: https://docs-test-001.openai.azure.com/ . |
AZURE_OPENAI_API_KEY |
Det här värdet finns i avsnittet Nycklar och slutpunkt när du undersöker resursen från Azure-portalen. Du kan använda antingen KEY1 eller KEY2 . |
Gå till resursen i Azure Portal. Slutpunkten och nycklarna finns i avsnittet Resurshantering . Kopiera slutpunkten och åtkomstnyckeln när du behöver båda för att autentisera dina API-anrop. Du kan använda antingen KEY1
eller KEY2
. Om du alltid har två nycklar kan du rotera och återskapa nycklar på ett säkert sätt utan att orsaka avbrott i tjänsten.
Skapa .NET-appen
Skapa en .NET-app med kommandot
dotnet new
:dotnet new console -n OpenAISpeech
Ändra till katalogen för den nya appen:
cd OpenAISpeech
Installera klientbiblioteket
Azure.OpenAI
Installera klientbiblioteket:
dotnet add package Azure.AI.OpenAI
Lösenordsfri autentisering rekommenderas
Lösenordsfri autentisering är säkrare än nyckelbaserade alternativ och är den rekommenderade metoden för att ansluta till Azure-tjänster. Om du väljer att använda lösenordslös autentisering måste du slutföra följande:
Lägg till paketet
Azure.Identity
.dotnet add package Azure.Identity
Cognitive Services User
Tilldela rollen till ditt användarkonto. Detta kan göras i Azure Portal på din OpenAI-resurs under Åtkomstkontroll (IAM)>Lägg till rolltilldelning.Logga in på Azure med Visual Studio eller Azure CLI via
az login
.
Uppdatera appkoden
Ersätt innehållet i
program.cs
med följande kod och uppdatera platshållarvärdena med dina egna.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}");
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Använd API-nycklar med försiktighet. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt. Om du använder API-nycklar lagrar du dem säkert i Azure Key Vault, roterar nycklarna regelbundet och begränsar åtkomsten till Azure Key Vault med hjälp av rollbaserad åtkomstkontroll och begränsningar för nätverksåtkomst. Mer information om hur du använder API-nycklar på ett säkert sätt i dina appar finns i API-nycklar med Azure Key Vault.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Kör programmet med hjälp av
dotnet run
kommandot eller körningsknappen överst i Visual Studio:dotnet run
Appen genererar en ljudfil på den plats som du angav för variabeln speechFilePath
. Spela upp filen på enheten för att höra det genererade ljudet.
Rensa resurser
Om du vill rensa och ta bort en Azure OpenAI-resurs kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort.