مشاركة عبر


التشغيل السريع: استخدام الصور في دردشاتك الذكاء الاصطناعي

ابدأ في استخدام الصور في دردشاتك مع Azure OpenAI في Azure الذكاء الاصطناعي Foundry Models.

هام

قد يتم تطبيق رسوم استخدام إضافية عند استخدام نماذج إكمال الدردشة مع وظائف الرؤية.

استخدم هذه المقالة للبدء في استخدام Azure الذكاء الاصطناعي Foundry لنشر نموذج إكمال دردشة واختباره باستخدام فهم الصورة.

المتطلبات الأساسية

إعداد الوسائط الخاصة بك

تحتاج إلى صورة لإكمال هذا التشغيل السريع. يمكنك استخدام هذه الصورة النموذجية أو أي صورة أخرى متوفرة لديك.

صورة لحادث سيارة يمكن استخدامها لإكمال التشغيل السريع.

انتقل إلى Azure الذكاء الاصطناعي Foundry

  1. استعرض للوصول إلى Azure الذكاء الاصطناعي Foundry وسجل الدخول باستخدام بيانات الاعتماد المقترنة بمورد Azure OpenAI. أثناء سير عمل تسجيل الدخول أو بعده، حدد الدليل المناسب واشتراك Azure ومورد Azure OpenAI.
  2. حدد المشروع الذي تريد العمل فيه.
  3. في قائمة التنقل اليسرى، حدد Models + endpoints وحدد + Deploy model.
  4. اختر توزيعا قادرا على الصور عن طريق تحديد اسم النموذج: gpt-4o أو gpt-4o-mini. في النافذة التي تظهر، حدد اسما ونوع نشر. تأكد من توصيل مورد Azure OpenAI. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.
  5. حدد Deploy.
  6. بعد ذلك، حدد النموذج الجديد وحدد فتح في الملعب. في ملعب الدردشة، يجب تحديد النشر الذي قمت بإنشائه في القائمة المنسدلة Deployment .

ملعب

في جلسة الدردشة هذه، يمكنك إرشاد المساعد لمساعدتك في فهم الصور التي تقوم بإدخالها.

للحصول على تعليمات عامة حول إعداد المساعد وجلسات الدردشة والإعدادات واللوحات، راجع التشغيل السريع للدردشة.

بدء جلسة دردشة لتحليل الصور

في جلسة الدردشة هذه، تقوم بتوجيه المساعد للمساعدة في فهم الصور التي تقوم بإدخالها.

  1. للبدء، تأكد من تحديد النشر الممكن للصورة في القائمة المنسدلة Deployment .

  2. في مربع نص السياق على لوحة الإعداد ، قم بتوفير هذه المطالبة لتوجيه المساعد: "You're an AI assistant that helps people find information." أو يمكنك تخصيص المطالبة لصورتك أو السيناريو الخاص بك.

    ملاحظة

    نوصي بتحديث رسالة النظام لتكون خاصة بالمهمة لتجنب الاستجابات غير المفيدة من النموذج.

  3. حدد تطبيق التغييرات لحفظ التغييرات.

  4. في جزء جلسة الدردشة، حدد زر المرفق ثم تحميل الصورة. اختر صورتك.

  5. أضف المطالبة التالية في حقل الدردشة: Describe this image، ثم حدد أيقونة الإرسال لإرسالها.

  6. يتم استبدال أيقونة الإرسال بزر إيقاف. إذا قمت بتحديده، يتوقف المساعد عن معالجة طلبك. لهذا التشغيل السريع، اسمح للمساعد بإنهاء رده.

  7. يرد المساعد بوصف الصورة.

  8. اطرح سؤال متابعة يتعلق بتحليل صورتك. يمكنك إدخال ، "What should I highlight about this image to my insurance company?".

  9. يجب أن تتلقى استجابة ذات صلة مشابهة لما هو موضح هنا:

    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.
    

عرض التعليمات البرمجية وتصديرها

