Bagikan melalui


Mulai cepat: Menggunakan gambar di obrolan AI Anda

Mulai menggunakan gambar di obrolan Anda dengan Azure OpenAI di Microsoft Foundry Models.

Penting

Biaya penggunaan tambahan mungkin berlaku saat menggunakan model penyelesaian obrolan dengan fungsionalitas visi.

Gunakan artikel ini untuk mulai menggunakan Microsoft Foundry untuk menyebarkan dan menguji model penyelesaian obrolan dengan pemahaman gambar.

Prasyarat

Siapkan media Anda

Anda memerlukan gambar untuk menyelesaikan panduan cepat ini. Anda dapat menggunakan gambar sampel ini atau gambar lain yang telah Anda sediakan.

Foto kecelakaan mobil yang dapat digunakan untuk menyelesaikan mulai cepat.

Pergi ke Foundry

  1. Telusuri ke Foundry dan masuk dengan kredensial yang terkait dengan sumber daya Azure OpenAI Anda. Selama atau setelah alur kerja masuk, pilih direktori, langganan Azure, dan sumber daya Azure OpenAI yang sesuai.
  2. Pilih proyek yang ingin Anda kerjakan.
  3. Di menu navigasi kiri, pilih Model + titik akhir dan pilih + Sebarkan model.
  4. Pilih penyebaran berkemampuan gambar dengan memilih nama model: gpt-4o atau gpt-4o-mini. Di jendela yang muncul, pilih nama dan jenis penyebaran. Pastikan sumber daya Azure OpenAI Anda tersambung. Untuk informasi lebih lanjut tentang penerapan model, lihat panduan penerapan sumber daya.
  5. Pilih Sebarkan.
  6. Selanjutnya, pilih model baru Anda dan pilih Buka di playground. Di ruang obrolan, penyebaran yang Anda buat harus dipilih di dropdown Penyebaran.

Taman Bermain

Dalam sesi obrolan ini, Anda menginstruksikan asisten untuk membantu Anda dalam memahami gambar yang Anda masukkan.

Untuk bantuan umum terkait penyiapan asisten, sesi obrolan, pengaturan, dan panel, lihat Panduan Memulai Obrolan Cepat.

Memulai sesi obrolan untuk menganalisis gambar

Dalam sesi obrolan ini, Anda menginstruksikan asisten untuk membantu memahami gambar yang Anda masukkan.

  1. Untuk memulai, pastikan penyebaran berkemampuan gambar Anda dipilih di menu dropdown Penyebaran .

  2. Dalam kotak teks konteks pada panel Penyiapan , berikan perintah ini untuk memandu asisten: "You're an AI assistant that helps people find information." Atau, Anda dapat menyesuaikan perintah dengan gambar atau skenario Anda.

    Nota

    Sebaiknya perbarui Pesan Sistem agar spesifik untuk tugas untuk menghindari respons yang tidak membantu dari model.

  3. Pilih Terapkan perubahan untuk menyimpan perubahan Anda.

  4. Di panel sesi obrolan, pilih tombol lampiran lalu Unggah gambar. Pilih gambar Anda.

  5. Tambahkan perintah berikut di bidang obrolan: Describe this image, lalu pilih ikon kirim untuk mengirimkannya.

  6. Ikon kirim digantikan oleh tombol berhenti. Jika Anda memilihnya, asisten berhenti memproses permintaan Anda. Untuk panduan cepat ini, biarkan asisten menyelesaikan balasannya.

  7. Asisten membalas dengan deskripsi gambar.

  8. Ajukan pertanyaan tindak lanjut terkait analisis gambar Anda. Anda bisa masuk, "What should I highlight about this image to my insurance company?".

  9. Anda akan menerima respons yang relevan mirip dengan apa yang ditunjukkan di sini:

    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.
    

Menampilkan dan mengekspor kode

Kapan saja dalam sesi obrolan, Anda dapat mengaktifkan tombol Tampilkan JSON mentah di bagian atas jendela obrolan untuk melihat percakapan yang diformat sebagai JSON. Inilah tampilan di awal sesi obrolan cepat:

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Gunakan artikel ini untuk mulai menggunakan REST API Azure OpenAI untuk menyebarkan dan menggunakan model obrolan yang mendukung visi.

