استخدام Azure OpenAI بأمان على بياناتك

استخدم هذه المقالة لمعرفة كيفية استخدام Azure OpenAI على بياناتك بشكل آمن عن طريق حماية البيانات والموارد باستخدام التحكم في الوصول المستند إلى الدور في Microsoft Entra ID والشبكات الظاهرية ونقاط النهاية الخاصة.

تنطبق هذه المقالة فقط عند استخدام Azure OpenAI على بياناتك مع النص. لا ينطبق على Azure OpenAI على بياناتك مع الصور.

بنية استيعاب البيانات

عند استخدام Azure OpenAI على بياناتك لاستيعاب البيانات من تخزين Azure blob أو الملفات المحلية أو عناوين URL في Azure الذكاء الاصطناعي Search، يتم استخدام العملية التالية لمعالجة البيانات.

رسم تخطيطي يوضح عملية استيعاب البيانات.

  • يتم استخدام الخطوتان 1 و2 فقط لتحميل الملفات.
  • تنزيل عناوين URL إلى تخزين الكائن الثنائي كبير الحجم غير موضح في هذا الرسم التخطيطي. بعد تنزيل صفحات الويب من الإنترنت وتحميلها إلى تخزين الكائن الثنائي كبير الحجم، تكون الخطوات 3 فصاعدا هي نفسها.
  • يتم إنشاء مفهرسين وفهرسين ومصدري بيانات ومهارة مخصصة في مورد Azure الذكاء الاصطناعي Search.
  • يتم إنشاء حاوية المجموعات في تخزين الكائن الثنائي كبير الحجم.
  • إذا تم تشغيل الاستيعاب بواسطة تحديث مجدول، تبدأ عملية الاستيعاب من الخطوة 7.
  • تنفذ واجهة برمجة تطبيقات Azure OpenAI preprocessing-jobs بروتوكول واجهة برمجة تطبيقات الويب لمهارة عميل Azure الذكاء الاصطناعي Search، وتعالج المستندات في قائمة انتظار.
  • Azure OpenAI:
    1. يستخدم داخليا المفهرس الأول الذي تم إنشاؤه مسبقا لكسر المستندات.
    2. يستخدم خوارزمية قائمة على التوجيه لتنفيذ عمليات التقسيم، وتكريم تخطيطات الجدول وعناصر التنسيق الأخرى في حدود المجموعة لضمان أفضل جودة للتقسيم.
    3. إذا اخترت تمكين البحث عن المتجهات، فإن Azure OpenAI يستخدم نشر التضمين المحدد لتضمين المجموعات داخليا.
  • عند معالجة جميع البيانات التي تراقبها الخدمة، يقوم Azure OpenAI بتشغيل المفهرس الثاني.
  • يقوم المفهرس بتخزين البيانات المعالجة في الذكاء الاصطناعي خدمة البحث Azure.

بالنسبة للهويات المدارة المستخدمة في استدعاءات الخدمة، يتم دعم الهويات المدارة المعينة من قبل النظام فقط. الهويات المدارة المعينة من قبل المستخدم غير مدعومة.

بنية الاستدلال

رسم تخطيطي يوضح عملية استخدام واجهة برمجة تطبيقات الاستدلال.

عند إرسال استدعاءات API للدردشة مع نموذج Azure OpenAI على بياناتك، تحتاج الخدمة إلى استرداد حقول الفهرس أثناء الاستدلال لتنفيذ تعيين الحقول تلقائيا إذا لم يتم تعيين تعيين الحقول بشكل صريح في الطلب. لذلك تتطلب الخدمة هوية Azure OpenAI أن يكون لها Search Service Contributor دور خدمة البحث حتى أثناء الاستدلال.

إذا تم توفير نشر تضمين في طلب الاستدلال، فسيتم توجيه الاستعلام المعاد كتابته بواسطة Azure OpenAI، ويتم إرسال كل من الاستعلام والمتجه إلى Azure الذكاء الاصطناعي البحث عن المتجهات.

