Aracılığıyla paylaş


Hızlı Başlangıç: Yapay zeka sohbetlerinizde görüntüleri kullanma

Azure AI Foundry Modellerinde Azure OpenAI ile sohbetlerinizde görüntüleri kullanmaya başlayın.

Önemli

Görüntü işleme işlevselliğine sahip sohbet tamamlama modelleri kullanılırken ek kullanım ücretleri uygulanabilir.

Görüntü anlama ile bir sohbet tamamlama modelini dağıtmak ve test etmek için Azure AI Foundry'yi kullanmaya başlamak için bu makaleyi kullanın.

Önkoşullar

  • Azure aboneliği. Ücretsiz bir tane oluşturun.
  • Azure aboneliğinizi aldıktan sonra, Kaynak oluşturma hakkında daha fazla bilgi için kaynak dağıtım kılavuzuna bakın.
  • Azure OpenAI kaynağınızın bağlantı olarak eklendiği bir Azure AI Foundry projesi .

Medyanızı hazırlama

Bu hızlı başlangıcı tamamlamak için bir görüntüye ihtiyacınız vardır. Bu örnek görüntüyü veya kullanabileceğiniz başka bir görüntüyü kullanabilirsiniz.

Hızlı başlangıcı tamamlamak için kullanılabilecek bir araba kazasının fotoğrafı.

Azure AI Foundry'ye gidin

  1. Azure AI Foundry'ye göz atın ve Azure OpenAI kaynağınızla ilişkili kimlik bilgileriyle oturum açın. Oturum açma iş akışı sırasında veya sonrasında uygun dizini, Azure aboneliğini ve Azure OpenAI kaynağını seçin.
  2. Çalışmak istediğiniz projeyi seçin.
  3. Sol gezinti menüsünde Modeller + uç noktalar'ı ve + Model dağıt'ı seçin.
  4. Model adını seçerek görüntü özellikli bir dağıtım seçin: gpt-4o veya gpt-4o-mini. Görüntülenen pencerede bir ad ve dağıtım türü seçin. Azure OpenAI kaynağınızın bağlı olduğundan emin olun. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
  5. Dağıt'ı seçin.
  6. Ardından yeni modelinizi seçin ve Oyun alanında aç'ı seçin. Sohbet oyun alanında, oluşturduğunuz dağıtım Dağıtım açılır menüsünden seçilmelidir.

Çocuk bahçesi

Bu sohbet oturumunda, yardımcıya giriş yaptığınız görüntüleri anlamanıza yardımcı olmasını emredersiniz.

Yardımcı kurulumu, sohbet oturumları, ayarlar ve panellerle ilgili genel yardım için Sohbet hızlı başlangıcına bakın.

Görüntüleri analiz etmek için sohbet oturumu başlatma

Bu sohbet oturumunda, yardımcıya sağladığınız görüntülerin anlaşılmasına yardımcı olması için talimat vereceksiniz.

  1. Başlamak için, Dağıtım açılır listesinden görüntü destekli dağıtımınızın seçili olduğundan emin olun.

  2. Kurulum panelindeki bağlam metin kutusunda, yardımcıya rehberlik etmek için şu istemi sağlayın: "You're an AI assistant that helps people find information." İsterseniz, istemi görüntünüze veya senaryonuza uyarlayabilirsiniz.

    Not

    Modelden gelen yararlı olmayan yanıtları önlemek için Sistem İletisi'ni göreve özgü olacak şekilde güncelleştirmenizi öneririz.

  3. Değişikliklerinizi kaydetmek için Değişiklikleri uygula'yı seçin.

  4. Sohbet oturumu bölmesinde ek düğmesini ve ardından Resmi karşıya yükle'yi seçin. Resminizi seçin.

  5. Sohbet alanına aşağıdaki istemi ekleyin: Describe this imageve ardından gönder simgesini seçerek gönderin.

  6. Gönder simgesinin yerini bir durdur düğmesi alır. Bunu seçerseniz, yardımcı isteğinizi işlemeyi durdurur. Bu hızlı başlangıç için yardımcının yanıtını bitirmesine izin verin.

  7. Yardımcı, resmin açıklamasını verir.

  8. Görüntünüzün analiziyle ilgili bir takip sorusu sorun. girebilirsiniz. "What should I highlight about this image to my insurance company?"

  9. Burada gösterilene benzer bir yanıt almanız gerekir:

    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.
    

