Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Ga aan de slag met afbeeldingen in uw chats met Azure OpenAI in Azure AI Foundry Models.
Belangrijk
Extra gebruikskosten kunnen van toepassing zijn bij het gebruik van modellen voor chatvoltooiing met vision-functionaliteit.
Gebruik dit artikel om aan de slag te gaan met Azure AI Foundry om een voltooiingsmodel voor chats te implementeren en te testen met begrip van afbeeldingen.
Vereiste voorwaarden
- Een Azure-abonnement. Maak gratis een account.
- Zodra u uw Azure-abonnement hebt, maakt u een Azure OpenAI-resource . Zie de handleiding voor resource-implementatie voor meer informatie over het maken van resources.
- Een Azure AI Foundry-project met uw Azure OpenAI-resource toegevoegd als verbinding.
Uw media voorbereiden
U hebt een installatiekopieën nodig om deze quickstart te voltooien. U kunt deze voorbeeldafbeelding of een andere afbeelding gebruiken die u beschikbaar hebt.
Ga naar Azure AI Foundry
- Blader naar Azure AI Foundry en meld u aan met de referenties die zijn gekoppeld aan uw Azure OpenAI-resource. Selecteer tijdens of na de aanmeldingswerkstroom de juiste map, het Azure-abonnement en de Azure OpenAI-resource.
- Selecteer het project waarin u wilt werken.
- Selecteer modellen en eindpunten in het linkernavigatiemenu en selecteer + Model implementeren.
- Kies een implementatie die geschikt is voor installatiekopieën door de modelnaam te selecteren: gpt-4o of gpt-4o-mini. Selecteer een naam en implementatietype in het venster dat wordt weergegeven. Zorg ervoor dat uw Azure OpenAI-resource is verbonden. Zie de gids implementatiemodellen voor meer informatie over de implementatiemodellen.
- Selecteer Implementeren.
- Selecteer vervolgens uw nieuwe model en selecteer Openen in speeltuin. In de chatspeeltuin moet de implementatie die u hebt gemaakt, worden geselecteerd in de vervolgkeuzelijst Implementatie .
Speelplaats
In deze chatsessie geeft u de assistent instructies om u te helpen bij het begrijpen van afbeeldingen die u invoert.
Raadpleeg de quickstart voor chatsessies, instellingen en panelen voor algemene hulp bij het instellen van assistenten, chatsessies, instellingen en panelen.
Een chatsessie starten om afbeeldingen te analyseren
In deze chatsessie geeft u de assistent instructies om inzicht te krijgen in afbeeldingen die u invoert.
Controleer eerst of de implementatie die geschikt is voor installatiekopieën is geselecteerd in de vervolgkeuzelijst Implementatie .
Geef in het contexttekstvak in het installatievenster deze prompt op om de assistent te begeleiden:
"You're an AI assistant that helps people find information."Of u kunt de prompt aanpassen aan uw afbeelding of scenario.Opmerking
U wordt aangeraden het systeembericht zo bij te werken dat dit specifiek is voor de taak om onhulpzame reacties van het model te voorkomen.
Selecteer Wijzigingen toepassen om uw wijzigingen op te slaan.
Selecteer in het chatsessievenster de knop Bijlage en upload vervolgens de afbeelding. Kies uw afbeelding.
Voeg de volgende prompt toe in het chatveld:
Describe this imageen selecteer vervolgens het verzendpictogram om deze in te dienen.Het verzendpictogram wordt vervangen door een stopknop. Als u deze selecteert, stopt de assistent met het verwerken van uw aanvraag. Laat de assistent voor deze quickstart het antwoord voltooien.
De assistent reageert met een beschrijving van de afbeelding.
Stel een vervolgvraag met betrekking tot de analyse van uw afbeelding. U kunt invoeren,
"What should I highlight about this image to my insurance company?".U moet een relevant antwoord ontvangen dat lijkt op wat hier wordt weergegeven:
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.
Code weergeven en exporteren
Op elk gewenst moment in de chatsessie kunt u de onbewerkte JSON-switch weergeven boven aan het chatvenster inschakelen om het gesprek te zien dat is opgemaakt als JSON. Dit ziet er als volgt uit aan het begin van de quickstart-chatsessie:
[
{
"role": "system",
"content": [
"You are an AI assistant that helps people find information."
]
},
]
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik dit artikel om aan de slag te gaan met de Azure OpenAI REST API's voor het implementeren en gebruiken van chatmodellen met vision-functionaliteit.
Vereiste voorwaarden
- Een Azure-abonnement. Maak gratis een account.
- Python 3.8 of nieuwere versie.
- De volgende Python-bibliotheken:
requests,json. - Een Azure OpenAI in Azure AI Foundry Models-resource met een model met vision-functionaliteit geïmplementeerd. Bekijk de beschikbaarheid van modellen voor beschikbare regio's. Zie de handleiding voor resource-implementatie voor meer informatie over het maken van resources.
Opmerking
Het wordt momenteel niet ondersteund om het filteren van inhoud voor het GPT-4 Turbo with Vision-model uit te schakelen.
Sleutel en eindpunt ophalen
Als u de Azure OpenAI-API's wilt aanroepen, hebt u de volgende informatie nodig over uw Azure OpenAI-resource:
| Veranderlijk | Naam | Waarde |
|---|---|---|
| Eindpunt | api_base |
De eindpuntwaarde bevindt zich onder Sleutels en Eindpunt voor uw resource in Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/. |
| Sleutel | api_key |
De sleutelwaarde bevindt zich ook onder Sleutels en Eindpunt voor uw resource in Azure Portal. Azure genereert twee sleutels voor uw resource. U kunt beide waarden gebruiken. |
Ga naar uw resource in de Azure-portal. Selecteer sleutels en eindpunt in het navigatiedeelvenster onder Resourcebeheer. Kopieer de eindpuntwaarde en een toegangssleutelwaarde. U kunt de waarde KEY 1 of KEY 2 gebruiken. Als u twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder dat er een serviceonderbreking wordt veroorzaakt.
Maak een nieuwe Python-applicatie
Maak een nieuw Python-bestand met de naam quickstart.py. Open het nieuwe bestand in de gewenste editor of IDE.
Vervang de inhoud van quickstart.py door de volgende code.
# 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)Breng de volgende wijzigingen aan:
- Voer uw eindpunt-URL en -sleutel in de juiste velden in.
- Voer de naam van uw modelimplementatie in het juiste veld in.
- Wijzig de waarde van het
"image"veld in de openbaar toegankelijke URL van uw afbeelding.Aanbeveling
U kunt ook een met base 64 gecodeerde afbeeldingsgegevens gebruiken in plaats van een URL. Zie de instructies voor vision-chats voor meer informatie.
De toepassing uitvoeren met de opdracht
python:python quickstart.py
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik dit artikel om aan de slag te gaan met de Azure OpenAI Python SDK om een chatmodel met vision-functionaliteit te implementeren en te gebruiken.
| Broncodepakket bibliotheek (PyPi) |
Vereiste voorwaarden
- Een Azure-abonnement. Maak gratis een account.
- Python 3.8 of nieuwere versie.
- De volgende Python-bibliotheken:
os - Een Azure OpenAI-resource binnen Azure AI Foundry Models met een chatmodel dat voorzien is van vision-functionaliteit. Bekijk de beschikbaarheid van modellen voor beschikbare regio's. Zie de handleiding voor resource-implementatie voor meer informatie over het maken van resources.
Inrichten
Installeer de OpenAI Python-clientbibliotheek met:
pip install openai
Opmerking
Deze bibliotheek wordt onderhouden door OpenAI. Raadpleeg de releasegeschiedenis om de meest recente updates voor de bibliotheek bij te houden.
Sleutel en eindpunt ophalen
Als u azure OpenAI wilt aanroepen, hebt u een eindpunt en een sleutel nodig.
| Naam van de variabele | Waarde |
|---|---|
ENDPOINT |
Het service-eindpunt vindt u in de sectie Sleutels en eindpunten bij het controleren van uw resource vanuit Azure Portal. U kunt het eindpunt ook vinden via de pagina Implementaties in de Azure AI Foundry-portal. Een voorbeeldeindpunt is: https://docs-test-001.openai.azure.com/. |
API-KEY |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het onderzoeken van uw resource vanuit de Azure Portal. U kunt KEY1 of KEY2 gebruiken. |
Ga naar uw resource in de Azure-portal. De sectie Sleutels en eindpunt vindt u in de sectie Resourcebeheer . Kopieer uw eindpunt en toegangssleutel, omdat u beide nodig hebt voor het verifiëren van uw API-aanroepen. U kunt KEY1 of KEY2 gebruiken. Als u altijd twee sleutels hebt, kunt u sleutels veilig roteren en opnieuw genereren zonder een serviceonderbreking te veroorzaken.
Omgevingsvariabelen
Maak en wijs permanente omgevingsvariabelen toe voor uw sleutel en eindpunt.
Belangrijk
We raden Microsoft Entra ID-authenticatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat inloggegevens worden opgeslagen bij uw applicaties die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Maak een nieuwe Python-applicatie
Maak een nieuw Python-bestand met de naam quickstart.py. Open het nieuwe bestand in de gewenste editor of IDE.
Vervang de inhoud van quickstart.py door de volgende code.
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)Breng de volgende wijzigingen aan:
- Voer de naam van uw modelimplementatie in het juiste veld in.
- Wijzig de waarde van het
"url"veld in de openbaar toegankelijke URL van uw afbeelding.Aanbeveling
U kunt ook een met base 64 gecodeerde afbeeldingsgegevens gebruiken in plaats van een URL. Zie de instructies voor vision-chats voor meer informatie.
De toepassing uitvoeren met de opdracht
python:python quickstart.py
Belangrijk
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u een API-sleutel gebruikt, slaat u deze veilig op in Azure Key Vault. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik dit artikel om aan de slag te gaan met de OpenAI JavaScript SDK om een chatmodel met vision-functionaliteit te implementeren en te gebruiken.
Deze SDK wordt geleverd door OpenAI met Azure-specifieke typen die worden geleverd door Azure.
Referentiedocumentatie | Broncode bibliotheek | Pakket (npm) | Voorbeelden
Vereiste voorwaarden
- Een Azure-abonnement - Een gratis abonnement maken
- LTS-versies van Node.js
- Azure CLI die wordt gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie beschikbaarheid van regio's). Zie Een resource maken en een model implementeren met Azure OpenAI voor meer informatie.
Opmerking
Deze bibliotheek wordt onderhouden door OpenAI. Raadpleeg de releasegeschiedenis om de meest recente updates voor de bibliotheek bij te houden.
Vereisten voor Microsoft Entra-id
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.
Inrichten
Maak een nieuwe map
vision-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir vision-quickstart && cd vision-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yInstalleer de OpenAI-clientbibliotheek voor JavaScript met:
npm install openaiVoor de aanbevolen verificatie zonder wachtwoord:
npm install @azure/identity
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Naam van de variabele | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Waarschuwing
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.
Een nieuwe JavaScript-toepassing maken voor prompts voor installatiekopieën
Selecteer een afbeelding in de azure-samples/cognitive-services-sample-data-files. Voer de openbaar toegankelijke afbeeldings-URL in de onderstaande code in of stel de IMAGE_URL omgevingsvariabele in.
Belangrijk
Als u een SAS-URL gebruikt voor een afbeelding die is opgeslagen in Azure Blob Storage, moet u Managed Identity inschakelen en de rol Opslagbloblezer toewijzen aan uw Azure OpenAI-resource (doe dit in de Azure Portal). Hierdoor kan het model toegang krijgen tot de afbeelding in blobopslag.
Aanbeveling
U kunt ook een met base 64 gecodeerde afbeeldingsgegevens gebruiken in plaats van een URL. Zie de instructies voor vision-chats voor meer informatie.
Maak het
index.jsbestand met de volgende code: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); });Meld u aan bij Azure met de volgende opdracht:
az loginVoer het JavaScript-bestand uit.
node index.js
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik dit artikel om aan de slag te gaan met de OpenAI JavaScript SDK om een chatmodel met vision-functionaliteit te implementeren en te gebruiken.
Deze SDK wordt geleverd door OpenAI met Azure-specifieke typen die worden geleverd door Azure.
Referentiedocumentatie | Broncode bibliotheek | Pakket (npm) | Voorbeelden
Vereiste voorwaarden
- Een Azure-abonnement - Een gratis abonnement maken
- LTS-versies van Node.js
- TypeScript
- Azure CLI die wordt gebruikt voor verificatie zonder wachtwoord in een lokale ontwikkelomgeving, maakt de benodigde context door u aan te melden met de Azure CLI.
- Een Azure OpenAI-resource die is gemaakt in een ondersteunde regio (zie beschikbaarheid van regio's). Zie Een resource maken en een model implementeren met Azure OpenAI voor meer informatie.
Opmerking
Deze bibliotheek wordt onderhouden door OpenAI. Raadpleeg de releasegeschiedenis om de meest recente updates voor de bibliotheek bij te houden.
Vereisten voor Microsoft Entra-id
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.
Inrichten
Maak een nieuwe map
vision-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir vision-quickstart && cd vision-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yWerk de
package.jsonbij naar ECMAScript met het volgende commando:npm pkg set type=moduleInstalleer de OpenAI-clientbibliotheek voor JavaScript met:
npm install openaiVoor de aanbevolen verificatie zonder wachtwoord:
npm install @azure/identity
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Naam van de variabele | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
Waarschuwing
Als u de aanbevolen sleutelloze verificatie met de SDK wilt gebruiken, moet u ervoor zorgen dat de AZURE_OPENAI_API_KEY omgevingsvariabele niet is ingesteld.
Een nieuwe JavaScript-toepassing maken voor prompts voor installatiekopieën
Selecteer een afbeelding in de azure-samples/cognitive-services-sample-data-files. Gebruik de afbeeldings-URL in de onderstaande code of stel de IMAGE_URL omgevingsvariabele in op de afbeeldings-URL.
Aanbeveling
U kunt ook een met base 64 gecodeerde afbeeldingsgegevens gebruiken in plaats van een URL. Zie de instructies voor vision-chats voor meer informatie.
Maak het
index.tsbestand met de volgende code: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); });Maak het
tsconfig.jsonbestand om de TypeScript-code te transpileren en kopieer de volgende code voor 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"] }Transpile van TypeScript naar JavaScript.
tscMeld u aan bij Azure met de volgende opdracht:
az loginVoer de code uit met de volgende opdracht:
node index.js
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Gebruik dit artikel om aan de slag te gaan met de Azure OpenAI .NET SDK voor het implementeren en gebruiken van een chatmodel met vision-functionaliteit.
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- De .NET 8.0 SDK
- Een Azure OpenAI-resource binnen Azure AI Foundry Models met een chatmodel dat voorzien is van vision-functionaliteit. Bekijk de beschikbaarheid van modellen voor beschikbare regio's. Zie de handleiding voor resource-implementatie voor meer informatie over het maken van resources.
Vereisten voor Microsoft Entra-id
Voor de aanbevolen sleutelloze verificatie met Microsoft Entra-id moet u het volgende doen:
- Installeer de Azure CLI die wordt gebruikt voor sleutelloze verificatie met Microsoft Entra-id.
- Wijs de
Cognitive Services Userrol toe aan uw gebruikersaccount. U kunt rollen toewijzen in Azure Portal onder Toegangsbeheer (IAM)>Roltoewijzing toevoegen.
Inrichten
Maak een nieuwe map
vision-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir vision-quickstart && cd vision-quickstartMaak een nieuwe consoletoepassing met de volgende opdracht:
dotnet new consoleInstalleer de OpenAI .NET-clientbibliotheek met de opdracht dotnet add package :
dotnet add package Azure.AI.OpenAIVoor de aanbevolen sleutelloze verificatie met Microsoft Entra ID installeert u het Azure.Identity-pakket met:
dotnet add package Azure.IdentityMeld u met de volgende opdracht aan bij Azure voor de aanbevolen sleutelloze verificatie met Microsoft Entra ID:
az login
Resourcegegevens ophalen
U moet de volgende informatie ophalen om uw toepassing te verifiëren met uw Azure OpenAI-resource:
| Naam van de variabele | Waarde |
|---|---|
AZURE_OPENAI_ENDPOINT |
Deze waarde vindt u in de sectie Sleutels en eindpunt bij het controleren van uw resource vanuit Azure Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Deze waarde komt overeen met de aangepaste naam die u hebt gekozen voor uw implementatie toen u een model hebt geïmplementeerd. Deze waarde vindt u onder Resource Management>Model Deployments in Azure Portal. |
Meer informatie over sleutelloze verificatie en het instellen van omgevingsvariabelen.
De quickstart uitvoeren
De voorbeeldcode in deze quickstart maakt gebruik van Microsoft Entra-id voor de aanbevolen sleutelloze verificatie. Als u liever een API-sleutel gebruikt, kunt u het DefaultAzureCredential object vervangen door een AzureKeyCredential object.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Voer de volgende stappen uit om de quickstart uit te voeren:
Vervang de inhoud van
Program.csdoor de volgende code en vervang de waarden van de tijdelijke aanduidingen met uw eigen waarden.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}");Vervang
YOUR_IMAGE_URLdoor de openbaar toegankelijke afbeelding die u wilt uploaden.Voer de toepassing uit met behulp van de
dotnet runopdracht of de knop Uitvoeren bovenaan Visual Studio:dotnet run
Uitvoer
De uitvoer van de toepassing is een beschrijving van de afbeelding die u in de imageUri variabele hebt opgegeven. De assistent analyseert de afbeelding en geeft een gedetailleerde beschrijving op basis van de inhoud.
De hulpbronnen opschonen
Als u een Azure OpenAI-resource wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle andere resources verwijderd die eraan zijn gekoppeld.
Verwante inhoud
- Aan de slag met multimodal vision-chat-apps met azure OpenAI AI App-sjabloon
- Meer informatie over deze API's vindt u in de handleiding voor vision-modellen
- GPT-4 Turbo met Vision veelgestelde vragen
- GPT-4 Turbo met Vision-API-verwijzing