التحكم في الوصول على مستوى المستند

إشعار

يتم دعم التحكم في الوصول على مستوى المستند للبحث في Azure الذكاء الاصطناعي فقط.

يتيح لك Azure OpenAI على بياناتك تقييد المستندات التي يمكن استخدامها في استجابات لمستخدمين مختلفين باستخدام عوامل تصفية أمان Azure الذكاء الاصطناعي Search. عند تمكين الوصول إلى مستوى المستند، سيتم اقتطاع نتائج البحث التي تم إرجاعها من Azure الذكاء الاصطناعي Search واستخدامها لإنشاء استجابة استنادا إلى عضوية مجموعة Microsoft Entra للمستخدم. يمكنك فقط تمكين الوصول على مستوى المستند على فهارس Azure الذكاء الاصطناعي Search الموجودة. لتمكين الوصول على مستوى المستند:

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

  2. قم بفهرسة مستنداتك باستخدام المجموعات المسموح بها. تأكد من أن حقول الأمان الجديدة تحتوي على المخطط أدناه:

    {"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
    

    group_ids هو اسم الحقل الافتراضي. إذا كنت تستخدم اسم حقل آخر مثل my_group_ids، يمكنك تعيين الحقل في تعيين حقل الفهرس.

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

  4. في Azure OpenAI Studio، أضف مصدر البيانات الخاص بك. في قسم تعيين حقل الفهرس، يمكنك تعيين قيمة صفرية أو قيمة واحدة إلى حقل المجموعات المسموح به، طالما أن المخطط متوافق. إذا لم يتم تعيين الحقل المجموعات المسموح بها، فلن يتم تمكين الوصول إلى مستوى المستند.

Azure OpenAI Studio

بمجرد توصيل فهرس Azure الذكاء الاصطناعي Search، سيكون لردودك في الاستوديو حق الوصول إلى المستند استنادا إلى أذونات Microsoft Entra للمستخدم الذي قام بتسجيل الدخول.

تطبيق الويب

إذا كنت تستخدم تطبيق ويب منشورا، فستحتاج إلى إعادة نشره للترقية إلى أحدث إصدار. يتضمن أحدث إصدار من تطبيق الويب القدرة على استرداد مجموعات حساب Microsoft Entra للمستخدم الذي قام بتسجيل الدخول، وتخزينه مؤقتا، وتضمين معرفات المجموعة في كل طلب واجهة برمجة تطبيقات.

API

عند استخدام واجهة برمجة التطبيقات، مرر المعلمة filter في كل طلب واجهة برمجة تطبيقات. على سبيل المثال:

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$AZURE_AI_SEARCH_INDEX'",
                "filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
            }
        }
    ]
}
  • my_group_idsهو اسم الحقل الذي حددته للمجموعات المسموح بها أثناء تعيين الحقول.
  • group_id1, group_id2 هي مجموعات تعزى إلى المستخدم الذي قام بتسجيل الدخول. يمكن لتطبيق العميل استرداد مجموعات المستخدمين وتخزينها مؤقتا.

تكوين المورد

استخدم الأقسام التالية لتكوين مواردك للاستخدام الآمن الأمثل. حتى إذا كنت تخطط لتأمين جزء فقط من مواردك، فلا تزال بحاجة إلى اتباع جميع الخطوات أدناه.

توضح هذه المقالة إعدادات الشبكة المتعلقة بتعطيل الشبكة العامة لموارد Azure OpenAI وموارد بحث Azure الذكاء الاصطناعي وحسابات التخزين. استخدام الشبكات المحددة مع قواعد IP غير مدعوم، لأن عناوين IP للخدمات ديناميكية.

تلميح

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

إنشاء مجموعة الموارد