Prasyarat

Nota

Saat ini tidak didukung untuk menonaktifkan pemfilteran konten untuk model GPT-4 Turbo dengan Vision.

Ambil kunci dan titik akhir

Agar berhasil memanggil API Azure OpenAI, Anda memerlukan informasi berikut tentang sumber daya Azure OpenAI Anda:

Variabel Nama Nilai
Titik Akhir api_base Nilai titik akhir terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Anda juga dapat menemukan titik akhir melalui halaman Penyebaran di portal Foundry. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
Kunci api_key Nilai kunci juga terletak di bawah Kunci dan Titik Akhir untuk sumber daya Anda di portal Azure. Azure menghasilkan dua kunci untuk sumber daya Anda. Anda dapat menggunakan salah satu nilai.

Buka sumber daya Anda di portal Azure. Pada panel navigasi, pilih Titik Akhir dan Kunci di bawah Manajemen Sumber Daya. Salin nilai Titik akhir dan nilai kunci akses. Anda dapat menggunakan nilai KEY 1 atau KEY 2 . Memiliki dua kunci memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar yang memperlihatkan halaman Kunci dan Titik Akhir untuk sumber daya Azure OpenAI di portal Azure.

Membuat aplikasi Python baru

Buat file Python baru bernama quickstart.py. Buka file baru di editor atau IDE pilihan Anda.

  1. Ganti konten quickstart.py dengan kode berikut.

    # 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)
    
  2. Buat perubahan berikut:

    1. Masukkan URL dan kunci titik akhir Anda di bidang yang sesuai.
    2. Masukkan nama penempatan model Anda di kolom yang sesuai.
    3. Ubah nilai "image" bidang menjadi URL gambar Anda yang dapat diakses publik.

      Petunjuk / Saran

      Anda juga dapat menggunakan data gambar yang dikodekan dalam base 64 alih-alih URL. Untuk informasi selengkapnya, lihat panduan cara mengobrol Visi.

  3. Jalankan aplikasi dengan python perintah:

    python quickstart.py
    

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Gunakan artikel ini untuk mulai menggunakan Azure OpenAI Python SDK untuk menyebarkan dan menggunakan model obrolan berkemampuan visi.

Kode sumber pustaka | Paket (PyPi) |

Prasyarat

  • Sebuah langganan Azure. Buat akun gratis.
  • Python 3.8 atau versi yang lebih baru.
  • Pustaka Python berikut: os
  • Sebuah sumber daya Azure OpenAI dalam Microsoft Foundry Models dengan model obrolan yang dilengkapi fungsi visi yang diimplementasikan. Lihat Ketersediaan model untuk wilayah yang tersedia. Untuk informasi selengkapnya tentang pembuatan sumber daya, lihat panduan penyebaran sumber daya.

Pengaturan

Instal pustaka klien OpenAI Python dengan:

pip install openai

Nota

Pustaka ini dikelola oleh OpenAI. Lihat riwayat rilis untuk melacak pembaruan terbaru di pustaka.

Ambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Titik akhir layanan dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Azure. Atau, Anda dapat menemukan titik akhir melalui halaman Penyebaran di portal Microsoft Foundry. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

Penting

Kami merekomendasikan autentikasi ID Microsoft Entra dengan identitas terkelola untuk sumber daya Azure untuk menghindari penyimpanan kredensial dengan aplikasi Anda yang berjalan di cloud.

Gunakan kunci API dengan hati-hati. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik. Jika menggunakan kunci API, simpan dengan aman di Azure Key Vault, putar kunci secara teratur, dan batasi akses ke Azure Key Vault menggunakan kontrol akses berbasis peran dan pembatasan akses jaringan. Untuk informasi selengkapnya tentang menggunakan kunci API dengan aman di aplikasi Anda, lihat Kunci API dengan Azure Key Vault.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi Python baru

