Hub Python Library documentation

نقاط نهاية الاستدلال

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v2.4.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

نقاط نهاية الاستدلال

توفّر نقاط الاستدلال (Inference Endpoints) حلاً إنتاجياً آمناً لنشر النماذج بسهولة على بنية تحتية مخصصة وقابلة للتوسع التلقائي تديرها Hugging Face. يُبنى كل نقطة استدلال من نموذج موجود على Hub. هذه الصفحة هي مرجع لتكامل huggingface_hub مع نقاط الاستدلال. لمزيد من المعلومات حول منتج نقاط الاستدلال، راجع وثائقه الرسمية.

اطّلع على الدليل ذي الصلة لمعرفة كيفية استخدام huggingface_hub لإدارة نقاط الاستدلال الخاصة بك برمجياً.

يمكن إدارة نقاط الاستدلال (Inference Endpoints) بالكامل عبر واجهة برمجة التطبيقات (API). وقد وُثّقت هذه النقاط باستخدام Swagger. أما فئة InferenceEndpoint فهي غلاف بسيط مبني فوق هذه الواجهة.

الطرق

تم تنفيذ مجموعة فرعية من ميزات نقطة الاستدلال في HfApi:

InferenceEndpoint

الفئة الرئيسية للبيانات هي InferenceEndpoint. تحتوي على معلومات حول InferenceEndpoint المُنفَّذ، بما في ذلك تكوينه وحالته الحالية. بعد التنفيذ، يمكنك تشغيل الاستدلال على نقطة النهاية باستخدام خاصيتي InferenceEndpoint.client و InferenceEndpoint.async_client اللتين تعيدان كائن InferenceClient وكائن AsyncInferenceClient على التوالي.

فئة huggingface_hub.InferenceEndpoint

< >

( namespace: strraw: dict_token: str | bool | None_api: HfApi )

المعاملات

  • name (str) — الاسم الفريد لنقطة الاستدلال (Inference Endpoint).
  • namespace (str) — المجال الذي يقع فيه نقطة الاستدلال.
  • repository (str) — اسم مستودع النموذج المُنفَّذ على هذا نقطة الاستدلال.
  • status (InferenceEndpointStatus) — الحالة الحالية لنقطة الاستدلال.
  • url (str، اختياري) — رابط نقطة الاستدلال (Inference Endpoint)، إن كان متاحًا. لن يكون لنقطة استدلال URL إلا إذا كانت مُنفَّذة (deployed).
  • framework (str) — إطار التعلم الآلي المستخدم للنموذج.
  • revision (str) — مراجعة النموذج المحددة التي تم نشرها على نقطة الاستدلال.
  • task (str) — المهمة المرتبطة بالنموذج المُنفَّذ.
  • created_at (datetime.datetime) — الطابع الزمني الذي تم فيه إنشاء نقطة الاستدلال.
  • updated_at (datetime.datetime) — طابع الوقت الخاص بآخر تحديث لنقطة الاستدلال (Inference Endpoint).
  • type (InferenceEndpointType) — نوع نقطة الاستدلال (عام، مصادَق، خاص).
  • raw (dict) — بيانات القاموس الخام المُعادَة من واجهة برمجة التطبيقات.
  • token (str أو bool، اختياري) — رمز المصادقة الخاص بنقطة الاستدلال (Inference Endpoint)، إذا تم ضبطه عند طلب الواجهة البرمجية. سيُستخدم الرمز المحفوظ محليًا افتراضيًا إذا لم يُقدَّم. مرّر token=False إذا كنت لا تريد إرسال رمزك إلى الخادم.

تحتوي على معلومات حول نقطة استنتاج (Inference Endpoint) مُنفَّذة.

مثال:

>>> from huggingface_hub import get_inference_endpoint
>>> endpoint = get_inference_endpoint("my-text-to-image")
>>> endpoint
InferenceEndpoint(name='my-text-to-image', ...)