قم بإنشاء مجموعة موارد، حتى تتمكن من تنظيم جميع الموارد ذات الصلة. تتضمن الموارد في مجموعة الموارد على سبيل المثال لا الحصر:

  • شبكة ظاهرية واحدة
  • ثلاث خدمات رئيسية: Azure OpenAI واحدة، وواحدة من Azure الذكاء الاصطناعي Search، وحساب تخزين واحد
  • ثلاث نقاط نهاية خاصة، ترتبط كل منها بخدمة مفتاح واحدة
  • ثلاث واجهات للشبكة، كل منها مقترن بنقطة نهاية خاصة واحدة
  • بوابة شبكة ظاهرية واحدة، للوصول من أجهزة العميل المحلية
  • تطبيق ويب واحد مع شبكة ظاهرية متكاملة
  • منطقة DNS خاصة واحدة، لذلك يعثر تطبيق الويب على IP الخاص ب Azure OpenAI

إنشاء شبكة ظاهرية

تحتوي الشبكة الظاهرية على ثلاث شبكات فرعية.

  1. يتم استخدام الشبكة الفرعية الأولى لعناوين IP الخاصة لنقاط النهاية الخاصة الثلاث.
  2. يتم إنشاء الشبكة الفرعية الثانية تلقائيا عند إنشاء بوابة الشبكة الظاهرية.
  3. الشبكة الفرعية الثالثة فارغة، وتستخدم لتكامل الشبكة الظاهرية الصادرة ل Web App.

رسم تخطيطي يوضح بنية الشبكة الظاهرية.

لاحظ أن Microsoft أنشأت الشبكة الظاهرية المدارة من قبل Microsoft، ولا يمكنك رؤيتها. يتم استخدام الشبكة الظاهرية المدارة من Microsoft بواسطة Azure OpenAI للوصول بأمان إلى Azure الذكاء الاصطناعي Search.

تكوين Azure OpenAI

المجال الفرعي المخصص الممكن

إذا قمت بإنشاء Azure OpenAI عبر مدخل Microsoft Azure، فيجب إنشاء المجال الفرعي المخصص بالفعل. المجال الفرعي المخصص مطلوب للمصادقة المستندة إلى معرف Microsoft Entra ومنطقة DNS الخاصة.

تمكين الهوية المُدارة

للسماح لحساب البحث والتخزين في Azure الذكاء الاصطناعي بالتعرف على خدمة Azure OpenAI عبر مصادقة معرف Microsoft Entra، تحتاج إلى تعيين هوية مدارة لخدمة Azure OpenAI. أسهل طريقة هي التبديل على الهوية المدارة المعينة من قبل النظام على مدخل Microsoft Azure. لقطة شاشة تعرض خيار الهوية المدارة المعينة من قبل النظام في مدخل Microsoft Azure.

لتعيين الهويات المدارة عبر واجهة برمجة تطبيقات الإدارة، راجع الوثائق المرجعية لواجهة برمجة تطبيقات الإدارة.


"identity": {
  "principalId": "12345678-abcd-1234-5678-abc123def",
  "tenantId": "1234567-abcd-1234-1234-abcd1234",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/1234-5678-abcd-1234-1234abcd/resourceGroups/my-resource-group",
    "principalId": "12345678-abcd-1234-5678-abcdefg1234", 
    "clientId": "12345678-abcd-efgh-1234-12345678"
  }
}

تمكين الخدمة الموثوق بها

للسماح ل Azure الذكاء الاصطناعي Search باستدعاء Azure OpenAI preprocessing-jobs كواجهة برمجة تطبيقات ويب للمهارة المخصصة، بينما لا يملك Azure OpenAI حق الوصول إلى الشبكة العامة، تحتاج إلى إعداد Azure OpenAI لتجاوز Azure الذكاء الاصطناعي Search كخدمة موثوق بها استنادا إلى الهوية المدارة. يحدد Azure OpenAI نسبة استخدام الشبكة من Azure الذكاء الاصطناعي Search عن طريق التحقق من المطالبات في JSON Web Token (JWT). يجب أن يستخدم Azure الذكاء الاصطناعي Search مصادقة الهوية المدارة المعينة من قبل النظام لاستدعاء واجهة برمجة تطبيقات الويب للمهارة المخصصة.