Kodu görüntüleme ve dışarı aktarma

Sohbet oturumunun herhangi bir noktasında, konuşmanın JSON olarak biçimlendirildiğini görmek için sohbet penceresinin üst kısmındaki Ham JSON göster anahtarını etkinleştirebilirsiniz. Hızlı başlangıç sohbet oturumunun başında nasıl göründüğü aşağıda verilmiştir:

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

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Görüntü İşlemeli GPT-4 Turbo modelini dağıtmak ve kullanmak üzere Azure OpenAI REST API'lerini kullanmaya başlamak için bu makaleyi kullanın.

Önkoşullar

Not

Şu anda Görsel Model özellikli GPT-4 Turbo için içerik filtrelemeyi kapatmak desteklenmemektedir.

Anahtarı ve uç noktayı alma

Azure OpenAI API'lerini başarıyla çağırmak için Azure OpenAI kaynağınız hakkında aşağıdaki bilgilere ihtiyacınız vardır:

Değişken Adı Değer
Uç nokta api_base Uç nokta değeri, Azure portalında kaynağınız için Anahtarlar ve Uç Nokta altında bulunur. Uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasından da bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
Anahtar api_key Anahtar değeri, Azure portalında kaynağınız için Anahtarlar ve Uç Nokta altında da bulunur. Azure, kaynağınız için iki anahtar oluşturur. İki değerden birini kullanabilirsiniz.

Azure portalında kaynağınıza gidin. Gezinti bölmesinde Kaynak Yönetimi'nin altında Anahtarlar ve Uç Nokta'yı seçin. Uç nokta değerini ve erişim anahtarı değerini kopyalayın. ANAHTAR 1 veya ANAHTAR 2 değerini kullanabilirsiniz. İki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında bir Azure OpenAI kaynağının Anahtarlar ve Uç Nokta sayfasını gösteren ekran görüntüsü.

Yeni Python uygulaması oluşturma

quickstart.py adlı yeni bir Python dosyası oluşturun. Yeni dosyayı tercih ettiğiniz düzenleyicide veya IDE'de açın.

  1. quickstart.py içeriğini aşağıdaki kodla değiştirin.

    # 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. Aşağıdaki değişiklikleri yapın:

    1. Uygun alanlara uç nokta URL'nizi ve anahtarınızı girin.
    2. Uygun alana Görüntü İşleme dağıtım adıyla GPT-4 Turbo'nuzu girin.
    3. Alanın değerini "image" görüntünüzün URL'si olarak değiştirin.

      İpucu

      Url yerine temel 64 kodlanmış görüntü verilerini de kullanabilirsiniz. Daha fazla bilgi için GPT-4 Turbo with Vision nasıl yapılır rehberi'ne bakın.

  3. Uygulamayı şu komutla python çalıştırın:

    python quickstart.py
    

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Görüntü İşlemeli GPT-4 Turbo modelini dağıtmak ve kullanmak üzere Azure OpenAI Python SDK'sını kullanmaya başlamak için bu makaleyi kullanın.

Kitaplık kaynak kodu | Paket (PyPi) |

Önkoşullar

Kurulum

OpenAI Python istemci kitaplığını şu şekilde yükleyin:

pip install openai

Not

Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.

Anahtarı ve uç noktayı alma

Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.

Değişken adı Değer
ENDPOINT Hizmet uç noktası, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasında bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
API-KEY Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz.

Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1 veya KEY2 kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Önemli

