FormTrainingClient الفصل

FormTrainingClient هي واجهة Form Recognizer لاستخدامها لإنشاء النماذج المخصصة وإدارتها. يوفر أساليب لتدريب النماذج على النماذج التي تقدمها، بالإضافة إلى طرق لعرض النماذج وحذفها، والوصول إلى خصائص الحساب، ونسخ النماذج إلى مورد Form Recognizer آخر، وإنشاء نماذج من مجموعة من النماذج الموجودة المدربة باستخدام التسميات.

ملاحظة

يجب استخدام FormTrainingClient مع إصدارات <واجهة برمجة التطبيقات =v2.1.

لاستخدام إصدارات واجهة برمجة التطبيقات 2022-08-31 وما فوق، قم بإنشاء مثيل DocumentModelAdministrationClient.

توريث
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormTrainingClient

الدالمنشئ

FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

المعلمات

endpoint
str
مطلوب

نقاط نهاية الخدمات المعرفية المدعومة (البروتوكول واسم المضيف، على سبيل المثال: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential أو TokenCredential
مطلوب

بيانات الاعتماد اللازمة للعميل للاتصال ب Azure. هذا هو مثيل AzureKeyCredential إذا كنت تستخدم مفتاح API أو بيانات اعتماد رمز مميز من identity.

api_version
str أو FormRecognizerApiVersion

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

أمثلة

إنشاء FormTrainingClient بنقطة نهاية ومفتاح API.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormTrainingClient
   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))

إنشاء FormTrainingClient باستخدام بيانات اعتماد رمز مميز.


   """DefaultAzureCredential will use the values from these environment
   variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
   """
   from azure.ai.formrecognizer import FormTrainingClient
   from azure.identity import DefaultAzureCredential

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   credential = DefaultAzureCredential()

   form_training_client = FormTrainingClient(endpoint, credential)

الأساليب

begin_copy_model

انسخ نموذجا مخصصا مخزنا في هذا المورد (المصدر) إلى مورد Form Recognizer الهدف المحدد للمستخدم. يجب استدعاء هذا مع مورد Form Recognizer المصدر (مع النموذج المراد نسخه). يجب توفير المعلمة الهدف من إخراج المورد الهدف من استدعاء get_copy_authorization الأسلوب .

begin_create_composed_model

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

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

جديد في الإصدار v2.1: أسلوب العميل begin_create_composed_model

begin_training

إنشاء نموذج مخصص وتدريبه. يجب أن يتضمن الطلب معلمة training_files_url وهي عنوان URI لحاوية كائن ثنائي كبير الحجم لتخزين Azure يمكن الوصول إليه خارجيا (ويفضل أن يكون URI توقيع الوصول المشترك). لاحظ أن URI للحاوية (بدون SAS) يتم قبوله فقط عندما تكون الحاوية عامة أو يكون لها هوية مدارة تم تكوينها، راجع المزيد حول تكوين الهويات المدارة للعمل مع Form Recognizer هنا: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. يتم تدريب النماذج باستخدام المستندات من نوع المحتوى التالي - "application/pdf" أو "image/jpeg" أو "image/png" أو "image/tiff" أو "image/bmp". يتم تجاهل أنواع أخرى من المحتوى في الحاوية.

جديد في الإصدار v2.1: وسيطة الكلمة الأساسية model_name

close

FormTrainingClient أغلق جلسة العمل.

delete_model

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

get_account_properties

احصل على معلومات حول النماذج على حساب أداة التعرف على النماذج.

get_copy_authorization

إنشاء تخويل لنسخ نموذج مخصص إلى مورد Form Recognizer الهدف. يجب استدعاء هذا بواسطة المورد الهدف (حيث سيتم نسخ النموذج إلى) ويمكن تمرير الإخراج كمعلمة الهدف إلى begin_copy_model.

get_custom_model

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

get_form_recognizer_client

احصل على مثيل FormRecognizerClient من FormTrainingClient.

list_custom_models

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

send_request

تشغيل طلب شبكة باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية الحالية للعميل.