في أي وقت في جلسة الدردشة، يمكنك تمكين مفتاح Show raw JSON أعلى نافذة الدردشة لرؤية المحادثة منسقة ك JSON. إليك ما يبدو عليه في بداية جلسة دردشة التشغيل السريع:

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

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

استخدم هذه المقالة للبدء في استخدام واجهات برمجة تطبيقات Azure OpenAI REST لنشر نموذج GPT-4 Turbo مع Vision واستخدامه.

المتطلبات الأساسية

  • اشتراك Azure. أنشئ واحدا مجانا.
  • Python 3.8 أو إصدار أحدث.
  • مكتبات Python التالية: requests، . json
  • مورد Azure OpenAI في Azure الذكاء الاصطناعي Foundry Models مع GPT-4 Turbo مع نشر نموذج الرؤية. راجع توفر نموذج GPT-4 وGPT-4 Turbo Preview للمناطق المتاحة. لمزيد من المعلومات حول إنشاء الموارد، راجع دليل توزيع الموارد.

ملاحظة

لا يتم حاليا دعم إيقاف تشغيل تصفية المحتوى لنموذج GPT-4 Turbo مع Vision.

قم باسترداد المفتاح ونقطة النهاية

لاستدعاء واجهات برمجة تطبيقات Azure OpenAI بنجاح، تحتاج إلى المعلومات التالية حول مورد Azure OpenAI الخاص بك:

المتغير اسم قيمة
نقطة النهاية api_base تقع قيمة نقطة النهاية ضمن المفاتيح ونقطة النهاية للمورد الخاص بك في مدخل Microsoft Azure. يمكنك أيضا العثور على نقطة النهاية عبر صفحة Deployments في مدخل Azure الذكاء الاصطناعي Foundry. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
مفتاح api_key تقع قيمة المفتاح أيضا ضمن المفاتيح ونقطة النهاية للمورد الخاص بك في مدخل Microsoft Azure. ينشئ Azure مفتاحين للمورد الخاص بك. يمكنك استخدام أي من القيمتين.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. في جزء التنقل، حدد Keys and Endpoint ضمن Resource Management. انسخ قيمة نقطة النهاية وقيمة مفتاح الوصول. يمكنك استخدام قيمة KEY 1 أو KEY 2 . يسمح لك وجود مفتاحين بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة تعرض صفحة المفاتيح ونقطة النهاية لمورد Azure OpenAI في مدخل Microsoft Azure.

إنشاء تطبيق Python جديد

إنشاء ملف Python جديد يسمى quickstart.py. افتح الملف الجديد في المحرر المفضل لديك أو IDE.

  1. استبدل محتويات quickstart.py بالتعليمات البرمجية التالية.

    # 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. قم بإجراء التغييرات التالية:

    1. أدخل عنوان URL لنقطة النهاية والمفتاح في الحقول المناسبة.
    2. أدخل GPT-4 Turbo الخاص بك مع اسم نشر Vision في الحقل المناسب.
    3. غير قيمة "image" الحقل إلى عنوان URL لصورتك.

      تلميح

      يمكنك أيضا استخدام بيانات صورة مشفرة أساسية 64 بدلا من عنوان URL. لمزيد من المعلومات، راجع دليل GPT-4 Turbo with Vision how-to.

  3. قم بتشغيل التطبيق باستخدام الأمر python:

    python quickstart.py
    

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

استخدم هذه المقالة للبدء في استخدام Azure OpenAI Python SDK لنشر نموذج GPT-4 Turbo مع Vision واستخدامه.

مكتبة التعليمات البرمجية | الحزمة (PyPi) |

المتطلبات الأساسية

  • اشتراك Azure. أنشئ واحدا مجانا.
  • Python 3.8 أو إصدار أحدث.
  • مكتبات Python التالية: os
  • مورد Azure OpenAI في Azure الذكاء الاصطناعي Foundry Models مع GPT-4 Turbo مع نشر نموذج الرؤية. راجع توفر نموذج GPT-4 وGPT-4 Turbo Preview للمناطق المتاحة. لمزيد من المعلومات حول إنشاء الموارد، راجع دليل توزيع الموارد.