Buat file Python baru bernama quickstart.py. Buka file baru di editor atau IDE pilihan Anda.

  1. Ganti konten quickstart.py dengan kode berikut.

    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)
    
  2. Buat perubahan berikut:

    1. Masukkan nama dari deployment model Anda pada kolom yang sesuai.
    2. Ubah nilai "url" bidang menjadi URL gambar Anda yang dapat diakses publik.

      Petunjuk / Saran

      Anda juga dapat menggunakan data gambar yang dikodekan dalam base 64 alih-alih URL. Untuk informasi selengkapnya, lihat panduan cara mengobrol Visi.

  3. Jalankan aplikasi dengan python perintah:

    python quickstart.py
    

Penting

Gunakan kunci API dengan hati-hati. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik. Jika Anda menggunakan kunci API, simpan dengan aman di Azure Key Vault. Untuk informasi selengkapnya tentang menggunakan kunci API dengan aman di aplikasi Anda, lihat Kunci API dengan Azure Key Vault.

Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Gunakan artikel ini untuk mulai menggunakan OpenAI JavaScript SDK untuk menyebarkan dan menggunakan model obrolan yang mendukung visi.

SDK ini disediakan oleh OpenAI dengan jenis spesifik Azure yang disediakan oleh Azure.

Dokumentasi referensi | Kode sumber pustaka | Paket (npm) | Sampel

Prasyarat

Nota

Pustaka ini dikelola oleh OpenAI. Lihat riwayat rilis untuk melacak pembaruan terbaru di pustaka.

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder vision-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Buat package.json dengan perintah berikut:

    npm init -y
    
  3. Instal pustaka klien OpenAI untuk JavaScript dengan:

    npm install openai
    
  4. Untuk autentikasi tanpa kata sandi yang direkomendasikan :

    npm install @azure/identity
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Perhatian

Untuk menggunakan autentikasi tanpa kunci yang direkomendasikan dengan SDK, pastikan variabel AZURE_OPENAI_API_KEY lingkungan tidak diatur.

Membuat aplikasi JavaScript baru untuk perintah gambar

Pilih gambar dari azure-samples/cognitive-services-sample-data-files. Masukkan URL gambar yang dapat diakses publik Anda dalam kode di bawah ini atau atur IMAGE_URL variabel lingkungan ke dalamnya.

Penting

Jika Anda menggunakan URL SAS ke gambar yang disimpan di penyimpanan blob Azure, Anda perlu mengaktifkan Identitas Terkelola dan menetapkan peran Pembaca Blob Penyimpanan ke sumber daya Azure OpenAI Anda (lakukan ini di portal Microsoft Azure). Ini memungkinkan model untuk mengakses gambar dalam penyimpanan blob.

Petunjuk / Saran

Anda juga dapat menggunakan data gambar yang dikodekan dalam base 64 alih-alih URL. Untuk informasi selengkapnya, lihat panduan cara mengobrol Visi.

  1. index.js Buat file dengan kode berikut:

    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);
    });
    
  2. Masuk ke Azure dengan perintah berikut:

    az login
    
  3. Jalankan file JavaScript.

    node index.js
    

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Gunakan artikel ini untuk mulai menggunakan OpenAI JavaScript SDK untuk menyebarkan dan menggunakan model obrolan yang mendukung visi.

SDK ini disediakan oleh OpenAI dengan jenis spesifik Azure yang disediakan oleh Azure.

Dokumentasi referensi | Kode sumber pustaka | Paket (npm) | Sampel

Prasyarat

Nota

Pustaka ini dikelola oleh OpenAI. Lihat riwayat rilis untuk melacak pembaruan terbaru di pustaka.

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder vision-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Buat package.json dengan perintah berikut:

    npm init -y
    
  3. package.json Perbarui ke ECMAScript dengan perintah berikut:

    npm pkg set type=module
    
  4. Instal pustaka klien OpenAI untuk JavaScript dengan:

    npm install openai
    
  5. Untuk autentikasi tanpa kata sandi yang direkomendasikan :

    npm install @azure/identity
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Perhatian

Untuk menggunakan autentikasi tanpa kunci yang direkomendasikan dengan SDK, pastikan variabel AZURE_OPENAI_API_KEY lingkungan tidak diatur.

Membuat aplikasi JavaScript baru untuk perintah gambar

Pilih gambar dari azure-samples/cognitive-services-sample-data-files. Gunakan URL gambar dalam kode di bawah ini atau atur IMAGE_URL variabel lingkungan ke URL gambar.