تعيين networkAcls.bypass على أنه AzureServices من واجهة برمجة تطبيقات الإدارة. لمزيد من المعلومات، راجع مقالة الشبكات الظاهرية.

إشعار

تتوفر ميزة الخدمة الموثوق بها فقط باستخدام الأمر الموضح أعلاه، ولا يمكن إجراؤها باستخدام مدخل Microsoft Azure.

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

تعطيل الوصول إلى الشبكة العامة

يمكنك تعطيل الوصول إلى الشبكة العامة لمورد Azure OpenAI في مدخل Microsoft Azure.

للسماح بالوصول إلى خدمة Azure OpenAI من أجهزة العميل، مثل استخدام Azure OpenAI Studio، تحتاج إلى إنشاء اتصالات نقطة نهاية خاصة تتصل بمورد Azure OpenAI.

يمكنك استخدام مستوى التسعير الأساسي وأعلى للتكوين أدناه. ليس من الضروري، ولكن إذا كنت تستخدم مستوى تسعير S2، فسترى خيارات إضافية متاحة للاختيار.

تمكين الهوية المُدارة

للسماح لمواردك الأخرى بالتعرف على Azure الذكاء الاصطناعي Search باستخدام مصادقة معرف Microsoft Entra، تحتاج إلى تعيين هوية مدارة ل Azure الذكاء الاصطناعي Search. أسهل طريقة هي التبديل على الهوية المدارة المعينة من قبل النظام في مدخل Microsoft Azure.

لقطة شاشة تعرض إعداد الهوية المدارة ل Azure الذكاء الاصطناعي Search في مدخل Microsoft Azure.

تمكين التحكم في الوصول المستند إلى الدور

نظرا لأن Azure OpenAI يستخدم الهوية المدارة للوصول إلى Azure الذكاء الاصطناعي Search، تحتاج إلى تمكين التحكم في الوصول المستند إلى الدور في Azure الذكاء الاصطناعي Search. للقيام بذلك على مدخل Microsoft Azure، حدد كلاهما في علامة التبويب Keys في مدخل Microsoft Azure.

لقطة شاشة تعرض خيار الهوية المدارة للبحث في Azure الذكاء الاصطناعي في مدخل Microsoft Azure.

لتمكين التحكم في الوصول المستند إلى الدور عبر واجهة برمجة تطبيقات REST، قم بتعيين authOptions ك aadOrApiKey. لمزيد من المعلومات، راجع مقالة Azure الذكاء الاصطناعي Search RBAC.

"disableLocalAuth": false,
"authOptions": { 
    "aadOrApiKey": { 
        "aadAuthFailureMode": "http401WithBearerChallenge"
    }
}

لاستخدام Azure OpenAI Studio، لا يمكنك تعطيل المصادقة المستندة إلى مفتاح API ل Azure الذكاء الاصطناعي Search، لأن Azure OpenAI Studio يستخدم مفتاح API لاستدعاء Azure الذكاء الاصطناعي Search API من المستعرض.

تلميح

للحصول على أفضل أمان، عندما تكون جاهزا للإنتاج ولم تعد بحاجة إلى استخدام Azure OpenAI Studio للاختبار، نوصي بتعطيل مفتاح API. راجع مقالة Azure الذكاء الاصطناعي Search RBAC للحصول على التفاصيل.

تعطيل الوصول إلى الشبكة العامة

يمكنك تعطيل الوصول إلى الشبكة العامة لمورد Azure الذكاء الاصطناعي Search في مدخل Microsoft Azure.

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

إشعار