يمكن أن يكون عنوان URL للطلب مرتبطا بعنوان URL الأساسي. إصدار واجهة برمجة تطبيقات الخدمة المستخدم للطلب هو نفسه إصدار العميل ما لم يتم تحديد خلاف ذلك. يتم دعم تجاوز إصدار واجهة برمجة التطبيقات المكون للعميل في عنوان URL النسبي على العميل مع إصدار واجهة برمجة التطبيقات 2022-08-31 والإصدارات الأحدث. التجاوز في عنوان URL المطلق المدعوم على العميل مع أي إصدار من واجهة برمجة التطبيقات. لا يرفع هذا الأسلوب إذا كانت الاستجابة خطأ؛ لرفع استثناء، قم باستدعاء raise_for_status() على كائن الاستجابة الذي تم إرجاعه. لمزيد من المعلومات حول كيفية إرسال طلبات مخصصة باستخدام هذا الأسلوب، راجع https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_copy_model

انسخ نموذجا مخصصا مخزنا في هذا المورد (المصدر) إلى مورد Form Recognizer الهدف المحدد للمستخدم. يجب استدعاء هذا مع مورد Form Recognizer المصدر (مع النموذج المراد نسخه). يجب توفير المعلمة الهدف من إخراج المورد الهدف من استدعاء get_copy_authorization الأسلوب .

begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> LROPoller[CustomFormModelInfo]

المعلمات

model_id
str
مطلوب

معرف نموذج النموذج لنسخه إلى المورد المستهدف.

target
Dict[str, Union[str, int]]
مطلوب

تخويل النسخ الذي تم إنشاؤه من استدعاء المورد الهدف إلى get_copy_authorization.

continuation_token
str

رمز متابعة لإعادة تشغيل الاستقصاء من حالة محفوظة.

المرتجعات

مثيل LROPoller. استدعاء result() على كائن poller لإرجاع CustomFormModelInfo.

نوع الإرجاع

استثناءات

أمثلة

نسخ نموذج من المورد المصدر إلى المورد الهدف


   source_client = FormTrainingClient(endpoint=source_endpoint, credential=AzureKeyCredential(source_key))

   poller = source_client.begin_copy_model(
       model_id=source_model_id,
       target=target  # output from target client's call to get_copy_authorization()
   )
   copied_over_model = poller.result()

   print("Model ID: {}".format(copied_over_model.model_id))
   print("Status: {}".format(copied_over_model.status))

begin_create_composed_model

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

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

جديد في الإصدار v2.1: أسلوب العميل begin_create_composed_model

begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> LROPoller[CustomFormModel]

المعلمات

model_ids
list[str]
مطلوب

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

model_name
str

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

continuation_token
str

رمز متابعة لإعادة تشغيل الاستقصاء من حالة محفوظة.

المرتجعات

مثيل LROPoller. استدعاء result() على كائن poller لإرجاع CustomFormModel.

نوع الإرجاع

استثناءات

أمثلة

إنشاء نموذج مكون


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormTrainingClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   po_supplies = os.environ['PURCHASE_ORDER_OFFICE_SUPPLIES_SAS_URL_V2']
   po_equipment = os.environ['PURCHASE_ORDER_OFFICE_EQUIPMENT_SAS_URL_V2']
   po_furniture = os.environ['PURCHASE_ORDER_OFFICE_FURNITURE_SAS_URL_V2']
   po_cleaning_supplies = os.environ['PURCHASE_ORDER_OFFICE_CLEANING_SUPPLIES_SAS_URL_V2']

   form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   supplies_poller = form_training_client.begin_training(
       po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
   )
   equipment_poller = form_training_client.begin_training(
       po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
   )
   furniture_poller = form_training_client.begin_training(
       po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
   )
   cleaning_supplies_poller = form_training_client.begin_training(
       po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
   )
   supplies_model = supplies_poller.result()
   equipment_model = equipment_poller.result()
   furniture_model = furniture_poller.result()
   cleaning_supplies_model = cleaning_supplies_poller.result()

   models_trained_with_labels = [
       supplies_model.model_id,
       equipment_model.model_id,
       furniture_model.model_id,
       cleaning_supplies_model.model_id
   ]

   poller = form_training_client.begin_create_composed_model(
       models_trained_with_labels, model_name="Office Supplies Composed Model"
   )
   model = poller.result()

   print("Office Supplies Composed Model Info:")
   print("Model ID: {}".format(model.model_id))
   print("Model name: {}".format(model.model_name))
   print("Is this a composed model?: {}".format(model.properties.is_composed_model))
   print("Status: {}".format(model.status))
   print("Composed model creation started on: {}".format(model.training_started_on))
   print("Creation completed on: {}".format(model.training_completed_on))