# Get status
>>> endpoint.status
'running'
>>> endpoint.url
'https://68a0f3b5c6ee5c9dcc0e0a01.endpoints.huggingface.cloud'

# Run inference
>>> endpoint.client.text_to_image(...)

# Pause endpoint to save $$$
>>> endpoint.pause()

# ...
# Resume and wait for deployment
>>> endpoint.resume()
>>> endpoint.wait()
>>> endpoint.client.text_to_image(...)

from_raw

< >

( raw: dictnamespace: strtoken: str | bool | None = Noneapi: typing.Optional[ForwardRef('HfApi')] = None )

تهيئة الكائن من قاموس خام.

عميل

< >

( ) → InferenceClient

يعيد

InferenceClient

عميل استدلال يشير إلى نقطة النهاية المنفَّذة.

  • InferenceEndpointError — إذا لم يتم نشر نقطة الاستدلال (Inference Endpoint) بعد.

يعيد عميلاً لإجراء تنبؤات على نقطة الاستدلال هذه.

async_client

< >

( ) → AsyncInferenceClient

عميل استدلال متوافق مع asyncio يشير إلى نقطة النهاية المنفَّذة.

  • InferenceEndpointError — إذا لم يتم نشر نقطة الاستدلال (Inference Endpoint) بعد.

يعيد عميلاً لإجراء تنبؤات على نقطة الاستدلال هذه.

حذف

< >

( )

احذف نقطة الاستدلال.

This operation is not reversible. If you don’t want to be charged for an Inference Endpoint, it is preferable to pause it with InferenceEndpoint.pause() or scale it to zero with InferenceEndpoint.scale_to_zero().

هذا اسم مستعار لـ HfApi.delete_inference_endpoint().

fetch

< >

( ) → InferenceEndpoint

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

جلب أحدث المعلومات حول نقطة الاستدلال.

إيقاف مؤقت

< >

( ) → InferenceEndpoint

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

أوقف نقطة الاستدلال.

لن يتم فرض رسوم على نقطة استنتاج (Inference Endpoint) في حالة الإيقاف المؤقت. يمكن استئنافها في أي وقت باستخدام InferenceEndpoint.resume(). يختلف هذا عن تصفير نقطة الاستنتاج باستخدام InferenceEndpoint.scale_to_zero()، حيث يتم إعادة تشغيلها تلقائياً عند إرسال طلب إليها.

هذا اسم مستعار لـ HfApi.pause_inference_endpoint(). يتم تعديل الكائن الحالي في مكانه باستخدام أحدث البيانات من الخادم.

استئناف

< >

( running_ok: bool = True ) → InferenceEndpoint

المعاملات

  • running_ok (bool، اختياري) — إذا كان True، فلن تطلق الطريقة خطأً إذا كان نقطة الاستدلال قيد التشغيل بالفعل. القيمة الافتراضية هي True.

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

استئناف نقطة الاستدلال.

هذا اسم مستعار لـ HfApi.resume_inference_endpoint(). يتم تعديل الكائن الحالي في مكانه باستخدام أحدث البيانات من الخادم.

scale_to_zero

< >

( ) → InferenceEndpoint

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

قم بتقليص نقطة نهاية الاستدلال إلى صفر.

لن يتم فرض رسوم على نقطة استنتاج (Inference Endpoint) تم تصغيرها إلى صفر. ستُستأنف عند الطلب التالي الموجّه إليها، مع تأخير بدء بارد (cold start). وهذا يختلف عن إيقاف نقطة الاستنتاج مؤقتًا باستخدام InferenceEndpoint.pause()، حيث يتطلب ذلك استئنافًا يدويًا باستخدام InferenceEndpoint.resume().

This is an alias for HfApi.scale_to_zero_inference_endpoint(). The current object is mutated in place with the latest data from the server.

تحديث

< >