الإعداد

تثبيت مكتبة عميل OpenAI Python باستخدام:

pip install openai

ملاحظة

يتم الاحتفاظ بهذه المكتبة من قبل OpenAI. راجع محفوظات الإصدار لتعقب آخر التحديثات إلى المكتبة.

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير قيمة
ENDPOINT يمكن العثور على نقطة نهاية الخدمة في قسم Keys & Endpoint عند فحص المورد الخاص بك من مدخل Microsoft Azure. بدلا من ذلك، يمكنك العثور على نقطة النهاية عبر صفحة Deployments في مدخل Azure الذكاء الاصطناعي Foundry. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

إنشاء تطبيق Python جديد

إنشاء ملف Python جديد يسمى quickstart.py. افتح الملف الجديد في المحرر المفضل لديك أو IDE.

  1. استبدل محتويات quickstart.py بالتعليمات البرمجية التالية.

    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. قم بإجراء التغييرات التالية:

    1. أدخل اسم GPT-4 Turbo الخاص بك مع نشر Vision في الحقل المناسب.
    2. غير قيمة "url" الحقل إلى عنوان URL لصورتك.

      تلميح

      يمكنك أيضا استخدام بيانات صورة مشفرة أساسية 64 بدلا من عنوان URL. لمزيد من المعلومات، راجع دليل GPT-4 Turbo with Vision how-to.

  3. قم بتشغيل التطبيق باستخدام الأمر python:

    python quickstart.py
    

هام

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفتاح API، فخزنه بأمان في Azure Key Vault. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

استخدم هذه المقالة للبدء في استخدام OpenAI JavaScript SDK لنشر واستخدام GPT-4 Turbo مع نموذج الرؤية.

يتم توفير SDK هذا من قبل OpenAI مع أنواع Azure المحددة التي يوفرها Azure.

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | الحزمة (npm) | النماذج

المتطلبات الأساسية

ملاحظة

يتم الاحتفاظ بهذه المكتبة من قبل OpenAI. راجع محفوظات الإصدار لتعقب آخر التحديثات إلى المكتبة.

المتطلبات الأساسية لمعرف Microsoft Entra

للمصادقة بدون مفتاح الموصى بها مع معرف Microsoft Entra، تحتاج إلى:

  • قم بتثبيت Azure CLI المستخدم للمصادقة بدون مفتاح باستخدام معرف Microsoft Entra.
  • Cognitive Services User تعيين الدور إلى حساب المستخدم الخاص بك. يمكنك تعيين أدوار في مدخل Microsoft Azure ضمن التحكم في الوصول (IAM)>إضافة تعيين دور.

الإعداد

  1. أنشئ مجلدا vision-quickstart جديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. package.json أنشئ باستخدام الأمر التالي:

    npm init -y
    
  3. تثبيت مكتبة عميل OpenAI ل JavaScript باستخدام:

    npm install openai
    
  4. للمصادقة الموصى بها بدون كلمة مرور:

    npm install @azure/identity
    

استرداد معلومات المورد

تحتاج إلى استرداد المعلومات التالية لمصادقة التطبيق الخاص بك باستخدام مورد Azure OpenAI الخاص بك:

اسم المتغير قيمة
AZURE_OPENAI_ENDPOINT يمكن العثور على هذه القيمة في قسم Keys and Endpoint عند فحص المورد من مدخل Microsoft Azure.
AZURE_OPENAI_DEPLOYMENT_NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Model Deployments في مدخل Microsoft Azure.
OPENAI_API_VERSION تعرف على المزيد حول إصدارات واجهة برمجة التطبيقات.

يمكنك تغيير الإصدار في التعليمات البرمجية أو استخدام متغير بيئة.

تعرف على المزيد حول المصادقة بدون مفتاحوتعيين متغيرات البيئة.

تنبيه

لاستخدام المصادقة بدون مفتاح الموصى بها مع SDK، تأكد من عدم AZURE_OPENAI_API_KEY تعيين متغير البيئة.

إنشاء تطبيق JavaScript جديد لمطالبات الصور