للسماح بالوصول إلى مورد Azure الذكاء الاصطناعي Search من مورد Azure OpenAI، تحتاج إلى إرسال نموذج تطبيق. ستتم مراجعة التطبيق في غضون 5 أيام عمل وسيتم الاتصال بك عبر البريد الإلكتروني حول النتائج. إذا كنت مؤهلا، فسنقوم بتوفير نقطة النهاية الخاصة في الشبكة الظاهرية المدارة من Microsoft، ونرسل طلب اتصال نقطة نهاية خاصة إلى خدمة البحث الخاصة بك، وستحتاج إلى الموافقة على الطلب.

لقطة شاشة تعرض شاشة الموافقة على نقطة النهاية الخاصة.

يتم توفير مورد نقطة النهاية الخاصة في مستأجر مدار من Microsoft، بينما المورد المرتبط في المستأجر الخاص بك. لا يمكنك الوصول إلى مورد نقطة النهاية الخاصة بالنقر فقط فوق ارتباط نقطة النهاية الخاصة (بخط أزرق) في علامة تبويب الوصول الخاص في صفحة الشبكة. بدلا من ذلك، انقر في مكان آخر على الصف، ثم يجب أن يكون الزر موافقة أعلاه قابلا للنقر.

تعرف على المزيد حول سير عمل الموافقة اليدوية.

تلميح

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

ينطبق هذا القسم فقط على مورد البحث في مستوى تسعير S2، لأنه يتطلب دعم نقطة نهاية خاصة للمفهرسين الذين يعانون من مجموعة مهارات.

لإنشاء ارتباط خاص مشترك من مورد البحث المتصل بمورد Azure OpenAI، راجع وثائق البحث. حدد نوع المورد ك Microsoft.CognitiveServices/accounts ومعرفالمجموعة ك openai_account.

باستخدام ارتباط خاص مشترك، يتم تغيير الخطوة الثامنة من الرسم التخطيطي لبنية استيعاب البيانات من تجاوز الخدمة الموثوق بها إلى نقطة النهاية الخاصة.

رسم تخطيطي يوضح عملية استيعاب البيانات باستخدام مورد بحث S2.

يوجد الارتباط الخاص المشترك ل Azure الذكاء الاصطناعي Search الذي أنشأته أيضا في شبكة ظاهرية مدارة من Microsoft، وليس في شبكتك الظاهرية. الفرق مقارنة بنقطة النهاية الخاصة المدارة الأخرى التي تم إنشاؤها سابقا هو أن نقطة [1] النهاية الخاصة المدارة من Azure OpenAI إلى Azure Search يتم توفيرها من خلال تطبيق النموذج، بينما يتم توفير نقطة [2] النهاية الخاصة المدارة من Azure Search إلى Azure OpenAI عبر مدخل Azure أو REST API من Azure Search.

رسم تخطيطي يوضح بنية الشبكة الظاهرية مع مورد بحث S2.

تكوين حساب التخزين

تمكين الخدمة الموثوق بها

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

في مدخل Microsoft Azure، انتقل إلى علامة تبويب شبكة حساب التخزين، واختر "الشبكات المحددة"، ثم حدد السماح لخدمات Azure في قائمة الخدمات الموثوق بها للوصول إلى حساب التخزين هذا وانقر فوق حفظ.

تعطيل الوصول إلى الشبكة العامة

يمكنك تعطيل الوصول إلى الشبكة العامة لحساب التخزين الخاص بك في مدخل Microsoft Azure.

للسماح بالوصول إلى حساب التخزين الخاص بك من أجهزة العميل، مثل استخدام Azure OpenAI Studio، تحتاج إلى إنشاء اتصالات نقطة نهاية خاصة تتصل بتخزين كائن ثنائي كبير الحجم.

تعيينات الأدوار

لقد قمت بالفعل بإعداد كل مورد بشكل مستقل حتى الآن. بعد ذلك تحتاج إلى السماح للخدمات بتخويل بعضها البعض.