Petunjuk / Saran

Anda juga dapat menggunakan data gambar yang dikodekan dalam base 64 alih-alih URL. Untuk informasi selengkapnya, lihat panduan cara mengobrol Visi.

  1. index.ts Buat file dengan kode berikut:

    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);
    });
    
  2. tsconfig.json Buat file untuk menerjemahkan kode TypeScript dan salin kode berikut untuk 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"]
    }
    
  3. Transpile dari TypeScript ke JavaScript.

    tsc
    
  4. Masuk ke Azure dengan perintah berikut:

    az login
    
  5. Jalankan kode dengan perintah berikut:

    node index.js
    

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.

Gunakan artikel ini untuk mulai menggunakan Azure OpenAI .NET SDK untuk menyebarkan dan menggunakan model obrolan yang mendukung visi.

Prasyarat

  • Sebuah langganan Azure. Anda dapat membuatnya secara gratis.
  • The .NET 8.0 SDK
  • Sebuah sumber daya Azure OpenAI dalam Microsoft Foundry Models dengan model obrolan yang dilengkapi fungsi visi yang diimplementasikan. Lihat Ketersediaan model untuk wilayah yang tersedia. Untuk informasi selengkapnya tentang pembuatan sumber daya, lihat panduan penyebaran sumber daya.

Prasyarat ID Microsoft Entra

Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, Anda perlu:

  • Instal Azure CLI yang digunakan untuk autentikasi tanpa kunci dengan ID Microsoft Entra.
  • Tetapkan peran Cognitive Services User ke akun pengguna Anda. Anda dapat menetapkan peran di portal Microsoft Azure di bawah Kontrol akses (IAM)>Menambahkan penetapan peran.

Pengaturan

  1. Buat folder vision-quickstart baru dan buka folder mulai cepat dengan perintah berikut:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Buat aplikasi konsol baru dengan perintah berikut:

    dotnet new console
    
  3. Pasang pustaka klien OpenAI .NET dengan perintah 'dotnet add package':

    dotnet add package Azure.AI.OpenAI
    
  4. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, instal paket Azure.Identity dengan:

    dotnet add package Azure.Identity
    
  5. Untuk autentikasi tanpa kunci yang direkomendasikan dengan ID Microsoft Entra, masuk ke Azure dengan perintah berikut:

    az login
    

Mengambil informasi sumber daya

Anda perlu mengambil informasi berikut untuk mengautentikasi aplikasi Anda dengan sumber daya Azure OpenAI Anda:

Nama variabel Nilai
AZURE_OPENAI_ENDPOINT Nilai ini dapat ditemukan di bagian Keys dan Endpoint saat memeriksa sumber daya Anda di portal Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Nilai ini akan sesuai dengan nama kustom yang Anda pilih ketika menerapkan model. Nilai ini dapat ditemukan di bawahPenyebaran Model Manajemen >Sumber Dayadi portal Microsoft Azure.

Pelajari selengkapnya tentang autentikasi tanpa kunci dan mengatur variabel lingkungan.

Jalankan mulai cepat

Kode sampel dalam panduan memulai cepat ini menggunakan Microsoft Entra ID untuk autentikasi tanpa kunci yang direkomendasikan. Jika Anda lebih suka menggunakan kunci API, Anda dapat mengganti DefaultAzureCredential objek dengan AzureKeyCredential objek.

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Untuk menjalankan mulai cepat, ikuti langkah-langkah berikut:

  1. Gantilah isi Program.cs dengan kode berikut dan perbarui nilai placeholder dengan nilai Anda sendiri.

    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}");
    
  2. Ganti YOUR_IMAGE_URL dengan gambar yang dapat diakses publik yang ingin Anda unggah.

  3. Jalankan aplikasi menggunakan dotnet run perintah atau tombol jalankan di bagian atas Visual Studio:

    dotnet run
    

Keluaran

Output aplikasi akan menjadi deskripsi gambar yang Anda berikan dalam imageUri variabel. Asisten akan menganalisis gambar dan memberikan deskripsi terperinci berdasarkan kontennya.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus kelompok sumber daya juga akan menghapus sumber daya lain yang terkait dengannya.