نسخ نماذج فهم لغة المحادثة احتياطيًا واستردادها

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

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

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

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

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

  • اثنان من موارد Azure الذكاء الاصطناعي Language في مناطق Azure مختلفة، كل منهما في منطقة مختلفة.

احصل على نقطة نهاية مفاتيح الموارد

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

انتقل إلى صفحة نظرة عامة على المورد في مدخل Azure من القائمة على الجانب الأيسر، حدد "Keys and Endpoint". ستستخدم نقطة النهاية والمفتاح لطلبات واجهة برمجة التطبيقات

A screenshot showing the key and endpoint page in the Azure portal.

تلميح

احتفظ بملاحظة المفاتيح ونقاط النهاية لكل من الموارد الأساسية والثانوية. قم باستخدام هذه القيم لاستبدال العناصر النائبة التالية: {PRIMARY-ENDPOINT}و {PRIMARY-RESOURCE-KEY}و {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY}. قم أيضاً بملاحظة اسم مشروعك واسم نموذجك واسم النشر الخاص بك. قم باستخدام هذه القيم لاستبدال العناصر النائبة التالية: {PROJECT-NAME}و {MODEL-NAME} و {DEPLOYMENT-NAME}.

قم بتصدير أصول مشروعك الأساسي

قم ببدء تصدير أصول المشروع من المشروع في المورد الأساسي الخاص بك.

أرسل وظيفة التصدير