( accelerator: str | None = Noneinstance_size: str | None = Noneinstance_type: str | None = Nonemin_replica: int | None = Nonemax_replica: int | None = Nonescale_to_zero_timeout: int | None = Nonerepository: str | None = Noneframework: str | None = Nonerevision: str | None = Nonetask: str | None = Nonecustom_image: dict | None = Nonecontainer_command: list[str] | None = Nonecontainer_args: list[str] | None = Nonetensor_parallel_size: int | None = Nonedata_parallel_size: int | None = Nonesecrets: dict[str, str] | None = None ) → InferenceEndpoint

المعاملات

  • accelerator (str، اختياري) — مُسرِّع العتاد الذي سيُستخدم للاستدلال (مثل "cpu").
  • instance_size (str، اختياري) — الحجم أو النوع للمثال الذي سيُستخدم لاستضافة النموذج (مثل "x4").
  • instance_type (str، اختياري) — نوع مثيل السحابة الذي سيتم نشر نقطة الاستدلال (Inference Endpoint) عليه (مثل "intel-icl").
  • min_replica (int، اختياري) — الحد الأدنى لعدد النسخ (المهام) التي يجب إبقاؤها قيد التشغيل لنقطة الاستدلال.
  • max_replica (int، اختياري) — الحد الأقصى لعدد النسخ (المهام) التي يمكن التوسع إليها لنقطة الاستدلال.
  • scale_to_zero_timeout (int, اختياري) — المدة بالدقائق قبل أن يُقلَّص حجم نقطة النهاية غير النشطة إلى صفر.
  • repository (str، اختياري) — اسم مستودع النموذج المرتبط بنقطة الاستدلال (Inference Endpoint) (مثل "gpt2").
  • framework (str، اختياري) — إطار التعلم الآلي المستخدم للنموذج (مثل "custom").
  • revision (str، اختياري) — المراجعة المحددة للنموذج التي سيتم نشرها على نقطة الاستدلال (Inference Endpoint) (مثل "6c0e6080953db56375760c0471a8c5f2929baf11").
  • task (str، اختياري) — المهمة التي سيتم نشر النموذج عليها (مثل "text-classification").
  • custom_image (dict، اختياري) — صورة الحاوية التي سيتم تشغيلها. إما قاموس مفاتيحه هي نسخ الصور (مثل {"vLLM": {"url": "vllm/vllm-openai:v0.23.0", "port": 8000}‌}، وكذلك sGLang، tgi، tei، llamacpp، hfServe، …)، والذي يُمرَّر كما هو، أو قاموس مسطّح يصف حاوية مخصصة (مثل {"url": ..., "port": ...})، والذي يُرسل على شكل {"custom": ...}.
  • container_command (list[str], اختياري) — تجاوز أمر نقطة الدخول للحاوية (يتوافق مع model.command في حمولة الواجهة البرمجية). يعمل مع صور محركات مُدارة (مثل vLLM وSGLang) والصور المخصصة.
  • container_args (list[str]، اختياري) — الحُجج المُلحَقة بنقطة دخول الحاوية (تتوافق مع model.args في حمولة الواجهة البرمجية). تعمل مع صور المحركات المُدارة (مثل vLLM وSGLang) والصور المخصصة.
  • tensor_parallel_size (int, اختياري) — عدد المعالِجات التي تُقسَّم عليها نسخة واحدة من النموذج (صور vLLM و SGLang). عند عدم تقديم custom_image، يتم جلب الصورة المُهيأة حاليًا على نقطة النهاية وتحديثها في مكانها، لأن واجهة برمجة التطبيقات تتطلب model.image كوحدة كاملة.
  • data_parallel_size (int، اختياري) — عدد نسخ النموذج التي سيتم تشغيلها، نسخة واحدة لكل معجّل (صور vLLM).
  • secrets (dict[str, str]، اختياري) — قيم سرية تُحقن في بيئة الحاوية.

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

تحديث نقطة الاستدلال.

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

هذا اسم مستعار لـ HfApi.update_inference_endpoint(). يتم تعديل الكائن الحالي في مكانه باستخدام أحدث البيانات من الخادم.