begin_training

إنشاء نموذج مخصص وتدريبه. يجب أن يتضمن الطلب معلمة training_files_url وهي عنوان URI لحاوية كائن ثنائي كبير الحجم لتخزين Azure يمكن الوصول إليه خارجيا (ويفضل أن يكون URI توقيع الوصول المشترك). لاحظ أن URI للحاوية (بدون SAS) يتم قبوله فقط عندما تكون الحاوية عامة أو يكون لها هوية مدارة تم تكوينها، راجع المزيد حول تكوين الهويات المدارة للعمل مع Form Recognizer هنا: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. يتم تدريب النماذج باستخدام المستندات من نوع المحتوى التالي - "application/pdf" أو "image/jpeg" أو "image/png" أو "image/tiff" أو "image/bmp". يتم تجاهل أنواع أخرى من المحتوى في الحاوية.

جديد في الإصدار v2.1: وسيطة الكلمة الأساسية model_name

begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> LROPoller[CustomFormModel]

المعلمات

training_files_url
str
مطلوب

SAS URI الخاص بحاوية Azure Storage blob. يمكن استخدام URI للحاوية (بدون SAS) إذا كانت الحاوية عامة أو تم تكوين هوية مدارة. لمزيد من المعلومات حول إعداد مجموعة بيانات التدريب، راجع: https://aka.ms/azsdk/formrecognizer/buildtrainingset.

use_training_labels
bool
مطلوب

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

prefix
str

سلسلة بادئة حساسة لحالة الأحرف لتصفية المستندات في المسار المصدر للتدريب. على سبيل المثال، عند استخدام عنوان URI لكائن ثنائي كبير الحجم لتخزين Azure، استخدم البادئة لتقييد المجلدات الفرعية للتدريب.

include_subfolders
bool

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

model_name
str

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

continuation_token
str

رمز متابعة لإعادة تشغيل الاستقصاء من حالة محفوظة.

المرتجعات

مثيل LROPoller. استدعاء result() على كائن poller لإرجاع CustomFormModel.

نوع الإرجاع

استثناءات

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

أمثلة

تدريب نموذج (بدون تسميات) باستخدام نماذجك المخصصة.


   from azure.ai.formrecognizer import FormTrainingClient
   from azure.core.credentials import AzureKeyCredential

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   container_sas_url = os.environ["CONTAINER_SAS_URL_V2"]

   form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))
   poller = form_training_client.begin_training(container_sas_url, use_training_labels=False)
   model = poller.result()

   # Custom model information
   print("Model ID: {}".format(model.model_id))
   print("Status: {}".format(model.status))
   print("Model name: {}".format(model.model_name))
   print("Training started on: {}".format(model.training_started_on))
   print("Training completed on: {}".format(model.training_completed_on))

   print("Recognized fields:")
   # Looping through the submodels, which contains the fields they were trained on
   for submodel in model.submodels:
       print("...The submodel has form type '{}'".format(submodel.form_type))
       for name, field in submodel.fields.items():
           print("...The model found field '{}' to have label '{}'".format(
               name, field.label
           ))

close

FormTrainingClient أغلق جلسة العمل.

close() -> None

استثناءات

delete_model

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

delete_model(model_id: str, **kwargs: Any) -> None

المعلمات

model_id
str
مطلوب

معرف النموذج.

نوع الإرجاع

استثناءات

أمثلة

حذف نموذج مخصص.


   form_training_client.delete_model(model_id=custom_model.model_id)

   try:
       form_training_client.get_custom_model(model_id=custom_model.model_id)
   except ResourceNotFoundError:
       print("Successfully deleted model with id {}".format(custom_model.model_id))

get_account_properties

احصل على معلومات حول النماذج على حساب أداة التعرف على النماذج.

get_account_properties(**kwargs: Any) -> AccountProperties

المرتجعات

ملخص النماذج على الحساب - عدد النماذج المخصصة، حد النموذج المخصص.

نوع الإرجاع

استثناءات

أمثلة

احصل على خصائص حساب أداة التعرف على النماذج.


   form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   # First, we see how many custom models we have, and what our limit is
   account_properties = form_training_client.get_account_properties()
   print("Our account has {} custom models, and we can have at most {} custom models\n".format(
       account_properties.custom_model_count, account_properties.custom_model_limit
   ))