حدد صورة من azure-samples/cognitive-services-sample-data-files. استخدم عنوان URL للصورة في التعليمات البرمجية أدناه أو قم بتعيين IMAGE_URL متغير البيئة إلى عنوان URL للصورة.

تلميح

يمكنك أيضا استخدام بيانات صورة مشفرة أساسية 64 بدلا من عنوان URL. لمزيد من المعلومات، راجع دليل GPT-4 Turbo with Vision how-to.

  1. index.js إنشاء الملف باستخدام التعليمات البرمجية التالية:

    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. سجل الدخول إلى Azure باستخدام الأمر التالي:

    az login
    
  3. قم بتشغيل ملف JavaScript.

    node index.js
    

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

استخدم هذه المقالة للبدء في استخدام OpenAI JavaScript SDK لنشر واستخدام GPT-4 Turbo مع نموذج الرؤية.

يتم توفير SDK هذا من قبل OpenAI مع أنواع Azure المحددة التي يوفرها Azure.

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | الحزمة (npm) | النماذج

المتطلبات الأساسية

ملاحظة

يتم الاحتفاظ بهذه المكتبة من قبل OpenAI. راجع محفوظات الإصدار لتعقب آخر التحديثات إلى المكتبة.

المتطلبات الأساسية لمعرف Microsoft Entra

للمصادقة بدون مفتاح الموصى بها مع معرف Microsoft Entra، تحتاج إلى:

  • قم بتثبيت Azure CLI المستخدم للمصادقة بدون مفتاح باستخدام معرف Microsoft Entra.
  • Cognitive Services User تعيين الدور إلى حساب المستخدم الخاص بك. يمكنك تعيين أدوار في مدخل Microsoft Azure ضمن التحكم في الوصول (IAM)>إضافة تعيين دور.

الإعداد

  1. أنشئ مجلدا vision-quickstart جديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. package.json أنشئ باستخدام الأمر التالي:

    npm init -y
    
  3. package.json قم بتحديث إلى ECMAScript باستخدام الأمر التالي:

    npm pkg set type=module
    
  4. تثبيت مكتبة عميل OpenAI ل JavaScript باستخدام:

    npm install openai
    
  5. للمصادقة الموصى بها بدون كلمة مرور:

    npm install @azure/identity
    

استرداد معلومات المورد

تحتاج إلى استرداد المعلومات التالية لمصادقة التطبيق الخاص بك باستخدام مورد Azure OpenAI الخاص بك:

اسم المتغير قيمة
AZURE_OPENAI_ENDPOINT يمكن العثور على هذه القيمة في قسم Keys and Endpoint عند فحص المورد من مدخل Microsoft Azure.
AZURE_OPENAI_DEPLOYMENT_NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Model Deployments في مدخل Microsoft Azure.
OPENAI_API_VERSION تعرف على المزيد حول إصدارات واجهة برمجة التطبيقات.

يمكنك تغيير الإصدار في التعليمات البرمجية أو استخدام متغير بيئة.

تعرف على المزيد حول المصادقة بدون مفتاحوتعيين متغيرات البيئة.

تنبيه

لاستخدام المصادقة بدون مفتاح الموصى بها مع SDK، تأكد من عدم AZURE_OPENAI_API_KEY تعيين متغير البيئة.

إنشاء تطبيق JavaScript جديد لمطالبات الصور

حدد صورة من azure-samples/cognitive-services-sample-data-files. استخدم عنوان URL للصورة في التعليمات البرمجية أدناه أو قم بتعيين IMAGE_URL متغير البيئة إلى عنوان URL للصورة.

تلميح

يمكنك أيضا استخدام بيانات صورة مشفرة أساسية 64 بدلا من عنوان URL. لمزيد من المعلومات، راجع دليل GPT-4 Turbo with Vision how-to.

  1. index.ts إنشاء الملف باستخدام التعليمات البرمجية التالية:

    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 قم بإنشاء الملف لتبديل التعليمات البرمجية TypeScript ونسخ التعليمات البرمجية التالية ل 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. تحويل من TypeScript إلى JavaScript.

    tsc
    
  4. سجل الدخول إلى Azure باستخدام الأمر التالي:

    az login
    
  5. قم بتشغيل التعليمات البرمجية باستخدام الأمر التالي:

    node index.js
    

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