الدور المعين له مورد ‏‏الوصف
Search Index Data Reader Azure OpenAI خدمة الذكاء الاصطناعي Azure AI Search استعلمت خدمة الاستدلال عن البيانات من الفهرس.
Search Service Contributor Azure OpenAI خدمة الذكاء الاصطناعي Azure AI Search استعلمت خدمة الاستدلال عن مخطط الفهرس لتعيين الحقول التلقائية. تنشئ خدمة استيعاب البيانات الفهرس ومصادر البيانات ومجموعة المهارات والمفهرس وتستعلم عن حالة المفهرس.
Storage Blob Data Contributor Azure OpenAI حساب التخزين يقرأ من حاوية الإدخال، ويكتب نتيجة المعالجة المسبقة إلى حاوية الإخراج.
Cognitive Services OpenAI Contributor خدمة الذكاء الاصطناعي Azure AI Search Azure OpenAI مهارة مخصصة
Storage Blob Data Contributor خدمة الذكاء الاصطناعي Azure AI Search حساب التخزين يقرأ blob ويكتب مخزن المعرفة.

في الجدول أعلاه، Assignee يعني النظام المعين للهوية المدارة لهذا المورد.

يحتاج المسؤول إلى أن يكون له الدور على Owner هذه الموارد لإضافة تعيينات الدور.

راجع وثائق Azure RBAC للحصول على إرشادات حول تعيين هذه الأدوار في مدخل Microsoft Azure. يمكنك استخدام البرنامج النصي المتوفر على GitHub لإضافة تعيينات الدور برمجيا.

لتمكين المطورين من استخدام هذه الموارد لإنشاء التطبيقات، يحتاج المسؤول إلى إضافة هوية المطورين مع تعيينات الدور التالية إلى الموارد.

الدور مورد ‏‏الوصف
Cognitive Services OpenAI Contributor Azure OpenAI استدعاء واجهة برمجة تطبيقات الاستيعاب العامة من Azure OpenAI Studio. Contributor الدور غير كاف، لأنه إذا كان لديك Contributor دور فقط، فلا يمكنك استدعاء واجهة برمجة تطبيقات مستوى البيانات عبر مصادقة معرف Microsoft Entra، ومصادقة معرف Microsoft Entra مطلوبة في الإعداد الآمن الموضح في هذه المقالة.
Cognitive Services User Azure OpenAI سرد مفاتيح واجهة برمجة التطبيقات من Azure OpenAI Studio.
Contributor خدمة الذكاء الاصطناعي Azure AI Search سرد مفاتيح API لسرد الفهارس من Azure OpenAI Studio.
Contributor حساب التخزين سرد SAS للحساب لتحميل الملفات من Azure OpenAI Studio.
Contributor مجموعة الموارد أو اشتراك Azure حيث يحتاج المطور إلى نشر تطبيق الويب نشر تطبيق الويب إلى اشتراك Azure الخاص بالمطور.

تكوين البوابة والعميل

للوصول إلى خدمة Azure OpenAI من أجهزة العميل المحلية، تتمثل إحدى الطرق في تكوين بوابة Azure VPN وعميل Azure VPN.

اتبع هذا الإرشادات لإنشاء بوابة شبكة ظاهرية لشبكتك الظاهرية.

اتبع هذا الإرشادات لإضافة تكوين من نقطة إلى موقع، وتمكين المصادقة المستندة إلى معرف Microsoft Entra. قم بتنزيل حزمة تكوين ملف تعريف عميل Azure VPN، وقم بإلغاء ضغط الملف واستيراده AzureVPN/azurevpnconfig.xml إلى عميل Azure VPN الخاص بك.

لقطة شاشة توضح مكان استيراد ملف تعريف عميل Azure VPN.

قم بتكوين ملف الجهاز hosts المحلي لتوجيه أسماء مضيفي الموارد إلى عناوين IP الخاصة في شبكتك الظاهرية. hosts الملف موجود في C:\Windows\System32\drivers\etc ل Windows، وعلى /etc/hosts Linux. مثال:

10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net

Azure OpenAI Studio

يجب أن تكون قادرا على استخدام جميع ميزات Azure OpenAI Studio، بما في ذلك الاستدلال والاستنتاج، من أجهزة العميل المحلية.