انتظار

< >

( timeout: int | None = Nonerefresh_every: int = 5 ) → InferenceEndpoint

المعاملات

  • timeout (int، اختياري) — الحد الأقصى للوقت الذي يجب انتظاره حتى يتم نشر نقطة الاستدلال (Inference Endpoint)، بالثواني. إذا كانت None، فسيتم الانتظار إلى ما لا نهاية.
  • refresh_every (int, اختياري) — المدة التي يجب انتظارها بين كل عملية جلب لحالة نقطة الاستدلال، بالثواني. القيمة الافتراضية هي 5 ثوانٍ.

نقطة الاستدلال (Inference Endpoint) نفسها، مع تعديلها في مكانها باستخدام أحدث البيانات.

يرفع

InferenceEndpointError أو InferenceEndpointTimeoutError

  • InferenceEndpointError — إذا انتهى Inference Endpoint في حالة فشل.
  • InferenceEndpointTimeoutError — إذا لم يتم نشر نقطة الاستدلال (Inference Endpoint) بعد timeout ثانية.

انتظر حتى يتم نشر نقطة الاستدلال (Inference Endpoint).

سيتم جلب المعلومات من الخادم كل ثانية واحدة. إذا لم يتم نشر نقطة الاستدلال (Inference Endpoint) بعد timeout ثانية، فسيتم رفع InferenceEndpointTimeoutError. سيتم تعديل InferenceEndpoint في مكانه باستخدام أحدث البيانات.

InferenceEndpointHardware

فئة huggingface_hub.InferenceEndpointHardware

< >

( id: strvendor: strregion: straccelerator: strinstance_type: strinstance_size: strarchitecture: strnum_accelerators: intnum_cpus: int | Nonememory_gb: floatgpu_memory_gb: int | Noneprice_per_hour: floatstatus: strmax_accelerators: intused_accelerators: int )

المعاملات

  • id (str) — معرّف عتاد فريد، مثل "aws-us-east-1-nvidia-l4-x1".
  • vendor (str) — مزوّد السحابة الذي يستضيف العتاد، مثل "aws".
  • region (str) — منطقة السحابة التي يتوفر فيها العتاد، مثل "us-east-1".
  • accelerator (str) — نوع مُسرِّع العتاد، مثل "cpu" أو "gpu" أو "neuron".
  • instance_type (str) — نوع مثيل السحابة، مثل "nvidia-l4".
  • instance_size (str) — معامل حجم المثيل، مثل "x1".
  • architecture (str) — وصف قابل للقراءة البشرية للمعدات، مثل "Nvidia L4".
  • num_accelerators (int) — عدد وحدات المعالجة المتسارعة لكل نسخة.
  • num_cpus (int، اختياري) — عدد وحدات المعالجة الافتراضية لكل نسخة.
  • memory_gb (float) — ذاكرة الوصول العشوائي لكل نسخة، بالجيجابايت.
  • gpu_memory_gb (int، اختياري) — إجمالي ذاكرة GPU لكل نسخة، بالجيجابايت (أي المجموع عبر num_accelerators). None للأجهزة غير GPU.
  • price_per_hour (float) — التكلفة لكل نسخة في الساعة، بالدولار الأمريكي.
  • status (str) — توفر العتاد: "available"، "low_availability"، "not_available"، "reserved" أو "deprecated".
  • max_accelerators (int) — الحد الأقصى لعدد المعالِجات من هذا النوع المسموح بتشغيلها في نطاق الاسم.
  • used_accelerators (int) — عدد المعالجات من هذا النوع المستخدمة حاليًا بواسطة مساحة الاسم.

تحتوي على معلومات حول تكوين العتاد المتاح لنقاط الاستدلال.

الحقول vendor وregion وaccelerator وinstance_type وinstance_size هي بالضبط القيم التي يجب تمريرها إلى create_inference_endpoint() (أو hf endpoints deploy) للنشر على هذا العتاد.