استخدم هذه المقالة للبدء في استخدام Azure OpenAI .NET SDK لنشر نموذج GPT-4 Turbo with Vision واستخدامه.

المتطلبات الأساسية

  • اشتراك Azure. يمكنك إنشاء حساب مجانا.
  • The .NET 8.0 SDK
  • مورد Azure OpenAI في Azure الذكاء الاصطناعي Foundry Models مع GPT-4 Turbo مع نشر نموذج الرؤية. راجع توفر نموذج GPT-4 وGPT-4 Turbo Preview للمناطق المتاحة. لمزيد من المعلومات حول إنشاء الموارد، راجع دليل توزيع الموارد.

المتطلبات الأساسية لمعرف Microsoft Entra

للمصادقة بدون مفتاح الموصى بها مع معرف Microsoft Entra، تحتاج إلى:

  • قم بتثبيت Azure CLI المستخدم للمصادقة بدون مفتاح باستخدام معرف Microsoft Entra.
  • Cognitive Services User تعيين الدور إلى حساب المستخدم الخاص بك. يمكنك تعيين أدوار في مدخل Microsoft Azure ضمن التحكم في الوصول (IAM)>إضافة تعيين دور.

الإعداد

  1. أنشئ مجلدا vision-quickstart جديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:

    mkdir vision-quickstart && cd vision-quickstart
    
  2. إنشاء تطبيق وحدة تحكم جديد باستخدام الأمر التالي:

    dotnet new console
    
  3. قم بتثبيت مكتبة عميل OpenAI .NET باستخدام الأمر dotnet add package :

    dotnet add package Azure.AI.OpenAI
    
  4. للمصادقة بدون مفتاح الموصى بها مع معرف Microsoft Entra، قم بتثبيت حزمة Azure.Identity مع:

    dotnet add package Azure.Identity
    
  5. للمصادقة بدون مفتاح الموصى بها باستخدام معرف Microsoft Entra، سجل الدخول إلى Azure باستخدام الأمر التالي:

    az login
    

استرداد معلومات المورد

تحتاج إلى استرداد المعلومات التالية لمصادقة التطبيق الخاص بك باستخدام مورد Azure OpenAI الخاص بك:

اسم المتغير قيمة
AZURE_OPENAI_ENDPOINT يمكن العثور على هذه القيمة في قسم Keys and Endpoint عند فحص المورد من مدخل Microsoft Azure.
AZURE_OPENAI_DEPLOYMENT_NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Model Deployments في مدخل Microsoft Azure.
OPENAI_API_VERSION تعرف على المزيد حول إصدارات واجهة برمجة التطبيقات.

يمكنك تغيير الإصدار في التعليمات البرمجية أو استخدام متغير بيئة.

تعرف على المزيد حول المصادقة بدون مفتاحوتعيين متغيرات البيئة.

تشغيل التشغيل السريع

يستخدم نموذج التعليمات البرمجية في هذا التشغيل السريع معرف Microsoft Entra للمصادقة بدون مفتاح الموصى بها. إذا كنت تفضل استخدام مفتاح API، يمكنك استبدال DefaultAzureCredential الكائن بعنصر AzureKeyCredential .

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

لتشغيل التشغيل السريع، اتبع الخطوات التالية:

  1. استبدل محتويات بالتعليمات Program.cs البرمجية التالية وقم بتحديث قيم العنصر النائب بقيمك الخاصة.

    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. تشغيل التطبيق باستخدام dotnet run الأمر أو زر التشغيل في الجزء العلوي من Visual Studio:

    dotnet run
    

الناتج

سيكون إخراج التطبيق وصفا للصورة التي قدمتها في imageUri المتغير. سيقوم المساعد بتحليل الصورة وتقديم وصف مفصل بناء على محتواها.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.