قم باستبدال العناصر النائبة في الطلب التالي بـ {PRIMARY-ENDPOINT} و{PRIMARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

قم بإنشاء طلب POST باستخدام عنوان URL والعناوين ونص JSON التالي لتصدير مشروعك.

عنوان URL الخاص بالطلب

استخدم عنوان URL التالي عند إنشاء طلب واجهة برمجة التطبيقات. استبدل قيم العنصر النائب أدناه بقيمك الخاصة.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. EmailApp
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

بمجرد إرسال طلب واجهة برمجة التطبيقات، ستتلقى ردًا 202 يشير إلى تنفيذ العملية بنجاح. في عناوين الرد، استخرج operation-location القيمة. سيُنسق على النحو التالي:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

يُستخدم JOB-ID لتعريف طلبك، حيث إن هذه العملية غير متزامنة. استخدم عنوان URL هذا للحصول على JSON للمشروع الذي تم تصديره، باستخدام نفس أسلوب المصادقة.

قم بالحصول على حالة وظيفة التصدير

قم باستبدال العناصر النائبة في الطلب التالي بـ {PRIMARY-ENDPOINT} و{PRIMARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

استخدم طلب GET التالي للاستعلام عن حالة وظيفة التصدير. يمكنك استخدام عنوان URL الذي تلقيته من الخطوة السابقة، أو استبدال قيم العنصر النائب أدناه بقيمك الخاصة.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/{JOB-ID}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. myProject
{JOB-ID} المعرف لتحديد حالة وظيفة التصدير الخاصة بك. يرد ذلك في قيمة العنوان location التي تلقيتها في الخطوة السابقة. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح ‏‏الوصف القيمة
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات. {YOUR-PRIMARY-RESOURCE-KEY}

هيئة الاستجابة

{
  "resultUrl": "{Endpoint}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/xxxxxx-xxxxx-xxxxx-xx/result?api-version={API-VERSION}",
  "jobId": "xxxx-xxxxx-xxxxx-xxx",
  "createdDateTime": "2022-04-18T15:23:07Z",
  "lastUpdatedDateTime": "2022-04-18T15:23:08Z",
  "expirationDateTime": "2022-04-25T15:23:07Z",
  "status": "succeeded"
}

استخدم عنوان url من مفتاح resultUrl في النص لعرض الأصول المصدرة من هذه المهمة.

الحصول على نتائج التصدير

أرسل طلب GET باستخدام {RESULT-URL} الذي تلقيته من الخطوة السابقة لعرض نتائج مهمة التصدير.

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح ‏‏الوصف القيمة
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات. {PRIMARY-RESOURCE-KEY}

قم بنسخ نص الاستجابة حيث ستستخدمه كنص لمهمة الاستيراد التالية.

قم بالاستيراد إلى مشروع جديد

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

أرسل مهمة الاستيراد

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

أرسل طلب POST باستخدام عنوان URL والرؤوس ونص JSON التالي لاستيراد مشروعك.

عنوان URL الخاص بالطلب

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف، ويجب أن تتطابق مع اسم المشروع في ملف JSON الذي تقوم باستيراده. EmailAppDemo
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

نص الرسالة

نص JSON الذي ترسله مشابه للمثال التالي. راجع الوثائق المرجعية لمزيد من التفاصيل حول كائن JSON.

{
  "projectFileVersion": "{API-VERSION}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "Conversation",
    "settings": {
      "confidenceThreshold": 0.7
    },
    "projectName": "{PROJECT-NAME}",
    "multilingual": true,
    "description": "Trying out CLU",
    "language": "{LANGUAGE-CODE}"
  },
  "assets": {
    "projectKind": "Conversation",
    "intents": [
      {
        "category": "intent1"
      },
      {
        "category": "intent2"
      }
    ],
    "entities": [
      {
        "category": "entity1"
      }
    ],
    "utterances": [
      {
        "text": "text1",
        "dataset": "{DATASET}",
        "intent": "intent1",
        "entities": [
          {
            "category": "entity1",
            "offset": 5,
            "length": 5
          }
        ]
      },
      {
        "text": "text2",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "intent": "intent2",
        "entities": []
      }
    ]
  }
}

مفتاح Placeholder القيمة‬ مثال
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01
projectName {PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. EmailAppDemo
language {LANGUAGE-CODE} سلسلة تحدد رمز اللغة للألفاظ المستخدمة في مشروعك. إذا كان مشروعك متعدد اللغات، فقم باختيار التعليمة البرمجية للغة لغالبية الكلمات. en-us
multilingual true قيمة منطقية تمكنك من الحصول على مستندات بلغات متعددة في مجموعة البيانات الخاصة بك. عند نشر النموذج الخاص بك، يمكنك الاستعلام عن النموذج بأي لغة مدعومة بما في ذلك اللغات غير المضمنة في مستندات التدريب الخاصة بك. true
dataset {DATASET} راجع كيفية تدريب نموذج للحصول على معلومات حول تقسيم بياناتك بين مجموعة اختبار وتدريب. القيم المحتملة لهذا الحقل هي Train وTest. Train

بناء على طلب ناجح، ستحتوي استجابة واجهة برمجة التطبيقات على operation-location عنوان مع عنوان URL يمكنك استخدامه للتحقق من حالة مهمة الاستيراد. تم تنسيقه على النحو التالي:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}

احصل على حالة وظيفة الاستيراد

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

عند إرسال طلب استيراد مشروع ناجح، يتم تضمين عنوان URL للطلب الكامل للتحقق من حالة مهمة الاستيراد (بما في ذلك نقطة النهاية واسم المشروع ومعرف المهمة) في عنوان الاستجابة operation-location .

استخدم طلب GET التالي للاستعلام عن حالة وظيفة الاستيراد. يمكنك استخدام عنوان URL الذي تلقيته من الخطوة السابقة، أو استبدال قيم العنصر النائب بقيمك الخاصة.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. myProject
{JOB-ID} معرف تحديد موقع حالة مهمة الاستيراد. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح ‏‏الوصف القيمة
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات. {YOUR-PRIMARY-RESOURCE-KEY}

هيئة الاستجابة

بمجرد إرسال الطلب، ستحصل على الاستجابة التالية. احتفظ باقتراع نقطة النهاية هذه حتى تتغير معلمة الحالة إلى "نجح".

{
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx",
  "createdDateTime": "2022-04-18T15:17:20Z",
  "lastUpdatedDateTime": "2022-04-18T15:17:22Z",
  "expirationDateTime": "2022-04-25T15:17:20Z",
  "status": "succeeded"
}

تدريب النموذج

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

قم بإرسال الوظيفة التدريبية

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

قم بإنشاء طلب POST باستخدام عناوين URL التالية، والعناوين، ونموذج نص JSON لبدء مهمة التدريب.

عنوان URL الخاص بالطلب

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. EmailApp
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

نص الطلب

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

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "{TRAINING-MODE}",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
مفتاح Placeholder القيمة‬ مثال
modelLabel {MODEL-NAME} اسم النموذج الخاص بك. Model1
trainingConfigVersion {CONFIG-VERSION} إصدار نموذج تكوين التدريب. بشكل افتراضي، يتم استخدام أحدث إصدار من الطراز. 2022-05-01
trainingMode {TRAINING-MODE} وضع التدريب الذي سيتم استخدامه للتدريب. الأوضاع المدعومة هي التدريب القياسي والتدريب الأسرع، ولكنها متاحة فقط للتدريب باللغة الإنجليزية والمتقدمة المدعومة للغات الأخرى والمشاريع متعددة اللغات، ولكنها تتضمن أوقات تدريب أطول. تعرّف على المزيد حول نماذج التدريب. standard
kind percentage أساليب التقسيم. القيم المحتملة تكون إما percentage أو manual. راجع كيفية تدريب نموذج للحصول على مزيد من المعلومات. percentage
trainingSplitPercentage 80 النسبة المئوية لبياناتك ذات العلامات التي سيتم تضمينها في مجموعة التدريب. القيمة الموصى بها هي 80. 80
testingSplitPercentage 20 النسبة المئوية لبياناتك ذات العلامات التي سيتم تضمينها في مجموعة الاختبار. القيمة الموصى بها هي 20. 20

إشعار

يستلزم توفير trainingSplitPercentage وtestingSplitPercentage فقط إذا تم تعيين Kind إلى percentage ومجموع كلا النسبتين يجب أن يساوي 100.

بمجرد إرسال طلب واجهة برمجة التطبيقات، ستتلقى ردًا 202 يشير إلى تنفيذ العملية بنجاح. في عناوين الرد، استخرج operation-location القيمة. سيُنسق على النحو التالي:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

يمكنك أن تستخدم عنوان URL هذا للحصول على حالة وظيفة التدريب.

الحصول على حالة التدريب

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

عند إرسال طلب تدريب ناجح، يتم تضمين عنوان URL للطلب الكامل للتحقق من حالة المهمة (بما في ذلك نقطة النهاية واسم المشروع ومعرف المهمة) في عنوان الاستجابة operation-location .

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

عنوان URL الخاص بالطلب

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{YOUR-ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. EmailApp
{JOB-ID} معرف تحديد موقع حالة تدريب نموذجك xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

هيئة الاستجابة

بمجرد إرسال الطلب، ستحصل على الرد التالي. احتفظ باقتراع نقطة النهاية هذه حتى تتغير معلمة الحالة إلى "نجح".

{
  "result": {
    "modelLabel": "{MODEL-LABEL}",
    "trainingConfigVersion": "{TRAINING-CONFIG-VERSION}",
    "trainingMode": "{TRAINING-MODE}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx-xxxx",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}
مفتاح القيمة‬ مثال
modelLabel اسم النموذج Model1
trainingConfigVersion إصدار تكوين التدريب. بشكل افتراضي، يتم استخدام أحدث إصدار. 2022-05-01
trainingMode وضع تدريبك المحدد. standard
startDateTime وقت بدء التدريب 2022-04-14T10:23:04.2598544Z
status حالة مهمة التدريب running
estimatedEndDateTime الوقت المقدر لانتهاء مهمة التدريب 2022-04-14T10:29:38.2598544Z
jobId معرّف مهمة تدريبك xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime تاريخ ووقت إنشاء مهمة التدريب 2022-04-14T10:22:42Z
lastUpdatedDateTime تاريخ ووقت آخر تحديث لمهمة التدريب 2022-04-14T10:23:45Z
expirationDateTime تاريخ انتهاء صلاحية مهمة التدريب ووقتها 2022-04-14T10:22:42Z

استخدام نموذجك

هذه هي الخطوة التي تجعل فيها نموذجك المدرب متاحًا لاستهلاك النموذج عبر API توقع وقت التشغيل.

تلميح

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

قم بإرسال وظيفة التوزيع

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

قم بإنشاء طلب PUT باستخدام عنوان URL والعناوين وجسم JSON التالي لبدء نشر نموذج فهم لغة المحادثة.

عنوان URL الخاص بالطلب

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. myProject
{DEPLOYMENT-NAME} اسم التوزيع الخاص بك. هذه القيمة حساسة لحالة الأحرف. staging
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

نص الطلب

{
  "trainedModelLabel": "{MODEL-NAME}",
}
مفتاح Placeholder القيمة‬ مثال
trainedModelLabel {MODEL-NAME} اسم النموذج الذي سيتم تعيينه للنشر. يمكنك فقط تعيين نماذج مُدرَّبة بنجاح. هذه القيمة حساسة لحالة الأحرف. myModel

بمجرد إرسال طلب واجهة برمجة التطبيقات، ستتلقى ردًا 202 يشير إلى تنفيذ العملية بنجاح. في عناوين الرد، استخرج operation-location القيمة. سيُنسق على النحو التالي:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

يمكنك استخدام عنوان URL هذا للحصول على حالة التوزيع.

احصل على حالة النشر

قم باستبدال العناصر النائبة في الطلب التالي بـ {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY} التي حصلت عليها في الخطوة الأولى.

عند إرسال طلب نشر ناجح، يتم تضمين عنوان URL للطلب الكامل للتحقق من حالة المهمة (بما في ذلك نقطة النهاية واسم المشروع ومعرف المهمة) في عنوان الاستجابة operation-location .

قم باستخدام طلب GET التالي للاستعلام عن حالة وظيفة التوزيع. استبدل قيم العنصر النائب بقيمك الخاصة.

عنوان URL الخاص بالطلب

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. myProject
{DEPLOYMENT-NAME} اسم التوزيع الخاص بك. هذه القيمة حساسة لحالة الأحرف. staging
{JOB-ID} معرف تحديد موقع حالة تدريب نموذجك xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح القيمة‬
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات.

هيئة الاستجابة

بمجرد إرسال الطلب، ستحصل على الاستجابة التالية. احتفظ باقتراع نقطة النهاية هذه حتى تتغير معلمة الحالة إلى "نجح".

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

التغييرات أثناء استدعاء وقت التشغيل

داخل النظام الخاص بك، في الخطوة التي تستدعي فيها واجهة برمجة تطبيقات بوقت التشغيل قم بالتحقق من رمز الاستجابة الذي تم إرجاعه من واجهة برمجة التطبيقات لمهمة الإرسال. إذا لاحظت فشلًا متسقًا في إرسال الطلب، فقد يشير ذلك إلى الانقطاع في المنطقة الأساسية الخاصة بك. لا يعني الفشل مرة واحدة انقطاع، فربما يكون مشكلة عابرة. قم بإعادة محاولة إرسال المهمة من خلال المورد الثانوي الذي أنشأته. بالنسبة إلى الطلب الثاني، استخدم {YOUR-SECONDARY-ENDPOINT} والمفتاح الثانوي، إذا اتبعت الخطوات المذكورة أعلاه، فسيكون {PROJECT-NAME} و{DEPLOYMENT-NAME} كما هو، لذلك لا يلزم إجراء تغييرات على نص الطلب.

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

التحقق مما إذا كانت مشاريعك غير متزامنة

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

الحصول على تفاصيل المشروع

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

قم باستخدام طلب GET التالي للحصول على تفاصيل المشروع الخاص بك. يمكنك استخدام عنوان URL الذي تلقيته من الخطوة السابقة، أو استبدال قيم العنصر النائب أدناه بقيمك الخاصة.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Placeholder القيمة‬ مثال
{ENDPOINT} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} اسم مشروعك. هذه القيمة حساسة لحالة الأحرف. myProject
{API-VERSION} إصدار واجهة برمجة التطبيقات التي تتصل بها. 2023-04-01

الرؤوس

استخدم العنوان التالي للمصادقة على طلبك.

مفتاح ‏‏الوصف القيمة
Ocp-Apim-Subscription-Key مفتاح موردك. يُستخدم للمصادقة على طلبات واجهة برمجة التطبيقات. {YOUR-PRIMARY-RESOURCE-KEY}

هيئة الاستجابة

{
  "createdDateTime": "2022-04-18T13:53:03Z",
  "lastModifiedDateTime": "2022-04-18T13:53:03Z",
  "lastTrainedDateTime": "2022-04-18T14:14:28Z",
  "lastDeployedDateTime": "2022-04-18T14:49:01Z",
  "projectKind": "Conversation",
  "projectName": "{PROJECT-NAME}",
  "multilingual": true,
  "description": "This is a sample conversation project.",
  "language": "{LANGUAGE-CODE}"
}

كرر نفس الخطوات لمشروعك المنسوخ باستخدام {SECONDARY-ENDPOINT} و{SECONDARY-RESOURCE-KEY}. قم بمقارنة الذي تم إرجاعه lastModifiedDateTime من كلا المشروعين. إذا تم تعديل مشروعك الأساسي قبل مشروعك الثانوي، فستحتاج إلى تكرار خطوات التصدير والاستيراد والتدريب والنشر لنموذجك.

الخطوات التالية

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