مثال:

>>> from huggingface_hub import list_inference_endpoints_hardware
>>> hardware = list_inference_endpoints_hardware()
>>> hardware[0]
InferenceEndpointHardware(id='aws-us-east-1-nvidia-l4-x1', vendor='aws', region='us-east-1', ...)

from_raw

< >

( raw: dictvendor: strregion: str )

تهيئة كائن من قاموس حساب خام، مُتداخِل تحت مُورّد ومنطقة في استجابة الواجهة البرمجية.

InferenceCatalogModel

فئة huggingface_hub.InferenceCatalogModel

< >

( repo_id: strname: strauthor: strlicense: strtask: strcreated_at: datetimerecipes: list )

المعاملات

  • repo_id (str) — معرّف مستودع النموذج على Hub، مثل "meta-llama/Llama-3.1-8B-Instruct".
  • name (str) — اسم النموذج، أي الجزء من repo_id الذي يأتي بعد اسم المؤلف، مثل "Llama-3.1-8B-Instruct".
  • author (str) — مؤلف مستودع النموذج، مثل "meta-llama".
  • license (str) — رخصة النموذج، مثل "Apache 2.0".
  • task (str) — المهمة التي تم نشر النموذج عليها، مثل "text-generation".
  • created_at (datetime) — التاريخ الذي أُضيف فيه النموذج إلى الكتالوج.
  • recipes (list[InferenceCatalogRecipe]) — طرق النشر المُختبَرة لهذا النموذج.

تحتوي على معلومات حول نموذج متاح في كتالوج الاستدلال.

مثال:

>>> from huggingface_hub import list_inference_catalog
>>> catalog = list_inference_catalog(engine="vllm")
>>> catalog[0]
InferenceCatalogModel(repo_id='Qwen/Qwen2.5-Coder-7B-Instruct', name='Qwen2.5-Coder-7B-Instruct', ...)

from_raw

< >

( raw: dict )

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

InferenceCatalogRecipe

فئة huggingface_hub.InferenceCatalogRecipe

< >

( id: straccelerator: strengine: strgguf_file: str | Nonerevision: str | None )

المعاملات

  • id (str) — معرّف الوصفة العامة، لتُمرَّر إلى create_inference_endpoint_from_catalog() كـrecipe_id.
  • accelerator (str) — نوع مُسرِّع العتاد الذي يعمل عليه الوصفة، مثل "cpu" أو "gpu" أو "neuron".
  • engine (str) — محرك الاستدلال الذي يعمل به الوصفة، مثل "vllm" أو "llamacpp" أو "tei" أو "sglang".
  • gguf_file (str، اختياري) — ملف GGUF الذي يتم نشره بواسطة الوصفة. يُعيَّن فقط لوصفات "llamacpp".
  • revision (str، اختياري) — مراجعة النموذج التي تم تثبيت الوصفة عليها، إن وُجدت.

تحتوي على معلومات حول طريقة مُختبَرة مسبقًا لنشر نموذج من كتالوج الاستدلال.

الوصفة هي تركيبة من العتاد ومحرك الاستدلال اختبرها فريق نقاط الاستدلال (Inference Endpoints) لنموذج معين. عادةً ما يكون للنموذج وصفة واحدة، لكن يمكن أن يحتوي على عدة وصفات (مثل وصفة للوحات معالجة الرسوميات GPU وأخرى للوحات Neuron، أو وصفة لكل كميّة GGUF).

from_raw

< >

( raw: dict )

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

InferenceEndpointStatus

فئة huggingface_hub.InferenceEndpointStatus

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

تعداد.

InferenceEndpointType

فئة huggingface_hub.InferenceEndpointType

< >

( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )

تعداد.

InferenceEndpointError

فئة huggingface_hub.InferenceEndpointError

< >

( )

استثناء عام عند التعامل مع نقاط الاستدلال.

Update on GitHub