Kimlik bilgilerini bulutta çalışan uygulamalarınızla depolamaktan kaçınmak için Azure kaynakları için yönetilen kimliklerle Microsoft Entra Id kimlik doğrulaması yapmanızı öneririz.

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarlarını kullanıyorsanız, bunları Azure Key Vault'ta güvenli bir şekilde depolayın, anahtarları düzenli olarak döndürün ve rol tabanlı erişim denetimi ve ağ erişim kısıtlamalarını kullanarak Azure Key Vault'a erişimi kısıtlayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz . Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Yeni Python uygulaması oluşturma

quickstart.py adlı yeni bir Python dosyası oluşturun. Yeni dosyayı tercih ettiğiniz düzenleyicide veya IDE'de açın.

  1. quickstart.py içeriğini aşağıdaki kodla değiştirin.

    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. Aşağıdaki değişiklikleri yapın:

    1. Uygun alana Vision özellikli GPT-4 Turbo dağıtımınızın adını girin.
    2. Alanın değerini "url" görüntünüzün URL'si olarak değiştirin.

      İpucu

      Url yerine temel 64 kodlanmış görüntü verilerini de kullanabilirsiniz. Daha fazla bilgi için GPT-4 Turbo with Vision nasıl yapılır rehberi'ne bakın.

  3. Uygulamayı şu komutla python çalıştırın:

    python quickstart.py
    

Önemli

API anahtarlarını dikkatli kullanın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin. API anahtarı kullanıyorsanız, bunu Azure Key Vault'ta güvenli bir şekilde depolayın. Uygulamalarınızda API anahtarlarını güvenli bir şekilde kullanma hakkında daha fazla bilgi için bkz . Azure Key Vault ile API anahtarları.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Görüntü İşlemeli GPT-4 Turbo modelini dağıtmak ve kullanmak üzere OpenAI JavaScript SDK'sını kullanmaya başlamak için bu makaleyi kullanın.

Bu SDK, OpenAI tarafından sağlanmıştır ve belirli Azure türleri ise Azure tarafından sağlanmaktadır.

Başvuru belgeleri | Kitaplık kaynak kodu | Paket (npm) | Örnekler

Önkoşullar

Not

Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Kurulum

  1. Yeni bir klasör vision-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Aşağıdaki komutla package.json oluşturun:

    npm init -y
    
  3. JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:

    npm install openai
    
  4. Önerilen parolasız kimlik doğrulaması için:

    npm install @azure/identity
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Bu değer, bir modeli dağıttığınızda dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi> altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Dikkat

SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY ayarlanmamış olduğundan emin olun.

Görüntü istemleri için yeni bir JavaScript uygulaması oluşturma

azure-samples/cognitive-services-sample-data-files içinden bir görüntü seçin. Aşağıdaki koddaki görüntü URL'sini kullanın veya ortam değişkenini IMAGE_URL görüntü URL'sine ayarlayın.

İpucu

Url yerine temel 64 kodlanmış görüntü verilerini de kullanabilirsiniz. Daha fazla bilgi için GPT-4 Turbo with Vision nasıl yapılır rehberi'ne bakın.

  1. index.js Dosyayı aşağıdaki kodla oluşturun:

    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 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);
    });
    
  2. Aşağıdaki komutla Azure'da oturum açın:

    az login
    
  3. JavaScript dosyasını çalıştırın.

    node index.js
    

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Görüntü İşlemeli GPT-4 Turbo modelini dağıtmak ve kullanmak üzere OpenAI JavaScript SDK'sını kullanmaya başlamak için bu makaleyi kullanın.

Bu SDK, OpenAI tarafından sağlanmıştır ve belirli Azure türleri ise Azure tarafından sağlanmaktadır.

Başvuru belgeleri | Kitaplık kaynak kodu | Paket (npm) | Örnekler

Önkoşullar

Not

Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Kurulum

  1. Yeni bir klasör vision-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Aşağıdaki komutla package.json oluşturun:

    npm init -y
    
  3. package.json aşağıdaki komut ile ECMAScript olarak güncelleyin:

    npm pkg set type=module
    
  4. JavaScript için OpenAI istemci kitaplığını şu şekilde yükleyin:

    npm install openai
    
  5. Önerilen parolasız kimlik doğrulaması için:

    npm install @azure/identity
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Bu değer, bir modeli dağıttığınızda dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi> altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Dikkat

SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY ayarlanmamış olduğundan emin olun.

Görüntü istemleri için yeni bir JavaScript uygulaması oluşturma

azure-samples/cognitive-services-sample-data-files içinden bir görüntü seçin. Aşağıdaki koddaki görüntü URL'sini kullanın veya ortam değişkenini IMAGE_URL görüntü URL'sine ayarlayın.

İpucu

Url yerine temel 64 kodlanmış görüntü verilerini de kullanabilirsiniz. Daha fazla bilgi için GPT-4 Turbo with Vision nasıl yapılır rehberi'ne bakın.

  1. index.ts Dosyayı aşağıdaki kodla oluşturun:

    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 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);
    });
    
  2. tsconfig.json dosyasını oluşturup TypeScript kodunu dönüştürmek için ECMAScript için aşağıdaki kodu kopyalayın.

    {
        "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. TypeScript'ten JavaScript'e dönüştürme.

    tsc
    
  4. Aşağıdaki komutla Azure'da oturum açın:

    az login
    
  5. Kodu aşağıdaki komutla çalıştırın:

    node index.js
    

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Görüntü İşlemeli GPT-4 Turbo modelini dağıtmak ve kullanmak üzere Azure OpenAI .NET SDK'sını kullanmaya başlamak için bu makaleyi kullanın.

Önkoşullar

Microsoft Entra Id önkoşulları

Microsoft Entra Id ile önerilen anahtarsız kimlik doğrulaması için şunları yapmanız gerekir:

Kurulum

  1. Yeni bir klasör vision-quickstart oluşturun ve aşağıdaki komutu kullanarak hızlı başlangıç klasörüne gidin:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Aşağıdaki komutla yeni bir konsol uygulaması oluşturun:

    dotnet new console
    
  3. OpenAI .NET istemci kitaplığınıdotnet add package komutuyla yükleyin:

    dotnet add package Azure.AI.OpenAI
    
  4. Microsoft Entra ID ile önerilen anahtarsız kimlik doğrulaması için Azure.Identity paketini şu şekilde yükleyin:

    dotnet add package Azure.Identity
    
  5. Microsoft Entra ID ile önerilen anahtarsız kimlik doğrulaması için aşağıdaki komutu kullanarak Azure'da oturum açın:

    az login
    

Kaynak bilgilerini alma

Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:

Değişken adı Değer
AZURE_OPENAI_ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir.
AZURE_OPENAI_DEPLOYMENT_NAME Bu değer, bir modeli dağıttığınızda dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi> altında bulunabilir.
OPENAI_API_VERSION API Sürümleri hakkında daha fazla bilgi edinin.

Koddaki sürümü değiştirebilir veya bir ortam değişkeni kullanabilirsiniz.

Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.

Hızlı başlangıcı çalıştırma

Bu hızlı başlangıçtaki örnek kod, önerilen anahtarsız kimlik doğrulaması için Microsoft Entra Kimliğini kullanır. API anahtarı kullanmayı tercih ederseniz, DefaultAzureCredential nesnesini bir AzureKeyCredential nesneyle değiştirebilirsiniz.

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

Hızlı başlangıcı çalıştırmak için şu adımları izleyin:

  1. öğesinin içeriğini Program.cs aşağıdaki kodla değiştirin ve yer tutucu değerlerini kendi kodunuzla güncelleştirin.

    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 chatMessages = new List<ChatMessage>
    {
        new SystemChatMessage("You are a helpful assistant."),
        new UserChatMessage($"Describe this picture: {imageUrl}")
    };
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    
  2. Visual Studio'nun dotnet run üst kısmındaki komutu veya çalıştır düğmesini kullanarak uygulamayı çalıştırın:

    dotnet run
    

Çıktı

Uygulamanın çıkışı, değişkeninde imageUri sağladığınız görüntünün açıklaması olacaktır. Yardımcı, görüntüyü analiz eder ve içeriğine göre ayrıntılı bir açıklama sağlar.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.