تطبيق الويب

يتصل تطبيق الويب بمورد Azure OpenAI. نظرا لأن مورد Azure OpenAI الخاص بك قد تم تعطيل الشبكة العامة، يجب إعداد تطبيق الويب لاستخدام نقطة النهاية الخاصة في شبكتك الظاهرية للوصول إلى مورد Azure OpenAI.

يحتاج تطبيق الويب إلى حل اسم مضيف Azure OpenAI إلى عنوان IP الخاص لنقطة النهاية الخاصة ل Azure OpenAI. لذلك، تحتاج إلى تكوين منطقة DNS الخاصة لشبكتك الظاهرية أولا.

  1. إنشاء منطقة DNS خاصة في مجموعة الموارد الخاصة بك.
  2. إضافة سجل DNS. IP هو IP الخاص بنقطة النهاية الخاصة لمورد Azure OpenAI الخاص بك، ويمكنك الحصول على عنوان IP من واجهة الشبكة المقترنة بنقطة النهاية الخاصة ل Azure OpenAI.
  3. ربط منطقة DNS الخاصة بشبكتك الظاهرية حتى يتمكن تطبيق الويب المدمج في هذه الشبكة الظاهرية من استخدام منطقة DNS الخاصة هذه.

عند نشر تطبيق الويب من Azure OpenAI Studio، حدد نفس الموقع مع الشبكة الظاهرية، وحدد وحدة SKU مناسبة، حتى تتمكن من دعم ميزة تكامل الشبكة الظاهرية.

بعد نشر تطبيق الويب، من علامة تبويب شبكة مدخل Microsoft Azure، قم بتكوين تكامل الشبكة الظاهرية لحركة المرور الصادرة لتطبيق الويب، واختر الشبكة الفرعية الثالثة التي قمت بحجزها لتطبيق الويب.

لقطة شاشة تعرض تكوين حركة المرور الصادرة لتطبيق الويب.

استخدام API

تأكد من أن بيانات اعتماد تسجيل الدخول لها Cognitive Services OpenAI Contributor دور على مورد Azure OpenAI، ثم قم بتشغيلها az login أولا.

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

واجهة برمجة تطبيقات الاستيعاب

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

المزيد من الملاحظات:

  • JOB_NAME في مسار API سيتم استخدام كاسم الفهرس في Azure الذكاء الاصطناعي Search.
  • Authorization استخدم الرأس بدلا من مفتاح api.
  • تعيين storageEndpoint الرأس بشكل صريح.
  • استخدم ResourceId= تنسيق storageConnectionString العنوان، بحيث يستخدم Azure OpenAI وAzure الذكاء الاصطناعي Search الهوية المدارة لمصادقة حساب التخزين، وهو مطلوب لتجاوز قيود الشبكة.
  • لا تقم بتعيين searchServiceAdminKey العنوان. يتم استخدام الهوية المعينة من قبل النظام لمورد Azure OpenAI لمصادقة Azure الذكاء الاصطناعي Search.
  • لا تقم بتعيين embeddingEndpoint أو embeddingKey. بدلا من ذلك، استخدم embeddingDeploymentName العنوان لتمكين تحويل النص.

إرسال مثال المهمة

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X PUT https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/vpn1025a?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken" \
-H "storageEndpoint: https://mystorage.blob.core.windows.net/" \
-H "storageConnectionString: ResourceId=/subscriptions/1234567-abcd-1234-5678-1234abcd/resourceGroups/my-resource/providers/Microsoft.Storage/storageAccounts/mystorage" \
-H "storageContainer: my-container" \
-H "searchServiceEndpoint: https://mysearch.search.windows.net" \
-H "embeddingDeploymentName: ada" \
-d \
'
{
}
'

الحصول على مثال حالة الوظيفة

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X GET https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/abc1234?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken"

واجهة برمجة تطبيقات الاستدلال

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