get_copy_authorization

إنشاء تخويل لنسخ نموذج مخصص إلى مورد Form Recognizer الهدف. يجب استدعاء هذا بواسطة المورد الهدف (حيث سيتم نسخ النموذج إلى) ويمكن تمرير الإخراج كمعلمة الهدف إلى begin_copy_model.

get_copy_authorization(resource_id: str, resource_region: str, **kwargs: Any) -> Dict[str, str | int]

المعلمات

resource_id
str
مطلوب

معرف مورد Azure لمورد Form Recognizer الهدف حيث سيتم نسخ النموذج إليه.

resource_region
str
مطلوب

موقع مورد Form Recognizer الهدف. اسم منطقة Azure صالح مدعوم من الخدمات المعرفية. على سبيل المثال، "westus" و"eastus" وما إلى ذلك. راجع https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services التوفر الإقليمي للخدمات المعرفية.

المرتجعات

قاموس مع قيم تخويل النسخ - "modelId" و"accessToken" و"resourceId" و"resourceRegion" و"expirationDateTimeTicks".

نوع الإرجاع

استثناءات

أمثلة

تخويل المورد الهدف لتلقي النموذج المنسخ


   target_client = FormTrainingClient(endpoint=target_endpoint, credential=AzureKeyCredential(target_key))

   target = target_client.get_copy_authorization(
       resource_region=target_region,
       resource_id=target_resource_id
   )
   # model ID that target client will use to access the model once copy is complete
   print("Model ID: {}".format(target["modelId"]))

get_custom_model

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

get_custom_model(model_id: str, **kwargs: Any) -> CustomFormModel

المعلمات

model_id
str
مطلوب

معرف النموذج.

المرتجعات

نموذج مخصص

نوع الإرجاع

استثناءات

أمثلة

احصل على نموذج مخصص بمعرف نموذج.


   custom_model = form_training_client.get_custom_model(model_id=model.model_id)
   print("\nModel ID: {}".format(custom_model.model_id))
   print("Status: {}".format(custom_model.status))
   print("Model name: {}".format(custom_model.model_name))
   print("Is this a composed model?: {}".format(custom_model.properties.is_composed_model))
   print("Training started on: {}".format(custom_model.training_started_on))
   print("Training completed on: {}".format(custom_model.training_completed_on))

get_form_recognizer_client

احصل على مثيل FormRecognizerClient من FormTrainingClient.

get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient

المرتجعات

A FormRecognizerClient

نوع الإرجاع

استثناءات

list_custom_models

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

list_custom_models(**kwargs: Any) -> ItemPaged[CustomFormModelInfo]

المرتجعات

ItemPaged[CustomFormModelInfo]

نوع الإرجاع

استثناءات

أمثلة

سرد معلومات النموذج لكل نموذج على الحساب.


   custom_models = form_training_client.list_custom_models()

   print("We have models with the following IDs:")
   for model_info in custom_models:
       print(model_info.model_id)

send_request

تشغيل طلب شبكة باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية الحالية للعميل.

يمكن أن يكون عنوان URL للطلب مرتبطا بعنوان URL الأساسي. إصدار واجهة برمجة تطبيقات الخدمة المستخدم للطلب هو نفسه إصدار العميل ما لم يتم تحديد خلاف ذلك. يتم دعم تجاوز إصدار واجهة برمجة التطبيقات المكون للعميل في عنوان URL النسبي على العميل مع إصدار واجهة برمجة التطبيقات 2022-08-31 والإصدارات الأحدث. التجاوز في عنوان URL المطلق المدعوم على العميل مع أي إصدار من واجهة برمجة التطبيقات. لا يرفع هذا الأسلوب إذا كانت الاستجابة خطأ؛ لرفع استثناء، قم باستدعاء raise_for_status() على كائن الاستجابة الذي تم إرجاعه. لمزيد من المعلومات حول كيفية إرسال طلبات مخصصة باستخدام هذا الأسلوب، راجع https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

المعلمات

request
HttpRequest
مطلوب

طلب الشبكة الذي تريد تقديمه.

stream
bool

ما إذا كان سيتم دفق حمولة الاستجابة. الإعدادات الافتراضية معينة على False.

المرتجعات

استجابة مكالمة الشبكة. لا يقوم بمعالجة الأخطاء في استجابتك.

نوع الإرجاع

استثناءات