FormTrainingClient الفصل

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

ملاحظة

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

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

توريث
azure.ai.formrecognizer.aio._form_base_client_async.FormRecognizerClientBaseAsync
FormTrainingClient

الدالمنشئ

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

المعلمات

endpoint
str
مطلوب

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

credential
AzureKeyCredential أو AsyncTokenCredential
مطلوب

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

api_version
str أو FormRecognizerApiVersion

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

أمثلة

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


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer.aio 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.aio import FormTrainingClient
   from azure.identity.aio 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 الأسلوب .

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

المعلمات

model_id
str
مطلوب

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

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

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

continuation_token
str

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

المرتجعات

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

نوع الإرجاع

استثناءات

أمثلة

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


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

   async with source_client:
       poller = await 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 = await 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

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

المعلمات

model_ids
list[str]
مطلوب

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

model_name
str

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

continuation_token
str

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

المرتجعات

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

نوع الإرجاع

استثناءات

أمثلة

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


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer.aio 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))
   async with form_training_client:
       supplies_poller = await form_training_client.begin_training(
           po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
       )
       equipment_poller = await form_training_client.begin_training(
           po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
       )
       furniture_poller = await form_training_client.begin_training(
           po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
       )
       cleaning_supplies_poller = await form_training_client.begin_training(
           po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
       )
       supplies_model = await supplies_poller.result()
       equipment_model = await equipment_poller.result()
       furniture_model = await furniture_poller.result()
       cleaning_supplies_model = await 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 = await form_training_client.begin_create_composed_model(
           models_trained_with_labels, model_name="Office Supplies Composed Model"
       )
       model = await 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

async begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> AsyncLROPoller[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

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

المرتجعات

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

نوع الإرجاع

استثناءات

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

أمثلة

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


   from azure.ai.formrecognizer.aio 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"]

   async with FormTrainingClient(
       endpoint, AzureKeyCredential(key)
   ) as form_training_client:

       poller = await form_training_client.begin_training(container_sas_url, use_training_labels=False)
       model = await 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 أغلق جلسة العمل.

async close() -> None

استثناءات

delete_model

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

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

المعلمات

model_id
str
مطلوب

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

المرتجعات

بلا

نوع الإرجاع

استثناءات

أمثلة

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


   await form_training_client.delete_model(model_id=custom_model.model_id)

   try:
       await 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

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

async get_account_properties(**kwargs: Any) -> AccountProperties

المرتجعات

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

نوع الإرجاع

استثناءات

أمثلة

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


   async with FormTrainingClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_training_client:
       # First, we see how many custom models we have, and what our limit is
       account_properties = await 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.

async 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))

   async with target_client:
       target = await 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

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

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

المعلمات

model_id
str
مطلوب

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

المرتجعات

نموذج مخصص

نوع الإرجاع

استثناءات

أمثلة

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


   custom_model = await form_training_client.get_custom_model(model_id=model_info.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) -> AsyncItemPaged[CustomFormModelInfo]

المرتجعات

AsyncItemPaged[CustomFormModelInfo]

نوع الإرجاع

استثناءات

أمثلة

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


   custom_models = form_training_client.list_custom_models()

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

send_request

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

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

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

المعلمات

request
HttpRequest
مطلوب

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

المرتجعات

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

نوع الإرجاع

استثناءات