نسخ نماذج فهم لغة المحادثة احتياطيًا واستردادها
عندما تقوم بإنشاء مورد لغة في مدخل Microsoft Azure، فإنك تحدد منطقة ليتم إنشاؤه فيها. من ذلك الحين فصاعدًا، سيجري المورد الخاص بك وجميع العمليات المتعلقة به في منطقة خادم Azure المحددة. من النادر، ولكن ليس من المستحيل، مواجهة مشكلة في الشبكة تضرب منطقة بأكملها. إذا كان الحل الخاص بك بحاجة إلى أن يكون متاحاً دائماً، فيجب عليك تصميمه إما لتجاوز الفشل في منطقة أخرى. يتطلب ذلك اثنين من موارد Azure الذكاء الاصطناعي Language في مناطق مختلفة والقدرة على مزامنة نماذج CLU عبر المناطق.
إذا كان تطبيقك أو عملك يعتمد على استخدام نموذج CLU، نوصيك بإنشاء نسخة متماثلة من مشروعك في منطقة أخرى مدعومة. لذلك في حال حدوث انقطاع إقليمي، يمكنك بعد ذلك الوصول إلى النموذج الخاص بك في منطقة تجاوز الفشل الأخرى حيث قمت بنسخ مشروعك.
يعني نسخ المشروع أنك تقوم بتصدير بيانات تعريف المشروع وأصوله واستيرادها إلى مشروع جديد. هذا ينشئ نسخة من إعدادات المشروع الخاص فحسب، والأهداف، والكيانات والتصريحات. لا تزال بحاجة إلى تدريب النماذج ونشرها لتكون متاحة للاستخدام مع واجهة برمجة التطبيقات وقت التشغيل.
في هذه المقالة، سوف تتعلم كيفية استخدام واجهات برمجة التطبيقات للتصدير والاستيراد لنسخ مشروعك من مورد إلى آخر موجود في مناطق جغرافية مختلفة مدعومة، وإرشادات حول الحفاظ على مزامنة مشاريعك والتغييرات اللازمة لاستهلاك وقت التشغيل.
المتطلبات الأساسية
- اثنان من موارد Azure الذكاء الاصطناعي Language في مناطق Azure مختلفة، كل منهما في منطقة مختلفة.
احصل على نقطة نهاية مفاتيح الموارد
قم باستخدام الخطوات التالية للحصول على المفاتيح ونقطة النهاية لمواردك الأساسية والثانوية. سوف يتم استخدام هذه في الخطوات التالية.
انتقل إلى صفحة نظرة عامة على المورد في مدخل Azure من القائمة على الجانب الأيسر، حدد "Keys and Endpoint". ستستخدم نقطة النهاية والمفتاح لطلبات واجهة برمجة التطبيقات
تلميح
احتفظ بملاحظة المفاتيح ونقاط النهاية لكل من الموارد الأساسية والثانوية. قم باستخدام هذه القيم لاستبدال العناصر النائبة التالية: {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.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