Hub Python Library documentation

الاستدلال

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

الاستدلال

الاستدلال هو عملية استخدام نموذج مدرَّب لإجراء تنبؤات على بيانات جديدة. وبما أن هذه العملية قد تكون كثيفة الحساب، فإن التشغيل على خدمة مخصصة أو خارجية قد يكون خيارًا مثيرًا للاهتمام. توفر مكتبة huggingface_hub واجهة موحدة لتشغيل الاستدلال عبر خدمات متعددة للنماذج المستضافة على Hugging Face Hub:

  1. مزودو الاستدلال: وصول موحّد ومبسّط إلى مئات نماذج تعلّم الآلة، مدعومًا بشركائنا في الاستدلال الخادمي. يستند هذا النهج الجديد إلى واجهة برمجة تطبيقات الاستدلال الخادمي السابقة لدينا، ويوفر نماذج أكثر، وأداءً محسّنًا، وموثوقية أكبر بفضل مزودين من الطراز العالمي. راجع التوثيق للحصول على قائمة بالمزودين المدعومين.
  2. نقاط الاستدلال: منتجٌ لتسهيل نشر النماذج في بيئة الإنتاج. يتم تشغيل الاستدلال بواسطة Hugging Face على بنية تحتية مخصصة ومُدارة بالكامل لدى مزوّد الخدمات السحابية الذي تختاره.
  3. نقاط النهاية المحلية: يمكنك أيضًا تشغيل الاستدلال باستخدام خوادم الاستدلال المحلية مثل llama.cpp وOllama وvLLM وLiteLLM أو Text Generation Inference (TGI) عن طريق توصيل العميل بهذه النقاط النهاية المحلية.

يمكن استدعاء هذه الخدمات باستخدام كائن InferenceClient. يُرجى الرجوع إلى هذا الدليل لمزيد من المعلومات حول كيفية استخدامه.

عميل الاستدلال

فئة huggingface_hub.InferenceClient

< >

( model: str | None = Noneprovider: typing.Union[typing.Literal['baseten', 'cerebras', 'cohere', 'deepinfra', 'fal-ai', 'featherless-ai', 'fireworks-ai', 'groq', 'hf-inference', 'novita', 'nscale', 'openai', 'ovhcloud', 'publicai', 'replicate', 'scaleway', 'together', 'wavespeed', 'zai-org'], typing.Literal['auto'], NoneType] = Nonetoken: str | None = Nonetimeout: float | None = Noneheaders: dict[str, str] | None = Nonecookies: dict[str, str] | None = Nonebill_to: str | None = Nonebase_url: str | None = Noneapi_key: str | None = None )

المعاملات

  • model (str, optional) — النموذج الذي سيتم تشغيل الاستدلال به. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub، مثل meta-llama/Meta-Llama-3-8B-Instruct أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. القيمة الافتراضية هي None، وفي هذه الحالة يتم اختيار نموذج موصى به تلقائيًا للمهمة. ملاحظة: من أجل توافق أفضل مع عميل OpenAI، تم تعيين model كاسم مستعار لـ base_url. هذان الحركان متنافيان. إذا تم تمرير عنوان URL كـ model أو base_url لإكمال المحادثة، فسيتم إضافة مسار لاحقة (/v1)/chat/completions إلى العنوان.
  • provider (str, اختياري) — اسم المزوّد الذي سيتم استخدامه للاستدلال. يمكن أن يكون "baseten" أو "cerebras" أو "cohere" أو "deepinfra" أو "fal-ai" أو "featherless-ai" أو "fireworks-ai" أو "groq" أو "hf-inference" أو "novita" أو "nscale" أو "openai" أو "ovhcloud" أو "publicai" أو "replicate" أو "scaleway" أو "together" أو "wavespeed" أو "zai-org". القيمة الافتراضية هي “auto”: التوجيه التلقائي، والذي يعتمد افتراضيًا على مزوّد “fastest”؛ يمكنك التبديل إلى ترتيب مزوّد “cheapest” أو “preferred” في https://hf.co/settings/inference-providers. إذا كان النموذج عنوان URL أو تم تمرير base_url، فلن يتم استخدام provider.
  • token (str، اختياري) — رمز Hugging Face. إذا لم يُقدَّم، فسيُستخدم الرمز المحفوظ محليًا افتراضيًا. ملاحظة: من أجل توافق أفضل مع عميل OpenAI، تم تعيين token كاسم بديل api_key. هذان الحججان متنافيان تمامًا ولهما نفس السلوك بالضبط.
  • timeout (float, optional) — الحد الأقصى لعدد الثواني التي يجب الانتظار للحصول على استجابة من الخادم. القيمة الافتراضية هي None، مما يعني أنه سيستمر في المحاولة حتى يصبح الخادم متاحًا.
  • headers (dict[str, str], optional) — Additional headers to send to the server. By default only the authorization and user-agent headers are sent. Values in this dictionary will override the default values.
  • bill_to (str, optional) — حساب الفوترة الذي سيتم استخدامه للطلبات. بشكل افتراضي، تُحتسب تكاليف الطلبات على حساب المستخدم. لا يمكن احتساب تكاليف الطلبات إلا على منظمة يكون المستخدم عضوًا فيها، والتي اشتركت في Enterprise Hub.
  • cookies (dict[str, str], optional) — ملفات تعريف إضافية لإرسالها إلى الخادم.
  • base_url (str, optional) — عنوان URL الأساسي لتشغيل الاستدلال. هذا معامل مكرر من model لجعل InferenceClient يتبع نفس النمط الذي يتبعه عميل openai.OpenAI. لا يمكن استخدامه إذا تم تعيين model. القيمة الافتراضية هي None.
  • api_key (str, optional) — رمز يُستخدم للمصادقة. هذا معامل مكرر من token لجعل InferenceClient يتبع نفس النمط الذي يتبعه عميل openai.OpenAI. لا يمكن استخدامه إذا تم تعيين token. القيمة الافتراضية هي None.

قم بتهيئة عميل استدلال جديد.

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

تصنيف الصوت

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonetop_k: int | None = Nonefunction_to_apply: typing.Optional[ForwardRef('AudioClassificationOutputTransform')] = None ) → list[AudioClassificationOutputElement]

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — محتوى الصوت المراد تصنيفه. يمكن أن يكون بيانات صوتية خام، أو ملف صوتي محلي، أو رابط (URL) يشير إلى ملف صوتي.
  • model (str, اختياري) — النموذج المستخدم لتصنيف الصوت. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتصنيف الصوت.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.
  • function_to_apply ("AudioClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.

يعيد

list[AudioClassificationOutputElement]

قائمة من عناصر AudioClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف الصوت على المحتوى الصوتي المقدم.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.audio_classification("audio.flac")
[
    AudioClassificationOutputElement(score=0.4976358711719513, label='hap'),
    AudioClassificationOutputElement(score=0.3677836060523987, label='neu'),
    ...
]

audio_to_audio

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = None ) → list[AudioToAudioOutputElement]

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — محتوى الصوت للنموذج. يمكن أن يكون بيانات صوت خام، أو ملف صوتي محلي، أو رابط يشير إلى ملف صوتي.
  • model (str, اختياري) — يمكن أن يكون النموذج أي نموذج يستقبل ملف صوتي ويعيد ملفًا صوتيًا آخر. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لـ audio_to_audio.

يعيد

list[AudioToAudioOutputElement]

قائمة من عناصر AudioToAudioOutputElement تحتوي على تسمية الصوت، ونوع المحتوى، ومحتوى الصوت في blob.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

يُنفّذ مهام متعددة متعلقة بتحويل الصوت إلى صوت اعتمادًا على النموذج (مثل: تحسين الكلام، فصل المصادر).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> audio_output = client.audio_to_audio("audio.flac")
>>> for i, item in enumerate(audio_output):
>>>     with open(f"output_{i}.flac", "wb") as f:
            f.write(item.blob)

التعرف التلقائي على الكلام

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Noneextra_body: dict | None = None ) → AutomaticSpeechRecognitionOutput

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — المحتوى المطلوب تحويله إلى نص. يمكن أن يكون بيانات صوتية خام، أو ملف صوتي محلي، أو رابط (URL) إلى ملف صوتي.
  • model (str, اختياري) — النموذج المستخدم للتعرف على الكلام. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للتعرف على الكلام.
  • extra_body (dict، اختياري) — معاملات إضافية خاصة بمزوّد الخدمة تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

عنصر يحتوي على النص المنقول وخياراتًا لتقسيمات الطوابع الزمنية.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء التعرف التلقائي على الكلام (ASR أو تحويل الصوت إلى نص) على محتوى الصوت المعطى.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.automatic_speech_recognition("hello_world.flac").text
"hello world"

chat_completion

< >

( messages: listmodel: str | None = Nonestream: bool = Falsefrequency_penalty: float | None = Nonelogit_bias: list[float] | None = Nonelogprobs: bool | None = Nonemax_tokens: int | None = Nonen: int | None = Nonepresence_penalty: float | None = Noneresponse_format: typing.Union[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatText, huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatJSONSchema, huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatJSONObject, NoneType] = Noneseed: int | None = Nonestop: list[str] | None = Nonestream_options: huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputStreamOptions | None = Nonetemperature: float | None = Nonetool_choice: typing.Union[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputToolChoiceClass, ForwardRef('ChatCompletionInputToolChoiceEnum'), NoneType] = Nonetool_prompt: str | None = Nonetools: list[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputTool] | None = Nonetop_logprobs: int | None = Nonetop_p: float | None = Noneextra_body: dict | None = None ) → ChatCompletionOutput or Iterable of ChatCompletionStreamOutput

المعاملات

  • messages (قائمة من ChatCompletionInputMessage) — سجل المحادثة المكوّن من أزواج الأدوار والمحتوى.
  • model (str, اختياري) — النموذج المستخدم لإكمال المحادثة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتوليد النص القائم على المحادثة. راجع https://huggingface.co/tasks/text-generation لمزيد من التفاصيل. إذا كان model معرّف نموذج، فإنه يُمرَّر إلى الخادم كعامل model. إذا كنت ترغب في تحديد عنوان URL مخصص مع ضبط model في حمولة الطلب، فيجب عليك ضبط base_url عند تهيئة InferenceClient.
  • frequency_penalty (float, اختياري) — يعاقب الرموز الجديدة بناءً على ترددها الحالي في النص حتى الآن. النطاق: [-2.0, 2.0]. القيمة الافتراضية هي 0.0.
  • logit_bias (list[float]، اختياري) — يُعدّل احتمال ظهور رموز محددة في المخرجات المولّدة.
  • logprobs (bool, اختياري) — ما إذا كان يجب إرجاع احتمالات السجل (log probabilities) للرموز الناتجة أم لا. إذا كانت القيمة صحيحة، تُرجع احتمالات السجل لكل رمز ناتج مُعاد في محتوى الرسالة.
  • max_tokens (int، اختياري) — الحد الأقصى لعدد الرموز المسموح به في الاستجابة. القيمة الافتراضية هي 100.
  • n (int، اختياري) — عدد الإكمالات التي سيتم توليدها لكل موجه.
  • presence_penalty (float، اختياري) — عدد بين -2.0 و 2.0. تُعاقب القيم الموجبة الرموز الجديدة بناءً على ما إذا كانت تظهر في النص حتى الآن، مما يزيد من احتمال أن يتحدث النموذج عن مواضيع جديدة.
  • response_format (ChatCompletionInputGrammarType()، اختياري) — قيود القواعد. يمكن أن يكون إما JSONSchema أو regex.
  • seed (اختياريint، اختياري) — بذرة لتدفق تحكم قابل للتكرار. القيمة الافتراضية هي None.
  • stop (list[str]، اختياري) — حتى أربعة نصوص تُطلق إنهاء الاستجابة. الافتراضي هو None.
  • stream (bool، اختياري) — تفعيل البث المباشر للاستجابات. القيمة الافتراضية هي False.
  • stream_options (ChatCompletionInputStreamOptions، اختياري) — خيارات لإكمال البث.
  • temperature (float, اختياري) — يتحكم في عشوائية عمليات التوليد. تضمن القيم الأقل إكمالات أقل عشوائية. النطاق: [0, 2]. القيمة الافتراضية هي 1.0.
  • top_logprobs (int, اختياري) — عدد صحيح يتراوح بين 0 و5 يحدد عدد الرموز الأكثر احتمالاً التي يجب إرجاعها في كل موضع للرمز، مع احتمال لوغاريتمي مرتبط بكل منها. يجب تعيين logprobs إلى true إذا تم استخدام هذا المعامل.
  • top_p (float, اختياري) — النسبة من الكلمات التالية الأكثر احتمالاً التي سيتم أخذ عينة منها. يجب أن تكون بين 0 و 1. القيمة الافتراضية هي 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass أو ChatCompletionInputToolChoiceEnum()، اختياري) — الأداة المستخدمة لإكمال النص. القيمة الافتراضية هي “auto”.
  • tool_prompt (str, اختياري) — موجّه يُضاف قبل الأدوات.
  • tools (قائمة من ChatCompletionInputTool، اختياري) — قائمة بالأدوات التي قد يستدعيها النموذج. حاليًا، لا يتم دعم الدوال فقط كأداة. استخدم هذا لتوفير قائمة بالدوال التي قد يولّد النموذج مدخلات JSON لها.
  • extra_body (dict، اختياري) — معاملات إضافية خاصة بمزوّد الخدمة تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

ChatCompletionOutput أو قابل للتكرار من ChatCompletionStreamOutput

النص المولّد المُعاد من الخادم:

  • إذا كان stream=False، يُعاد النص المولّد كـ ChatCompletionOutput (الافتراضي).
  • إذا كان stream=True، يُعاد النص المولّد رمزًا تلو الآخر على شكل تسلسل من ChatCompletionStreamOutput.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

طريقة لإكمال المحادثات باستخدام نموذج لغة محدد.

يُستخدم client.chat_completion كاسم بديل لـ client.chat.completions.create من أجل التوافق مع عميل OpenAI. المدخلات والمخرجات متطابقة تمامًا، واستخدام أيٍّ من الصيغتين سيُنتج نفس النتائج. اطّلع على دليل الاستدلال لمزيد من التفاصيل حول توافق OpenAI.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

>>> from huggingface_hub import InferenceClient
>>> messages = [{"role": "user", "content": "What is the capital of France?"}]
>>> client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
>>> client.chat_completion(messages, max_tokens=100)
ChatCompletionOutput(
    choices=[
        ChatCompletionOutputComplete(
            finish_reason='eos_token',
            index=0,
            message=ChatCompletionOutputMessage(
                role='assistant',
                content='The capital of France is Paris.',
                name=None,
                tool_calls=None
            ),
            logprobs=None
        )
    ],
    created=1719907176,
    id='',
    model='meta-llama/Meta-Llama-3-8B-Instruct',
    object='text_completion',
    system_fingerprint='2.0.4-sha-f426a33',
    usage=ChatCompletionOutputUsage(
        completion_tokens=8,
        prompt_tokens=17,
        total_tokens=25
    )
)

مثال باستخدام البث:

>>> from huggingface_hub import InferenceClient
>>> messages = [{"role": "user", "content": "What is the capital of France?"}]
>>> client = InferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
>>> for token in client.chat_completion(messages, max_tokens=10, stream=True):
...     print(token)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content='The', role='assistant'), index=0, finish_reason=None)], created=1710498504)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content=' capital', role='assistant'), index=0, finish_reason=None)], created=1710498504)
(...)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content=' may', role='assistant'), index=0, finish_reason=None)], created=1710498504)

مثال باستخدام صياغة OpenAI:

# instead of `from openai import OpenAI`
from huggingface_hub import InferenceClient

# instead of `client = OpenAI(...)`
client = InferenceClient(
    base_url=...,
    api_key=...,
)

output = client.chat.completions.create(
    model="meta-llama/Meta-Llama-3-8B-Instruct",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Count to 10"},
    ],
    stream=True,
    max_tokens=1024,
)

for chunk in output:
    print(chunk.choices[0].delta.content)

مثال على استخدام مزوّد طرف ثالث مباشرةً مع معاملات إضافية (خاصة بالمزوّد). سيتم احتساب الاستخدام على حسابك في Together AI.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="together",  # Use Together AI provider
...     api_key="<together_api_key>",  # Pass your Together API key directly
... )
>>> client.chat_completion(
...     model="meta-llama/Meta-Llama-3-8B-Instruct",
...     messages=[{"role": "user", "content": "What is the capital of France?"}],
...     extra_body={"safety_model": "Meta-Llama/Llama-Guard-7b"},
... )

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="novita",  # Use Novita provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> client.chat_completion(
...     model="meta-llama/Meta-Llama-3-8B-Instruct",
...     messages=[{"role": "user", "content": "What is the capital of France?"}],
... )

مثال على استخدام الصورة + النص كمدخلات:

>>> from huggingface_hub import InferenceClient

# provide a remote URL
>>> image_url ="https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
# or a base64-encoded image
>>> image_path = "/path/to/image.jpeg"
>>> with open(image_path, "rb") as f:
...     base64_image = base64.b64encode(f.read()).decode("utf-8")
>>> image_url = f"data:image/jpeg;base64,{base64_image}"

>>> client = InferenceClient("meta-llama/Llama-3.2-11B-Vision-Instruct")
>>> output = client.chat.completions.create(
...     messages=[
...         {
...             "role": "user",
...             "content": [
...                 {
...                     "type": "image_url",
...                     "image_url": {"url": image_url},
...                 },
...                 {
...                     "type": "text",
...                     "text": "Describe this image in one sentence.",
...                 },
...             ],
...         },
...     ],
... )
>>> output
The image depicts the iconic Statue of Liberty situated in New York Harbor, New York, on a clear day.

مثال باستخدام الأدوات:

>>> client = InferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> messages = [
...     {
...         "role": "system",
...         "content": "Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous.",
...     },
...     {
...         "role": "user",
...         "content": "What's the weather like the next 3 days in San Francisco, CA?",
...     },
... ]
>>> tools = [
...     {
...         "type": "function",
...         "function": {
...             "name": "get_current_weather",
...             "description": "Get the current weather",
...             "parameters": {
...                 "type": "object",
...                 "properties": {
...                     "location": {
...                         "type": "string",
...                         "description": "The city and state, e.g. San Francisco, CA",
...                     },
...                     "format": {
...                         "type": "string",
...                         "enum": ["celsius", "fahrenheit"],
...                         "description": "The temperature unit to use. Infer this from the users location.",
...                     },
...                 },
...                 "required": ["location", "format"],
...             },
...         },
...     },
...     {
...         "type": "function",
...         "function": {
...             "name": "get_n_day_weather_forecast",
...             "description": "Get an N-day weather forecast",
...             "parameters": {
...                 "type": "object",
...                 "properties": {
...                     "location": {
...                         "type": "string",
...                         "description": "The city and state, e.g. San Francisco, CA",
...                     },
...                     "format": {
...                         "type": "string",
...                         "enum": ["celsius", "fahrenheit"],
...                         "description": "The temperature unit to use. Infer this from the users location.",
...                     },
...                     "num_days": {
...                         "type": "integer",
...                         "description": "The number of days to forecast",
...                     },
...                 },
...                 "required": ["location", "format", "num_days"],
...             },
...         },
...     },
... ]

>>> response = client.chat_completion(
...     model="meta-llama/Meta-Llama-3-70B-Instruct",
...     messages=messages,
...     tools=tools,
...     tool_choice="auto",
...     max_tokens=500,
... )
>>> response.choices[0].message.tool_calls[0].function
ChatCompletionOutputFunctionDefinition(
    arguments={
        'location': 'San Francisco, CA',
        'format': 'fahrenheit',
        'num_days': 3
    },
    name='get_n_day_weather_forecast',
    description=None
)

مثال على استخدام response_format:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> messages = [
...     {
...         "role": "user",
...         "content": "I saw a puppy a cat and a raccoon during my bike ride in the park. What did I see and when?",
...     },
... ]
>>> response_format = {
...     "type": "json",
...     "value": {
...         "properties": {
...             "location": {"type": "string"},
...             "activity": {"type": "string"},
...             "animals_seen": {"type": "integer", "minimum": 1, "maximum": 5},
...             "animals": {"type": "array", "items": {"type": "string"}},
...         },
...         "required": ["location", "activity", "animals_seen", "animals"],
...     },
... }
>>> response = client.chat_completion(
...     messages=messages,
...     response_format=response_format,
...     max_tokens=500,
... )
>>> response.choices[0].message.content
'{

y": "bike ride",
": ["puppy", "cat", "raccoon"],
_seen": 3,
n": "park"}'

document_question_answering

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]question: strmodel: str | None = Nonedoc_stride: int | None = Nonehandle_impossible_answer: bool | None = Nonelang: str | None = Nonemax_answer_len: int | None = Nonemax_question_len: int | None = Nonemax_seq_len: int | None = Nonetop_k: int | None = Noneword_boxes: list[list[float] | str] | None = None ) → list[DocumentQuestionAnsweringOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO]) — الصورة المدخلة للسياق. يمكن أن تكون بايتات خام، أو ملف صورة، أو رابط URL لصورة على الإنترنت.
  • question (str) — السؤال المطلوب الإجابة عنه.
  • model (str، اختياري) — النموذج المستخدم لمهمة الإجابة عن الأسئلة في المستندات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج الإجابة عن الأسئلة في المستندات الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • doc_stride (int, اختياري) — إذا كانت الكلمات في المستند طويلة جدًا بحيث لا تتسع مع السؤال للنموذج، فسيتم تقسيمها إلى عدة مقاطع مع بعض التداخل. يتحكم هذا الحجم في حجم ذلك التداخل.
  • handle_impossible_answer (bool، اختياري) — ما إذا كان سيتم قبول "مستحيل" كإجابة
  • lang (str، اختياري) — اللغة المستخدمة أثناء تشغيل التعرف الضوئي على الحروف. القيمة الافتراضية هي الإنجليزية.
  • max_answer_len (int، اختياري) — الحد الأقصى لطول الإجابات المتوقعة (على سبيل المثال، تُعتبَر الإجابات ذات الطول الأقصر فقط).
  • max_question_len (int، اختياري) — الحد الأقصى لطول السؤال بعد الترميز. سيتم اقتطاعه إذا لزم الأمر.
  • max_seq_len (int, اختياري) — الحد الأقصى لطول الجملة الإجمالي (السياق + السؤال) بوحدة الرموز لكل مقطع يُمرَّر إلى النموذج. سيتم تقسيم السياق إلى عدة مقاطع (باستخدام doc_stride كتداخل) عند الحاجة.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). يمكن إرجاع عدد أقل من top_k إجابات إذا لم تتوفر خيارات كافية ضمن السياق.
  • word_boxes (list[Union[list[float], str, اختياري) — قائمة بالكلمات ومربعات الحدود (معايرة من 0 إلى 1000). إذا تم تقديمها، سيتخطى الاستدلال خطوة التعرف الضوئي على الحروف (OCR) ويستخدم مربعات الحدود المقدمة بدلاً من ذلك.

يعيد

list[DocumentQuestionAnsweringOutputElement]

قائمة من عناصر DocumentQuestionAnsweringOutputElement تحتوي على التسمية المتوقعة، والاحتمال المرتبط بها، ومعرفات الكلمات، ورقم الصفحة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

الإجابة على الأسئلة المتعلقة بصور المستندات.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.document_question_answering(image="https://huggingface.co/spaces/impira/docquery/resolve/2359223c1837a7587402bda0f2643382a6eefeab/invoice.png", question="What is the invoice number?")
[DocumentQuestionAnsweringOutputElement(answer='us-001', end=16, score=0.9999666213989258, start=16)]

استخراج الميزات

< >

( text: str | list[str]normalize: bool | None = Noneprompt_name: str | None = Nonetruncate: bool | None = Nonetruncation_direction: typing.Optional[typing.Literal['left', 'right']] = Nonedimensions: int | None = Noneencoding_format: typing.Optional[typing.Literal['float', 'base64']] = Nonemodel: str | None = None ) → np.ndarray

المعاملات

  • text (str أو list[str]) — النص أو قائمة النصوص التي سيتم تضمينها.
  • model (str، اختياري) — النموذج المستخدم لمهمة استخراج الميزات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج استخراج الميزات الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • normalize (bool, اختياري) — ما إذا كان سيتم تطبيع التضمينات أم لا. متاح فقط على الخادم المدعوم بواسطة Text-Embedding-Inference.
  • prompt_name (str, optional) — The name of the prompt that should be used by for encoding. If not set, no prompt will be applied. Must be a key in the Sentence Transformers configuration prompts dictionary. For example if prompt_name is “query” and the prompts is {“query”: “query: ”,…}, then the sentence “What is the capital of France?” will be encoded as “query: What is the capital of France?” because the prompt text will be prepended before any text to encode.
  • truncate (bool، اختياري) — ما إذا كان سيتم تقصير التضمينات أم لا. متاح فقط على الخوادم المدعومة بواسطة Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”]، اختياري) — الجهة التي يجب قصّ المدخل منها عند تمرير truncate=True.
  • dimensions (int، اختياري) — عدد الأبعاد التي يجب أن تمتلكها التضمينات الناتجة. متوفر فقط على نقاط النهاية المتوافقة مع OpenAI للتضمينات.
  • encoding_format (Literal[“float”, “base64”]، اختياري) — تنسيق التضمينات الناتجة. إما “float” أو “base64”. متوفر فقط على نقاط النهاية المتوافقة مع OpenAI للتضمينات.

يعيد

np.ndarray

المضمّن الذي يمثل النص(نص) المدخل كمصفوفة numpy من نوع float32.

يرفع

[InferenceTimeoutError] أو [HfHubHTTPError]

  • [InferenceTimeoutError] — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • [HfHubHTTPError] — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

توليد تمثيلات نصية لنص معين أو دفعة من النصوص.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.feature_extraction("Hi, who are you?")
array([[ 2.424802  ,  2.93384   ,  1.1750331 , ...,  1.240499, -0.13776633, -0.7889173 ],
[-0.42943227, -0.6364878 , -1.693462  , ...,  0.41978157, -2.4336355 ,  0.6162071 ],
...,
[ 0.28552425, -0.928395  , -1.2077185 , ...,  0.76810825, -2.1069427 ,  0.6236161 ]], dtype=float32)

fill_mask

< >

( text: strmodel: str | None = Nonetargets: list[str] | None = Nonetop_k: int | None = None ) → list[FillMaskOutputElement]

المعاملات

  • text (str) — نص يُعبأ منه، يجب أن يحتوي على رمز [MASK] (راجع بطاقة النموذج لمعرفة الاسم الدقيق للرمز).
  • model (str، اختياري) — النموذج المستخدم لمهمة ملء الأقنعة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج ملء الأقنعة الافتراضي الموصى به.
  • targets (list[str, اختياري) — عند تمرير هذه المعلمة، سيقتصر النموذج على حساب الدرجات للأهداف المُمرَّرة بدلاً من البحث في كامل المفردات. إذا لم تكن الأهداف المُقدَّمة موجودة في مفردات النموذج، فسيتم تقسيمها إلى رموز (توكنز) وسيتم استخدام أول رمز ناتج (مع تحذير، وقد يكون ذلك أبطأ).
  • top_k (int، اختياري) — عند تمريره، يتجاوز عدد التنبؤات المطلوب إرجاعه.

يعيد

list[FillMaskOutputElement]

قائمة من عناصر FillMaskOutputElement تحتوي على التسمية المتوقعة، والاحتمال المرتبط بها، ومرجع الرمز، والنص المكتمل.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

املأ الفراغ بكلمة مفقودة (أو بدقة أكبر، بـ token).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.fill_mask("The goal of life is <mask>.")
[
    FillMaskOutputElement(score=0.06897063553333282, token=11098, token_str=' happiness', sequence='The goal of life is happiness.'),
    FillMaskOutputElement(score=0.06554922461509705, token=45075, token_str=' immortality', sequence='The goal of life is immortality.')
]

get_endpoint_info

< >

( model: str | None = None ) → dict[str, Any]

المعاملات

  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

يعيد

dict[str, Any]

معلومات حول نقطة النهاية.

احصل على معلومات حول نقطة النهاية المنفَّذة.

يتوفر هذا الطرف البرمجي فقط على الأطراف البرمجية المدعومة بواسطة Text-Generation-Inference (TGI) أو Text-Embedding-Inference (TEI). تعيد الأطراف البرمجية المدعومة بواسطة transformers حمولة فارغة.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> client.get_endpoint_info()
{
    'model_id': 'meta-llama/Meta-Llama-3-70B-Instruct',
    'model_sha': None,
    'model_dtype': 'torch.float16',
    'model_device_type': 'cuda',
    'model_pipeline_tag': None,
    'max_concurrent_requests': 128,
    'max_best_of': 2,
    'max_stop_sequences': 4,
    'max_input_length': 8191,
    'max_total_tokens': 8192,
    'waiting_served_ratio': 0.3,
    'max_batch_total_tokens': 1259392,
    'max_waiting_tokens': 20,
    'max_batch_size': None,
    'validation_workers': 32,
    'max_client_batch_size': 4,
    'version': '2.0.2',
    'sha': 'dccab72549635c7eb5ddb17f43f0b7cdff07c214',
    'docker_label': 'sha-dccab72'
}

health_check

< >

( model: str | None = None ) → bool

المعاملات

  • model (str، اختياري) — رابط نقطة الاستدلال (Inference Endpoint). يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

يعيد

bool

صحيح إذا كان كل شيء يعمل بشكل سليم.

تحقق من صحة نقطة النهاية المنفَّذة.

يتوفر فحص الحالة فقط مع نقاط الاستدلال المدعومة بواسطة Text-Generation-Inference (TGI) أو Text-Embedding-Inference (TEI).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient("https://jzgu0buei5.us-east-1.aws.endpoints.huggingface.cloud")
>>> client.health_check()
True

image_classification

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonefunction_to_apply: typing.Optional[ForwardRef('ImageClassificationOutputTransform')] = Nonetop_k: int | None = None ) → list[ImageClassificationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة التي سيتم تصنيفها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم لتصنيف الصور. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتصنيف الصور.
  • function_to_apply ("ImageClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.

يعيد

list[ImageClassificationOutputElement]

قائمة من عناصر ImageClassificationOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

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

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.image_classification("https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg")
[ImageClassificationOutputElement(label='Blenheim spaniel', score=0.9779096841812134), ...]

image_segmentation

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonemask_threshold: float | None = Noneoverlap_mask_area_threshold: float | None = Nonesubtask: typing.Optional[ForwardRef('ImageSegmentationSubtask')] = Nonethreshold: float | None = None ) → list[ImageSegmentationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المراد تجزئتها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم لتجزئة الصور. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتجزئة الصور.
  • mask_threshold (float، اختياري) — العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.
  • overlap_mask_area_threshold (float، اختياري) — حدّ تداخل الأقنعة لإزالة المقاطع الصغيرة غير المتصلة.
  • subtask ("ImageSegmentationSubtask"، اختياري) — مهمة التقطيع التي سيتم تنفيذها، اعتمادًا على قدرات النموذج.
  • threshold (float، اختياري) — حد الاحتمال لاستبعاد الأقنعة المتوقعة.

يعيد

list[ImageSegmentationOutputElement]

قائمة من عناصر ImageSegmentationOutputElement تحتوي على الأقنعة المجزأة والخصائص المرتبطة بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

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

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.image_segmentation("cat.jpg")
[ImageSegmentationOutputElement(score=0.989008, label='LABEL_184', mask=<PIL.PngImagePlugin.PngImageFile image mode=L size=400x300 at 0x7FDD2B129CC0>), ...]

image_to_image

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]prompt: str | None = Nonenegative_prompt: str | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Nonemodel: str | None = Nonetarget_size: huggingface_hub.inference._generated.types.image_to_image.ImageToImageTargetSize | None = None**kwargs ) → Image

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة للترجمة. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • prompt (str، اختياري) — نصّ الأمر الموجّه لتوليد الصورة.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الصورة.
  • num_inference_steps (int, اختياري) — لنماذج الانتشار. عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — لنماذج الانتشار. تشجع قيمة أعلى لمقياس التوجيه النموذج على توليد صور مرتبطة ارتباطًا وثيقًا بالموجّه النصي على حساب انخفاض جودة الصورة.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • target_size (ImageToImageTargetSize، اختياري) — حجم الصورة الناتجة بالبكسل. يدعم هذا المعامل بعض المزودين فقط ولأطر نماذج محددة. سيتم تجاهله عند عدم دعمه.

يعيد

Image

الصورة المُترجمة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

نفّذ ترجمة صورة إلى صورة باستخدام نموذج محدد.

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> image = client.image_to_image("cat.jpg", prompt="turn the cat into a tiger")
>>> image.save("tiger.jpg")

image_to_text

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = None ) → ImageToTextOutput

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة التي سيتم إنشاء وصف لها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

النص المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

يستقبل صورة مدخلة ويعيد نصًا.

يمكن أن تختلف مخرجات النماذج اختلافًا كبيرًا اعتمادًا على حالة الاستخدام (وصف الصور، التعرف الضوئي على الحروف (OCR)، Pix2Struct، إلخ). يرجى الاطلاع على بطاقة النموذج لمعرفة المزيد حول خصائص النموذج.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.image_to_text("cat.jpg")
'a cat standing in a grassy field '
>>> client.image_to_text("https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg")
'a dog laying on the grass next to a flower pot '

image_to_video

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Noneprompt: str | None = Nonenegative_prompt: str | None = Nonenum_frames: float | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Noneseed: int | None = Nonetarget_size: huggingface_hub.inference._generated.types.image_to_video.ImageToVideoTargetSize | None = None**kwargs ) → bytes

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المُدخَلة لتوليد فيديو منها. يمكن أن تكون بايتات خام، أو ملف صورة، أو رابط URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • prompt (str، اختياري) — نصّ الأمر الموجّه لتوليد الفيديو.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الفيديو.
  • num_frames (float, اختياري) — يحدد معامل num_frames عدد إطارات الفيديو التي سيتم توليدها.
  • num_inference_steps (int, اختياري) — لنماذج الانتشار. عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — لنماذج الانتشار. تشجع قيمة أعلى لمقياس التوجيه النموذج على توليد مقاطع فيديو مرتبطة ارتباطًا وثيقًا بالموجّه النصي على حساب انخفاض جودة الصورة.
  • seed (int, اختياري) — البذرة المستخدمة لتوليد الفيديو.
  • target_size (ImageToVideoTargetSize، اختياري) — حجم إطارات الفيديو الناتجة بالبكسل.
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.

يعيد

bytes

الفيديو المُولَّد.

إنشاء فيديو من صورة مدخلة.

أمثلة:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> video = client.image_to_video("cat.jpg", model="Wan-AI/Wan2.2-I2V-A14B", prompt="turn the cat into a tiger")
>>> with open("tiger.mp4", "wb") as f:
...     f.write(video)

object_detection

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonethreshold: float | None = None ) → list[ObjectDetectionOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة التي سيتم اكتشاف الكائنات عليها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للكشف عن الكائنات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للكشف عن الكائنات (DETR).
  • threshold (float، اختياري) — الاحتمال المطلوب لإصدار التنبؤ.

يعيد

list[ObjectDetectionOutputElement]

قائمة من عناصر ObjectDetectionOutputElement تحتوي على صناديق الحدود والسمات المرتبطة بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError أو ValueError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.
  • ValueError — إذا لم يكن ناتج الطلب قائمة (List).

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

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.object_detection("people.jpg")
[ObjectDetectionOutputElement(score=0.9486683011054993, label='person', box=ObjectDetectionBoundingBox(xmin=59, ymin=39, xmax=420, ymax=510)), ...]

question_answering

< >

( question: strcontext: strmodel: str | None = Nonealign_to_words: bool | None = Nonedoc_stride: int | None = Nonehandle_impossible_answer: bool | None = Nonemax_answer_len: int | None = Nonemax_question_len: int | None = Nonemax_seq_len: int | None = Nonetop_k: int | None = None ) → Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

المعاملات

  • question (str) — السؤال المطلوب الإجابة عنه.
  • context (str) — سياق السؤال.
  • model (str) — النموذج المستخدم لمهمة الإجابة على الأسئلة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة.
  • align_to_words (bool، اختياري) — يحاول محاذاة الإجابة مع الكلمات الفعلية. يحسّن الجودة في اللغات المفصولة بالمسافات. قد يُضعف الأداء في اللغات غير المفصولة بالمسافات (مثل اليابانية أو الصينية)
  • doc_stride (int, اختياري) — إذا كان السياق طويلاً جداً بحيث لا يتسع مع السؤال للنموذج، فسيتم تقسيمه إلى عدة مقاطع مع بعض التداخل. يتحكم هذا الحجم في حجم ذلك التداخل.
  • handle_impossible_answer (bool، اختياري) — ما إذا كان سيتم قبول "مستحيل" كإجابة.
  • max_answer_len (int، اختياري) — الحد الأقصى لطول الإجابات المتوقعة (على سبيل المثال، تُعتبَر الإجابات ذات الطول الأقصر فقط).
  • max_question_len (int، اختياري) — الحد الأقصى لطول السؤال بعد الترميز. سيتم اقتطاعه إذا لزم الأمر.
  • max_seq_len (int, اختياري) — الحد الأقصى لطول الجملة الإجمالي (السياق + السؤال) بوحدة الرموز لكل مقطع يُمرَّر إلى النموذج. سيتم تقسيم السياق إلى عدة مقاطع (باستخدام docStride كتداخل) عند الحاجة.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). لاحظ أننا نعيد عددًا أقل من إجابات topk إذا لم تتوفر خيارات كافية ضمن السياق.

يعيد

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

عندما تكون قيمة top_k تساوي 1 أو غير محددة، تُرجع عنصرًا واحدًا من نوع QuestionAnsweringOutputElement. عندما تكون قيمة top_k أكبر من 1، تُرجع قائمة من عناصر QuestionAnsweringOutputElement.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

استخراج الإجابة عن سؤال من نص معيّن.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.question_answering(question="What's my name?", context="My name is Clara and I live in Berkeley.")
QuestionAnsweringOutputElement(answer='Clara', end=16, score=0.9326565265655518, start=11)

تشابه_الجملة

< >

( sentence: strother_sentences: listmodel: str | None = None ) → list[float]

المعاملات

  • sentence (str) — الجملة الرئيسية التي تُقارن بالجمل الأخرى.
  • other_sentences (list[str]) — قائمة الجُمل التي سيتم إجراء المقارنة معها.
  • model (str، اختياري) — النموذج المستخدم لمهمة تشابه الجمل. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تشابه الجمل الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

list[float]

التمثيل المتجهي (Embedding) للنص المُدخل.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

احسب التشابه الدلالي بين جملة وقائمة من الجمل الأخرى من خلال مقارنة تمثيلاتها المتجهة.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.sentence_similarity(
...     "Machine learning is so easy.",
...     other_sentences=[
...         "Deep learning is so straightforward.",
...         "This is so difficult, like rocket science.",
...         "I can't believe how much I struggled with this.",
...     ],
... )
[0.7785726189613342, 0.45876261591911316, 0.2906220555305481]

تلخيص

< >

( text: strmodel: str | None = Noneclean_up_tokenization_spaces: bool | None = Nonegenerate_parameters: dict[str, typing.Any] | None = Nonetruncation: typing.Optional[ForwardRef('SummarizationTruncationStrategy')] = None ) → SummarizationOutput

المعاملات

  • text (str) — النص المُدخل للتلخيص.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للتلخيص.
  • clean_up_tokenization_spaces (bool، اختياري) — ما إذا كان سيتم تنظيف المسافات الإضافية المحتملة في نص المخرجات.
  • generate_parameters (dict[str, Any]، اختياري) — إعدادات إضافية لخوارزمية توليد النص.
  • truncation ("SummarizationTruncationStrategy"، اختياري) — استراتيجية الاقتطاع المستخدمة.

نص الملخص المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

توليد ملخص لنص معيّن باستخدام نموذج محدد.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.summarization("The Eiffel tower...")
SummarizationOutput(generated_text="The Eiffel tower is one of the most famous landmarks in the world....")

table_question_answering

< >

( table: dictquery: strmodel: str | None = Nonepadding: typing.Optional[ForwardRef('Padding')] = Nonesequential: bool | None = Nonetruncation: bool | None = None ) → TableQuestionAnsweringOutputElement

المعاملات

  • table (str) — جدول بيانات مُعبَّر عنه على شكل قاموس من القوائم، حيث تكون العناصر رؤوسًا وتكون القوائم جميع القيم، ويجب أن تكون جميع القوائم بنفس الحجم.
  • query (str) — الاستعلام كنص عادي الذي تريد طرحه على الجدول.
  • model (str) — النموذج المستخدم لمهمة الإجابة عن الأسئلة المتعلقة بالجداول. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة.
  • padding ("Padding"، اختياري) — يفعّل التحكم في الحشو.
  • sequential (bool, اختياري) — ما إذا كان سيتم تنفيذ الاستدلال بشكل تسلسلي أو كدفعة. الدفعات أسرع، لكن نماذج مثل SQA تتطلب تنفيذ الاستدلال بشكل تسلسلي لاستخراج العلاقات داخل التسلسلات، نظرًا لطبيعتها الحوارية.
  • truncation (bool، اختياري) — يفعّل التحكم في القص.

إخراج سؤال وإجابة على جدول يحتوي على الإجابة، والإحداثيات، والخلايا، والمجمّع المستخدم.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

استخراج الإجابة عن سؤال من المعلومات المعطاة في جدول.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> query = "How many stars does the transformers repository have?"
>>> table = {"Repository": ["Transformers", "Datasets", "Tokenizers"], "Stars": ["36542", "4512", "3934"]}
>>> client.table_question_answering(table, query, model="google/tapas-base-finetuned-wtq")
TableQuestionAnsweringOutputElement(answer='36542', coordinates=[[0, 1]], cells=['36542'], aggregator='AVERAGE')

tabular_classification

< >

( table: dictmodel: str | None = None ) → List

المعاملات

  • table (dict[str, Any]) — مجموعة من السمات التي سيتم تصنيفها.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف البيانات الجدولية. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام نموذج التصنيف الجدولي الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

List

قائمة من التسميات، واحدة لكل صف في الجدول الأولي.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

تصنيف فئة مستهدفة (مجموعة) بناءً على مجموعة من السمات.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> table = {
...     "fixed_acidity": ["7.4", "7.8", "10.3"],
...     "volatile_acidity": ["0.7", "0.88", "0.32"],
...     "citric_acid": ["0", "0", "0.45"],
...     "residual_sugar": ["1.9", "2.6", "6.4"],
...     "chlorides": ["0.076", "0.098", "0.073"],
...     "free_sulfur_dioxide": ["11", "25", "5"],
...     "total_sulfur_dioxide": ["34", "67", "13"],
...     "density": ["0.9978", "0.9968", "0.9976"],
...     "pH": ["3.51", "3.2", "3.23"],
...     "sulphates": ["0.56", "0.68", "0.82"],
...     "alcohol": ["9.4", "9.8", "12.6"],
... }
>>> client.tabular_classification(table=table, model="julien-c/wine-quality")
["5", "5", "5"]

tabular_regression

< >

( table: dictmodel: str | None = None ) → List

المعاملات

  • table (dict[str, Any]) — مجموعة من السمات المخزنة في جدول. يمكن أن تكون السمات المستخدمة للتنبؤ بالهدف رقمية أو فئوية.
  • model (str، اختياري) — النموذج المستخدم لمهمة الانحدار الجدولي. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الجدولي الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

List

قائمة بقيم الهدف الرقمية المتوقعة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

التنبؤ بقيمة رقمية مستهدفة بناءً على مجموعة من السمات/الميزات في جدول.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> table = {
...     "Height": ["11.52", "12.48", "12.3778"],
...     "Length1": ["23.2", "24", "23.9"],
...     "Length2": ["25.4", "26.3", "26.5"],
...     "Length3": ["30", "31.2", "31.1"],
...     "Species": ["Bream", "Bream", "Bream"],
...     "Width": ["4.02", "4.3056", "4.6961"],
... }
>>> client.tabular_regression(table, model="scikit-learn/Fish-Weight")
[110, 120, 130]

text_classification

< >

( text: strmodel: str | None = Nonetop_k: int | None = Nonefunction_to_apply: typing.Optional[ForwardRef('TextClassificationOutputTransform')] = None ) → list[TextClassificationOutputElement]

المعاملات

  • text (str) — نص يُصنَّف.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف النصوص. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف النصوص الافتراضي الموصى به. القيمة الافتراضية هي None.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.
  • function_to_apply ("TextClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.

يعيد

list[TextClassificationOutputElement]

قائمة من عناصر TextClassificationOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف النصوص (مثل تحليل المشاعر) على النص المعطى.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.text_classification("I like you")
[
    TextClassificationOutputElement(label='POSITIVE', score=0.9998695850372314),
    TextClassificationOutputElement(label='NEGATIVE', score=0.0001304351753788069),
]

text_generation

< >

( prompt: strdetails: bool | None = Nonestream: bool | None = Nonemodel: str | None = Noneadapter_id: str | None = Nonebest_of: int | None = Nonedecoder_input_details: bool | None = Nonedo_sample: bool | None = Nonefrequency_penalty: float | None = Nonegrammar: huggingface_hub.inference._generated.types.text_generation.TextGenerationInputGrammarType | None = Nonemax_new_tokens: int | None = Nonerepetition_penalty: float | None = Nonereturn_full_text: bool | None = Noneseed: int | None = Nonestop: list[str] | None = Nonetemperature: float | None = Nonetop_k: int | None = Nonetop_n_tokens: int | None = Nonetop_p: float | None = Nonetruncate: int | None = Nonetypical_p: float | None = Nonewatermark: bool | None = None ) → Union[str, TextGenerationOutput, Iterable[str], Iterable[TextGenerationStreamOutput]]

المعاملات

  • prompt (str) — النص المُدخل.
  • details (bool، اختياري) — بشكل افتراضي، تُرجع text_generation نصًا. مرّر details=True إذا كنت ترغب في مخرجات مفصّلة (رموز، احتمالات، بذرة، سبب الانتهاء، إلخ). متاحة فقط للنماذج التي تعمل مع الخلفية text-generation-inference.
  • stream (bool، اختياري) — بشكل افتراضي، تُرجع text_generation النص المولَّد كاملاً. مرّر stream=True إذا كنت ترغب في استلام تدفّق من الرموز. متوفر فقط للنماذج التي تعمل مع واجهة text-generation-inference.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • adapter_id (str, اختياري) — معرّف مُكيّف Lora.
  • best_of (int، اختياري) — توليد تسلسلات best_of وإرجاع التسلسل الذي يحتوي على أعلى قيم logprobs للرموز.
  • decoder_input_details (bool، اختياري) — إرجاع احتمالات السجلات والمعرّفات لرموز مدخلات المُفكِّك. يجب عليك ضبط details=True أيضًا حتى يُؤخذ ذلك في الاعتبار. القيمة الافتراضية هي False.
  • do_sample (bool، اختياري) — تفعيل أخذ عينات من القيم اللوجستية
  • frequency_penalty (float, اختياري) — عدد بين -2.0 و 2.0. تُعاقب القيم الموجبة الرموز الجديدة بناءً على ترددها الحالي في النص حتى الآن، مما يقلل من احتمال تكرار النموذج لنفس السطر حرفياً.
  • grammar (TextGenerationInputGrammarType، اختياري) — قيود القواعد. يمكن أن تكون إما JSONSchema أو regex.
  • max_new_tokens (int, اختياري) — الحد الأقصى لعدد الرموز المولّدة. القيمة الافتراضية هي 100.
  • repetition_penalty (float, اختياري) — المعامل الخاص بعقوبة التكرار. القيمة 1.0 تعني عدم وجود عقوبة. راجع هذا الورقة لمزيد من التفاصيل.
  • return_full_text (bool، اختياري) — ما إذا كان يجب إضافة الموجه إلى النص المولّد
  • seed (int، اختياري) — بذرة العينة العشوائية
  • stop (list[str]، اختياري) — توقف عن توليد الرموز إذا تم توليد أحد أعضاء stop.
  • temperature (float، اختياري) — القيمة المستخدمة لتعديل توزيع القيم اللوجستية (logits).
  • top_n_tokens (int، اختياري) — إرجاع معلومات حول الرموز الأكثر احتمالاً بعدد top_n_tokens في كل خطوة من خطوات التوليد، بدلاً من الرمز المُستخرج فقط.
  • top_k (int, *اختياري`) — عدد رموز المفردات ذات أعلى احتمالات التي يجب الاحتفاظ بها لتصفية أعلى ك.
  • top_p (float, *optional) -- If set to < 1, only the smallest set of most probable tokens with probabilities that add up to top_p` or higher are kept for generation.
  • truncate (int, *اختياري`) — يقوم بقص رموز الإدخال إلى الحجم المحدد.
  • typical_p (float, *اختياري`) — كتلة فك التشفير النموذجي (Typical Decoding) راجع فك التشفير النموذجي لتوليد اللغة الطبيعية لمزيد من المعلومات
  • watermark (bool, optional) — Watermarking with A Watermark for Large Language Models

يعيد

Union[str, TextGenerationOutput, Iterable[str], Iterable[TextGenerationStreamOutput]]

النص المولّد المُعاد من الخادم:

  • إذا كان stream=False وdetails=False، يُعاد النص المولّد كـstr (الافتراضي)
  • إذا كان stream=True وdetails=False، يُعاد النص المولّد رمزًا تلو الآخر كـIterable[str]
  • إذا كان stream=False وdetails=True، يُعاد النص المولّد مع مزيد من التفاصيل كـTextGenerationOutput
  • إذا كان details=True وstream=True، يُعاد النص المولّد رمزًا تلو الآخر كقابلة للتكرار من TextGenerationStreamOutput

يرفع

ValidationError أو InferenceTimeoutError أو HfHubHTTPError

  • ValidationError — إذا كانت قيم الإدخال غير صالحة. لا يتم تنفيذ أي استدعاء HTTP إلى الخادم.
  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

بناءً على موجه معين، قم بتوليد النص التالي.

إذا كنت ترغب في توليد رد من رسائل الدردشة، فيجب عليك استخدام طريقة InferenceClient.chat_completion(). تقبل هذه الطريقة قائمة من الرسائل بدلاً من موجه نصي واحد، وتتعامل مع قالب الدردشة نيابةً عنك.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()

# Case 1: generate text
>>> client.text_generation("The huggingface_hub library is ", max_new_tokens=12)
'100% open source and built to be easy to use.'

# Case 2: iterate over the generated tokens. Useful for large generation.
>>> for token in client.text_generation("The huggingface_hub library is ", max_new_tokens=12, stream=True):
...     print(token)
100
%
open
source
and
built
to
be
easy
to
use
.

# Case 3: get more details about the generation process.
>>> client.text_generation("The huggingface_hub library is ", max_new_tokens=12, details=True)
TextGenerationOutput(
    generated_text='100% open source and built to be easy to use.',
    details=TextGenerationDetails(
        finish_reason='length',
        generated_tokens=12,
        seed=None,
        prefill=[
            TextGenerationPrefillOutputToken(id=487, text='The', logprob=None),
            TextGenerationPrefillOutputToken(id=53789, text=' hugging', logprob=-13.171875),
            (...)
            TextGenerationPrefillOutputToken(id=204, text=' ', logprob=-7.0390625)
        ],
        tokens=[
            TokenElement(id=1425, text='100', logprob=-1.0175781, special=False),
            TokenElement(id=16, text='%', logprob=-0.0463562, special=False),
            (...)
            TokenElement(id=25, text='.', logprob=-0.5703125, special=False)
        ],
        best_of_sequences=None
    )
)

# Case 4: iterate over the generated tokens with more details.
# Last object is more complete, containing the full generated text and the finish reason.
>>> for details in client.text_generation("The huggingface_hub library is ", max_new_tokens=12, details=True, stream=True):
...     print(details)
...
TextGenerationStreamOutput(token=TokenElement(id=1425, text='100', logprob=-1.0175781, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=16, text='%', logprob=-0.0463562, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=1314, text=' open', logprob=-1.3359375, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=3178, text=' source', logprob=-0.28100586, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=273, text=' and', logprob=-0.5961914, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=3426, text=' built', logprob=-1.9423828, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=271, text=' to', logprob=-1.4121094, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=314, text=' be', logprob=-1.5224609, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=1833, text=' easy', logprob=-2.1132812, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=271, text=' to', logprob=-0.08520508, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=745, text=' use', logprob=-0.39453125, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(
    id=25,
    text='.',
    logprob=-0.5703125,
    special=False),
    generated_text='100% open source and built to be easy to use.',
    details=TextGenerationStreamOutputStreamDetails(finish_reason='length', generated_tokens=12, seed=None)
)

# Case 5: generate constrained output using grammar
>>> response = client.text_generation(
...     prompt="I saw a puppy a cat and a raccoon during my bike ride in the park",
...     model="HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1",
...     max_new_tokens=100,
...     repetition_penalty=1.3,
...     grammar={
...         "type": "json",
...         "value": {
...             "properties": {
...                 "location": {"type": "string"},
...                 "activity": {"type": "string"},
...                 "animals_seen": {"type": "integer", "minimum": 1, "maximum": 5},
...                 "animals": {"type": "array", "items": {"type": "string"}},
...             },
...             "required": ["location", "activity", "animals_seen", "animals"],
...         },
...     },
... )
>>> json.loads(response)
{
    "activity": "bike riding",
    "animals": ["puppy", "cat", "raccoon"],
    "animals_seen": 3,
    "location": "park"
}

text_to_image

< >

( prompt: strnegative_prompt: str | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Nonemodel: str | None = Nonescheduler: str | None = Noneseed: int | None = Noneextra_body: dict[str, typing.Any] | None = None ) → Image

المعاملات

  • prompt (str) — الموجّه النصي لتوليد صورة منه.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الصورة.
  • height (int، اختياري) — ارتفاع الصورة الناتجة بالبكسل
  • width (int، اختياري) — عرض الصورة الناتجة بالبكسل
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — تشجيع النموذج على توليد صور مرتبطة ارتباطًا وثيقًا بـ prompt النصي يتطلب قيمة أعلى لمقياس التوجيه، لكن القيم المرتفعة جدًا قد تسبب تشبعًا (saturation) وشوائب أخرى.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى الصورة الافتراضي الموصى به. القيمة الافتراضية هي None.
  • scheduler (str، اختياري) — استبدال المجدول بمجدول متوافق.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

Image

الصورة المولّدة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

إنشاء صورة بناءً على نص معيّن باستخدام نموذج محدد.

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()

>>> image = client.text_to_image("An astronaut riding a horse on the moon.")
>>> image.save("astronaut.png")

>>> image = client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     negative_prompt="low resolution, blurry",
...     model="stabilityai/stable-diffusion-2-1",
... )
>>> image.save("better_astronaut.png")
Example using a third-party provider directly. Usage will be billed on your fal.ai account.
>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="fal-ai",  # Use fal.ai provider
...     api_key="fal-ai-api-key",  # Pass your fal.ai API key
... )
>>> image = client.text_to_image(
...     "A majestic lion in a fantasy forest",
...     model="black-forest-labs/FLUX.1-schnell",
... )
>>> image.save("lion.png")

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> image = client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     model="black-forest-labs/FLUX.1-dev",
... )
>>> image.save("astronaut.png")

مثال على استخدام مزوّد Replicate مع معاملات إضافية

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> image = client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     model="black-forest-labs/FLUX.1-schnell",
...     extra_body={"output_quality": 100},
... )
>>> image.save("astronaut.png")

text_to_speech

< >

( text: strmodel: str | None = Nonedo_sample: bool | None = Noneearly_stopping: typing.Union[bool, ForwardRef('TextToSpeechEarlyStoppingEnum'), NoneType] = Noneepsilon_cutoff: float | None = Noneeta_cutoff: float | None = Nonemax_length: int | None = Nonemax_new_tokens: int | None = Nonemin_length: int | None = Nonemin_new_tokens: int | None = Nonenum_beam_groups: int | None = Nonenum_beams: int | None = Nonepenalty_alpha: float | None = Nonetemperature: float | None = Nonetop_k: int | None = Nonetop_p: float | None = Nonetypical_p: float | None = Noneuse_cache: bool | None = Noneextra_body: dict[str, typing.Any] | None = None ) → bytes

المعاملات

  • text (str) — النص المراد توليده.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى كلام الافتراضي الموصى به. القيمة الافتراضية هي None.
  • do_sample (bool، اختياري) — ما إذا كان سيتم استخدام العينة بدلاً من فك الترميز الجشع عند توليد الرموز الجديدة.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"]، اختياري) — يتحكم في شرط التوقف للطرق القائمة على الحزم (beam-based methods).
  • epsilon_cutoff (float, اختياري) — إذا تم ضبطه على قيمة عشرية تقع بصرامة بين 0 و 1، فسيتم أخذ عينات فقط من الرموز التي تتجاوز احتمالية الشرط الخاص بها epsilon_cutoff. في الورقة البحثية، تتراوح القيم المقترحة بين 3e-4 و 9e-4، اعتمادًا على حجم النموذج. راجع أخذ العينات بالقطع كنموذج لغوي لتنعيم لمزيد من التفاصيل.
  • eta_cutoff (float, اختياري) — يُعدّ أخذ العينات باستخدام Eta مزيجًا من أخذ العينات النموذجي محليًا وأخذ العينات باستخدام epsilon. إذا تم تعيينه إلى قيمة float تقع بصرامة بين 0 و 1، فإن الرمز يُعتبر فقط إذا كان أكبر من إما eta_cutoff أو sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). الحد الأخير هو الحدسياً احتمال الرمز التالي المتوقع، مُقيّماً بواسطة sqrt(eta_cutoff). في الورقة البحثية، تتراوح القيم المقترحة بين 3e-4 و2e-3، اعتماداً على حجم النموذج. راجع Truncation Sampling as Language Model Desmoothing لمزيد من التفاصيل.
  • max_length (int، اختياري) — الحد الأقصى للطول (بالرموز) للنص المولّد، بما في ذلك المدخلات.
  • max_new_tokens (int, اختياري) — الحد الأقصى لعدد الرموز (tokens) التي سيتم توليدها. له الأولوية على max_length.
  • min_length (int، اختياري) — الحد الأدنى للطول (بالرموز) للنص المولّد، بما في ذلك المدخلات.
  • min_new_tokens (int، اختياري) — الحد الأدنى لعدد الرموز التي يجب توليدها. له الأولوية على min_length.
  • num_beam_groups (int, اختياري) — عدد المجموعات التي تُقسَّم إليها num_beams لضمان التنوع بين مجموعات الأشعة المختلفة. راجع هذا الورقة لمزيد من التفاصيل.
  • num_beams (int، اختياري) — عدد الحزم المستخدمة في بحث الحزم.
  • penalty_alpha (float, اختياري) — توازن القيمة بين ثقة النموذج وعقوبة التدهور في فك الترميز البحثي التبايني.
  • temperature (float، اختياري) — القيمة المستخدمة لضبط احتمالات الرمز التالي.
  • top_k (int، اختياري) — عدد رموز المفردات ذات أعلى احتمالات التي يجب الاحتفاظ بها لتصفية top-k.
  • top_p (float، اختياري) — إذا تم ضبطه على قيمة float أقل من 1، فإن مجموعة الرموز الأكثر احتمالاً الأصغر التي تضيف احتمالاتها إلى top_p أو أعلى هي التي تُحتفظ بها للتوليد.
  • typical_p (float, اختياري) — تقيس المحلية النموذجية مدى تشابه الاحتمال الشرطي للتنبؤ بالرمز المستهدف التالي مع الاحتمال الشرطي المتوقع للتنبؤ برمز عشوائي التالي، بالنظر إلى النص الجزئي الذي تم توليده بالفعل. إذا تم ضبطه على قيمة float < 1، فسيتم الاحتفاظ بأصغر مجموعة من الرموز الأكثر محلية نموذجية التي تضاف احتمالاتها لتساوي typical_p أو أعلى، وذلك للتوليد. راجع هذا الورقة لمزيد من التفاصيل.
  • use_cache (bool، اختياري) — ما إذا كان يجب على النموذج استخدام انتباهات المفاتيح/القيم الأخيرة السابقة لتسريع فك الترميز
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

bytes

الصوت المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

صنع صوت صوتي ينطق نصًا معيّنًا.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

>>> from pathlib import Path
>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()

>>> audio = client.text_to_speech("Hello world")
>>> Path("hello_world.flac").write_bytes(audio)

مثال على استخدام مزوّد طرف ثالث مباشرةً. سيتم احتساب الاستخدام على حسابك في Replicate.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",
...     api_key="your-replicate-api-key",  # Pass your Replicate API key directly
... )
>>> audio = client.text_to_speech(
...     text="Hello world",
...     model="OuteAI/OuteTTS-0.3-500M",
... )
>>> Path("hello_world.flac").write_bytes(audio)

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",
...     api_key="hf_...",  # Pass your HF token
... )
>>> audio =client.text_to_speech(
...     text="Hello world",
...     model="OuteAI/OuteTTS-0.3-500M",
... )
>>> Path("hello_world.flac").write_bytes(audio)
Example using Replicate provider with extra parameters
>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> audio = client.text_to_speech(
...     "Hello, my name is Kororo, an awesome text-to-speech model.",
...     model="hexgrad/Kokoro-82M",
...     extra_body={"voice": "af_nicole"},
... )
>>> Path("hello.flac").write_bytes(audio)

مثال على توليد الموسيقى باستخدام “YuE-s1-7B-anneal-en-cot” على fal.ai

>>> from huggingface_hub import InferenceClient
>>> lyrics = '''
... [verse]
... In the town where I was born
... Lived a man who sailed to sea
... And he told us of his life
... In the land of submarines
... So we sailed on to the sun
... 'Til we found a sea of green
... And we lived beneath the waves
... In our yellow submarine

... [chorus]
... We all live in a yellow submarine
... Yellow submarine, yellow submarine
... We all live in a yellow submarine
... Yellow submarine, yellow submarine
... '''
>>> genres = "pavarotti-style tenor voice"
>>> client = InferenceClient(
...     provider="fal-ai",
...     model="m-a-p/YuE-s1-7B-anneal-en-cot",
...     api_key=...,
... )
>>> audio = client.text_to_speech(lyrics, extra_body={"genres": genres})
>>> with open("output.mp3", "wb") as f:
...     f.write(audio)

text_to_video

< >

( prompt: strmodel: str | None = Noneguidance_scale: float | None = Nonenegative_prompt: list[str] | None = Nonenum_frames: float | None = Nonenum_inference_steps: int | None = Noneseed: int | None = Noneextra_body: dict[str, typing.Any] | None = None ) → bytes

المعاملات

  • prompt (str) — الموجّه الذي سيتم توليد الفيديو بناءً عليه.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى الفيديو الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • guidance_scale (float, اختياري) — تشجيع النموذج على توليد مقاطع فيديو مرتبطة ارتباطًا وثيقًا بـ prompt النصي يتطلب قيمة أعلى لمقياس التوجيه، لكن القيم المرتفعة جدًا قد تسبب تشبعًا (saturation) وشوائب أخرى.
  • negative_prompt (list[str]، اختياري) — موجّه واحد أو أكثر لتوجيه ما يجب عدم تضمينه في توليد الفيديو.
  • num_frames (float, اختياري) — يحدد معامل num_frames عدد إطارات الفيديو التي سيتم توليدها.
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

bytes

الفيديو المُولَّد.

إنشاء فيديو بناءً على نص معطى.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

مثال على استخدام مزوّد طرف ثالث مباشرةً. سيتم احتساب الاستخدام على حسابك في fal.ai.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="fal-ai",  # Using fal.ai provider
...     api_key="fal-ai-api-key",  # Pass your fal.ai API key
... )
>>> video = client.text_to_video(
...     "A majestic lion running in a fantasy forest",
...     model="tencent/HunyuanVideo",
... )
>>> with open("lion.mp4", "wb") as file:
...     file.write(video)

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Using replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> video = client.text_to_video(
...     "A cat running in a park",
...     model="genmo/mochi-1-preview",
... )
>>> with open("cat.mp4", "wb") as file:
...     file.write(video)

token_classification

< >

( text: strmodel: str | None = Noneaggregation_strategy: typing.Optional[ForwardRef('TokenClassificationAggregationStrategy')] = Noneignore_labels: list[str] | None = Nonestride: int | None = None ) → list[TokenClassificationOutputElement]

المعاملات

  • text (str) — نص يُصنَّف.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف الرموز. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف الرموز الافتراضي الموصى به. القيمة الافتراضية هي None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy"، اختياري) — الاستراتيجية المستخدمة لدمج الرموز بناءً على تنبؤات النموذج
  • ignore_labels (list[str, اختياري) — قائمة من التسميات التي يجب تجاهلها
  • stride (int، اختياري) — عدد الرموز المتداخلة بين المقاطع عند تقسيم النص المدخل.

يعيد

list[TokenClassificationOutputElement]

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

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف الرموز على النص المعطى. يُستخدم عادةً لتحليل الجمل، سواءً كان تحليلًا نحويًا أو التعرف على الكيانات المسمّاة (NER) لفهم الكلمات المفتاحية الموجودة داخل النص.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.token_classification("My name is Sarah Jessica Parker but you can call me Jessica")
[
    TokenClassificationOutputElement(
        entity_group='PER',
        score=0.9971321225166321,
        word='Sarah Jessica Parker',
        start=11,
        end=31,
    ),
    TokenClassificationOutputElement(
        entity_group='PER',
        score=0.9773476123809814,
        word='Jessica',
        start=52,
        end=59,
    )
]

الترجمة

< >

( text: strmodel: str | None = Nonesrc_lang: str | None = Nonetgt_lang: str | None = Noneclean_up_tokenization_spaces: bool | None = Nonetruncation: typing.Optional[ForwardRef('TranslationTruncationStrategy')] = Nonegenerate_parameters: dict[str, typing.Any] | None = None ) → TranslationOutput

المعاملات

  • text (str) — نص يُراد ترجمته.
  • model (str، اختياري) — النموذج المستخدم لمهمة الترجمة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج الترجمة الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • src_lang (str، اختياري) — لغة المصدر للنص. مطلوب للنماذج التي يمكنها الترجمة من لغات متعددة.
  • tgt_lang (str، اختياري) — اللغة المستهدفة للترجمة إليها. مطلوب للنماذج التي يمكنها الترجمة إلى لغات متعددة.
  • clean_up_tokenization_spaces (bool، اختياري) — ما إذا كان سيتم تنظيف المسافات الإضافية المحتملة في نص المخرجات.
  • truncation ("TranslationTruncationStrategy"، اختياري) — استراتيجية الاقتطاع المستخدمة.
  • generate_parameters (dict[str, Any]، اختياري) — إعدادات إضافية لخوارزمية توليد النص.

النص المُترجَم المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError أو ValueError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.
  • ValueError — إذا تم تقديم أحد الحقلين src_lang وtgt_lang فقط.

تحويل النص من لغة إلى أخرى.

اطّلع على https://huggingface.co/tasks/translation لمزيد من المعلومات حول كيفية اختيار أفضل نموذج لحالتك الخاصة. تعتمد اللغات المصدرية والهدفية عادةً على النموذج. ومع ذلك، يمكن تحديد اللغات المصدرية والهدفية لبعض النماذج. إذا كنت تعمل مع أحد هذه النماذج، يمكنك استخدام الحججين src_lang وtgt_lang لتزويد النموذج بالمعلومات ذات الصلة.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.translation("My name is Wolfgang and I live in Berlin")
'Mein Name ist Wolfgang und ich lebe in Berlin.'
>>> client.translation("My name is Wolfgang and I live in Berlin", model="Helsinki-NLP/opus-mt-en-fr")
TranslationOutput(translation_text='Je m'appelle Wolfgang et je vis à Berlin.')

تحديد اللغات:

>>> client.translation("My name is Sarah Jessica Parker but you can call me Jessica", model="facebook/mbart-large-50-many-to-many-mmt", src_lang="en_XX", tgt_lang="fr_XX")
"Mon nom est Sarah Jessica Parker mais vous pouvez m'appeler Jessica"

الإجابة على الأسئلة البصرية

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]question: strmodel: str | None = Nonetop_k: int | None = None ) → list[VisualQuestionAnsweringOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة للسياق. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • question (str) — السؤال المطلوب الإجابة عنه.
  • model (str، اختياري) — النموذج المستخدم لمهمة الإجابة البصرية على الأسئلة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لمهمة الإجابة البصرية على الأسئلة. القيمة الافتراضية هي None.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). لاحظ أننا نعيد عددًا أقل من إجابات topk إذا لم تتوفر خيارات كافية ضمن السياق.

يعيد

list[VisualQuestionAnsweringOutputElement]

قائمة من عناصر VisualQuestionAnsweringOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

الإجابة على الأسئلة المفتوحة بناءً على صورة.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.visual_question_answering(
...     image="https://huggingface.co/datasets/mishig/sample_images/resolve/main/tiger.jpg",
...     question="What is the animal doing?"
... )
[
    VisualQuestionAnsweringOutputElement(score=0.778609573841095, answer='laying down'),
    VisualQuestionAnsweringOutputElement(score=0.6957435607910156, answer='sitting'),
]

zero_shot_classification

< >

( text: strcandidate_labels: listmulti_label: bool | None = Falsehypothesis_template: str | None = Nonemodel: str | None = None ) → list[ZeroShotClassificationOutputElement]

المعاملات

  • text (str) — النص المُدخل للتصنيف.
  • candidate_labels (list[str]) — مجموعة العلامات التصنيفية المحتملة لتصنيف النص إليها.
  • multi_label (bool، اختياري) — ما إذا كان يمكن أن تكون عدة تسميات مرشحة صحيحة. إذا كانت القيمة false، يتم تطبيع الدرجات بحيث يكون مجموع احتمالات التسميات لكل تسلسل يساوي 1. إذا كانت القيمة true، تُعتبر التسميات مستقلة ويتم تطبيع الاحتمالات لكل مرشح على حدة.
  • hypothesis_template (str، اختياري) — الجملة المستخدمة بالتزامن مع candidate_labels لمحاولة تصنيف النص عن طريق استبدال العنصر المميز بتسميات المرشحين.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. إذا لم يُقدَّم، فسيتم استخدام نموذج التصنيف بدون تدريب (zero-shot classification) الافتراضي الموصى به.

يعيد

list[ZeroShotClassificationOutputElement]

قائمة من عناصر ZeroShotClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

قدّم نصًا كمُدخل ومجموعة من التسميات المرشحة لتصنيف النص المُدخل.

مثال مع multi_label=False:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> text = (
...     "A new model offers an explanation for how the Galilean satellites formed around the solar system's"
...     "largest world. Konstantin Batygin did not set out to solve one of the solar system's most puzzling"
...     " mysteries when he went for a run up a hill in Nice, France."
... )
>>> labels = ["space & cosmos", "scientific discovery", "microbiology", "robots", "archeology"]
>>> client.zero_shot_classification(text, labels)
[
    ZeroShotClassificationOutputElement(label='scientific discovery', score=0.7961668968200684),
    ZeroShotClassificationOutputElement(label='space & cosmos', score=0.18570658564567566),
    ZeroShotClassificationOutputElement(label='microbiology', score=0.00730885099619627),
    ZeroShotClassificationOutputElement(label='archeology', score=0.006258360575884581),
    ZeroShotClassificationOutputElement(label='robots', score=0.004559356719255447),
]
>>> client.zero_shot_classification(text, labels, multi_label=True)
[
    ZeroShotClassificationOutputElement(label='scientific discovery', score=0.9829297661781311),
    ZeroShotClassificationOutputElement(label='space & cosmos', score=0.755190908908844),
    ZeroShotClassificationOutputElement(label='microbiology', score=0.0005462635890580714),
    ZeroShotClassificationOutputElement(label='archeology', score=0.00047131875180639327),
    ZeroShotClassificationOutputElement(label='robots', score=0.00030448526376858354),
]

مثال باستخدام multi_label=True وقالب فرضية مخصص hypothesis_template:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()
>>> client.zero_shot_classification(
...    text="I really like our dinner and I'm very happy. I don't like the weather though.",
...    candidate_labels=["positive", "negative", "pessimistic", "optimistic"],
...    multi_label=True,
...    hypothesis_template="This text is {} towards the weather"
... )
[
    ZeroShotClassificationOutputElement(label='negative', score=0.9231801629066467),
    ZeroShotClassificationOutputElement(label='pessimistic', score=0.8760990500450134),
    ZeroShotClassificationOutputElement(label='optimistic', score=0.0008674879791215062),
    ZeroShotClassificationOutputElement(label='positive', score=0.0005250611575320363)
]

zero_shot_image_classification

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]candidate_labels: listmodel: str | None = Nonehypothesis_template: str | None = None ) → list[ZeroShotImageClassificationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة التي سيتم إنشاء وصف لها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • candidate_labels (list[str]) — التسميات المرشحة لهذه الصورة
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف الصور بدون تدريب (zero-shot) الموصى به افتراضيًا.
  • hypothesis_template (str، اختياري) — الجملة المستخدمة بالتزامن مع candidate_labels لمحاولة تصنيف الصورة عن طريق استبدال العنصر المميز بأسماء التسميات المرشحة.

يعيد

list[ZeroShotImageClassificationOutputElement]

قائمة من عناصر ZeroShotImageClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

قدّم صورة مدخلات ووسوم نصية للتنبؤ بوسوم نصية للصورة.

مثال:

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient()

>>> client.zero_shot_image_classification(
...     "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg",
...     candidate_labels=["dog", "cat", "horse"],
... )
[ZeroShotImageClassificationOutputElement(label='dog', score=0.956),...]

عميل الاستدلال غير المتزامن

يُوفَّر أيضًا إصدار غير متزامن (async) للعميل، مبني على asyncio وhttpx2.

فئة huggingface_hub.AsyncInferenceClient

< >

( model: str | None = Noneprovider: typing.Union[typing.Literal['baseten', 'cerebras', 'cohere', 'deepinfra', 'fal-ai', 'featherless-ai', 'fireworks-ai', 'groq', 'hf-inference', 'novita', 'nscale', 'openai', 'ovhcloud', 'publicai', 'replicate', 'scaleway', 'together', 'wavespeed', 'zai-org'], typing.Literal['auto'], NoneType] = Nonetoken: str | None = Nonetimeout: float | None = Noneheaders: dict[str, str] | None = Nonecookies: dict[str, str] | None = Nonebill_to: str | None = Nonebase_url: str | None = Noneapi_key: str | None = None )

المعاملات

  • model (str, optional) — النموذج الذي سيتم تشغيل الاستدلال به. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub، مثل meta-llama/Meta-Llama-3-8B-Instruct أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. القيمة الافتراضية هي None، وفي هذه الحالة يتم اختيار نموذج موصى به تلقائيًا للمهمة. ملاحظة: من أجل توافق أفضل مع عميل OpenAI، تم تعيين model كاسم مستعار لـ base_url. هذان الحركان متنافيان. إذا تم تمرير عنوان URL كـ model أو base_url لإكمال المحادثة، فسيتم إضافة مسار لاحقة (/v1)/chat/completions إلى العنوان.
  • provider (str, اختياري) — اسم المزوّد الذي سيتم استخدامه للاستدلال. يمكن أن يكون "baseten" أو "cerebras" أو "cohere" أو "deepinfra" أو "fal-ai" أو "featherless-ai" أو "fireworks-ai" أو "groq" أو "hf-inference" أو "novita" أو "nscale" أو "openai" أو "ovhcloud" أو "publicai" أو "replicate" أو "scaleway" أو "together" أو "wavespeed" أو "zai-org". القيمة الافتراضية هي “auto”: التوجيه التلقائي، والذي يعتمد افتراضيًا على مزوّد “fastest”؛ يمكنك التبديل إلى ترتيب مزوّد “cheapest” أو “preferred” في https://hf.co/settings/inference-providers. إذا كان النموذج عنوان URL أو تم تمرير base_url، فلن يتم استخدام provider.
  • token (str، اختياري) — رمز Hugging Face. إذا لم يُقدَّم، فسيُستخدم الرمز المحفوظ محليًا افتراضيًا. ملاحظة: من أجل توافق أفضل مع عميل OpenAI، تم تعيين token كاسم بديل api_key. هذان الحججان متنافيان تمامًا ولهما نفس السلوك بالضبط.
  • timeout (float, optional) — الحد الأقصى لعدد الثواني التي يجب الانتظار للحصول على استجابة من الخادم. القيمة الافتراضية هي None، مما يعني أنه سيستمر في المحاولة حتى يصبح الخادم متاحًا.
  • headers (dict[str, str], optional) — Additional headers to send to the server. By default only the authorization and user-agent headers are sent. Values in this dictionary will override the default values.
  • bill_to (str, optional) — حساب الفوترة الذي سيتم استخدامه للطلبات. بشكل افتراضي، تُحتسب تكاليف الطلبات على حساب المستخدم. لا يمكن احتساب تكاليف الطلبات إلا على منظمة يكون المستخدم عضوًا فيها، والتي اشتركت في Enterprise Hub.
  • cookies (dict[str, str], optional) — ملفات تعريف إضافية لإرسالها إلى الخادم.
  • base_url (str, optional) — عنوان URL الأساسي لتشغيل الاستدلال. هذا معامل مكرر من model لجعل InferenceClient يتبع نفس النمط الذي يتبعه عميل openai.OpenAI. لا يمكن استخدامه إذا تم تعيين model. القيمة الافتراضية هي None.
  • api_key (str, optional) — رمز يُستخدم للمصادقة. هذا معامل مكرر من token لجعل InferenceClient يتبع نفس النمط الذي يتبعه عميل openai.OpenAI. لا يمكن استخدامه إذا تم تعيين token. القيمة الافتراضية هي None.

قم بتهيئة عميل استدلال جديد.

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

تصنيف الصوت

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonetop_k: int | None = Nonefunction_to_apply: typing.Optional[ForwardRef('AudioClassificationOutputTransform')] = None ) → list[AudioClassificationOutputElement]

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — محتوى الصوت المراد تصنيفه. يمكن أن يكون بيانات صوتية خام، أو ملف صوتي محلي، أو رابط (URL) يشير إلى ملف صوتي.
  • model (str, اختياري) — النموذج المستخدم لتصنيف الصوت. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتصنيف الصوت.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.
  • function_to_apply ("AudioClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.

يعيد

list[AudioClassificationOutputElement]

قائمة من عناصر AudioClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف الصوت على المحتوى الصوتي المقدم.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.audio_classification("audio.flac")
[
    AudioClassificationOutputElement(score=0.4976358711719513, label='hap'),
    AudioClassificationOutputElement(score=0.3677836060523987, label='neu'),
    ...
]

audio_to_audio

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = None ) → list[AudioToAudioOutputElement]

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — محتوى الصوت للنموذج. يمكن أن يكون بيانات صوت خام، أو ملف صوتي محلي، أو رابط يشير إلى ملف صوتي.
  • model (str, اختياري) — يمكن أن يكون النموذج أي نموذج يستقبل ملف صوتي ويعيد ملفًا صوتيًا آخر. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لـ audio_to_audio.

يعيد

list[AudioToAudioOutputElement]

قائمة من عناصر AudioToAudioOutputElement تحتوي على تسمية الصوت، ونوع المحتوى، ومحتوى الصوت في blob.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

يُنفّذ مهام متعددة متعلقة بتحويل الصوت إلى صوت اعتمادًا على النموذج (مثل: تحسين الكلام، فصل المصادر).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> audio_output = await client.audio_to_audio("audio.flac")
>>> async for i, item in enumerate(audio_output):
>>>     with open(f"output_{i}.flac", "wb") as f:
            f.write(item.blob)

التعرف التلقائي على الكلام

< >

( audio: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Noneextra_body: dict | None = None ) → AutomaticSpeechRecognitionOutput

المعاملات

  • audio (Union[str, Path, bytes, BinaryIO]) — المحتوى المطلوب تحويله إلى نص. يمكن أن يكون بيانات صوتية خام، أو ملف صوتي محلي، أو رابط (URL) إلى ملف صوتي.
  • model (str, اختياري) — النموذج المستخدم للتعرف على الكلام. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للتعرف على الكلام.
  • extra_body (dict، اختياري) — معاملات إضافية خاصة بمزوّد الخدمة تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

عنصر يحتوي على النص المنقول وخياراتًا لتقسيمات الطوابع الزمنية.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء التعرف التلقائي على الكلام (ASR أو تحويل الصوت إلى نص) على محتوى الصوت المعطى.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.automatic_speech_recognition("hello_world.flac").text
"hello world"

chat_completion

< >

( messages: listmodel: str | None = Nonestream: bool = Falsefrequency_penalty: float | None = Nonelogit_bias: list[float] | None = Nonelogprobs: bool | None = Nonemax_tokens: int | None = Nonen: int | None = Nonepresence_penalty: float | None = Noneresponse_format: typing.Union[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatText, huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatJSONSchema, huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputResponseFormatJSONObject, NoneType] = Noneseed: int | None = Nonestop: list[str] | None = Nonestream_options: huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputStreamOptions | None = Nonetemperature: float | None = Nonetool_choice: typing.Union[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputToolChoiceClass, ForwardRef('ChatCompletionInputToolChoiceEnum'), NoneType] = Nonetool_prompt: str | None = Nonetools: list[huggingface_hub.inference._generated.types.chat_completion.ChatCompletionInputTool] | None = Nonetop_logprobs: int | None = Nonetop_p: float | None = Noneextra_body: dict | None = None ) → ChatCompletionOutput or Iterable of ChatCompletionStreamOutput

المعاملات

  • messages (قائمة من ChatCompletionInputMessage) — سجل المحادثة المكوّن من أزواج الأدوار والمحتوى.
  • model (str, اختياري) — النموذج المستخدم لإكمال المحادثة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتوليد النص القائم على المحادثة. راجع https://huggingface.co/tasks/text-generation لمزيد من التفاصيل. إذا كان model معرّف نموذج، فإنه يُمرَّر إلى الخادم كعامل model. إذا كنت ترغب في تحديد عنوان URL مخصص مع ضبط model في حمولة الطلب، فيجب عليك ضبط base_url عند تهيئة InferenceClient.
  • frequency_penalty (float, اختياري) — يعاقب الرموز الجديدة بناءً على ترددها الحالي في النص حتى الآن. النطاق: [-2.0, 2.0]. القيمة الافتراضية هي 0.0.
  • logit_bias (list[float]، اختياري) — يُعدّل احتمال ظهور رموز محددة في المخرجات المولّدة.
  • logprobs (bool, اختياري) — ما إذا كان يجب إرجاع احتمالات السجل (log probabilities) للرموز الناتجة أم لا. إذا كانت القيمة صحيحة، تُرجع احتمالات السجل لكل رمز ناتج مُعاد في محتوى الرسالة.
  • max_tokens (int، اختياري) — الحد الأقصى لعدد الرموز المسموح به في الاستجابة. القيمة الافتراضية هي 100.
  • n (int، اختياري) — عدد الإكمالات التي سيتم توليدها لكل موجه.
  • presence_penalty (float، اختياري) — عدد بين -2.0 و 2.0. تُعاقب القيم الموجبة الرموز الجديدة بناءً على ما إذا كانت تظهر في النص حتى الآن، مما يزيد من احتمال أن يتحدث النموذج عن مواضيع جديدة.
  • response_format (ChatCompletionInputGrammarType()، اختياري) — قيود القواعد. يمكن أن يكون إما JSONSchema أو regex.
  • seed (اختياريint، اختياري) — بذرة لتدفق تحكم قابل للتكرار. القيمة الافتراضية هي None.
  • stop (list[str]، اختياري) — حتى أربعة نصوص تُطلق إنهاء الاستجابة. الافتراضي هو None.
  • stream (bool، اختياري) — تفعيل البث المباشر للاستجابات. القيمة الافتراضية هي False.
  • stream_options (ChatCompletionInputStreamOptions، اختياري) — خيارات لإكمال البث.
  • temperature (float, اختياري) — يتحكم في عشوائية عمليات التوليد. تضمن القيم الأقل إكمالات أقل عشوائية. النطاق: [0, 2]. القيمة الافتراضية هي 1.0.
  • top_logprobs (int, اختياري) — عدد صحيح يتراوح بين 0 و5 يحدد عدد الرموز الأكثر احتمالاً التي يجب إرجاعها في كل موضع للرمز، مع احتمال لوغاريتمي مرتبط بكل منها. يجب تعيين logprobs إلى true إذا تم استخدام هذا المعامل.
  • top_p (float, اختياري) — النسبة من الكلمات التالية الأكثر احتمالاً التي سيتم أخذ عينة منها. يجب أن تكون بين 0 و 1. القيمة الافتراضية هي 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass أو ChatCompletionInputToolChoiceEnum()، اختياري) — الأداة المستخدمة لإكمال النص. القيمة الافتراضية هي “auto”.
  • tool_prompt (str, اختياري) — موجّه يُضاف قبل الأدوات.
  • tools (قائمة من ChatCompletionInputTool، اختياري) — قائمة بالأدوات التي قد يستدعيها النموذج. حاليًا، لا يتم دعم الدوال فقط كأداة. استخدم هذا لتوفير قائمة بالدوال التي قد يولّد النموذج مدخلات JSON لها.
  • extra_body (dict، اختياري) — معاملات إضافية خاصة بمزوّد الخدمة تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

ChatCompletionOutput أو قابل للتكرار من ChatCompletionStreamOutput

النص المولّد المُعاد من الخادم:

  • إذا كان stream=False، يُعاد النص المولّد كـ ChatCompletionOutput (الافتراضي).
  • إذا كان stream=True، يُعاد النص المولّد رمزًا تلو الآخر على شكل تسلسل من ChatCompletionStreamOutput.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

طريقة لإكمال المحادثات باستخدام نموذج لغة محدد.

يُستخدم client.chat_completion كاسم بديل لـ client.chat.completions.create من أجل التوافق مع عميل OpenAI. المدخلات والمخرجات متطابقة تمامًا، واستخدام أيٍّ من الصيغتين سيُنتج نفس النتائج. اطّلع على دليل الاستدلال لمزيد من التفاصيل حول توافق OpenAI.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> messages = [{"role": "user", "content": "What is the capital of France?"}]
>>> client = AsyncInferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
>>> await client.chat_completion(messages, max_tokens=100)
ChatCompletionOutput(
    choices=[
        ChatCompletionOutputComplete(
            finish_reason='eos_token',
            index=0,
            message=ChatCompletionOutputMessage(
                role='assistant',
                content='The capital of France is Paris.',
                name=None,
                tool_calls=None
            ),
            logprobs=None
        )
    ],
    created=1719907176,
    id='',
    model='meta-llama/Meta-Llama-3-8B-Instruct',
    object='text_completion',
    system_fingerprint='2.0.4-sha-f426a33',
    usage=ChatCompletionOutputUsage(
        completion_tokens=8,
        prompt_tokens=17,
        total_tokens=25
    )
)

مثال باستخدام البث:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> messages = [{"role": "user", "content": "What is the capital of France?"}]
>>> client = AsyncInferenceClient("meta-llama/Meta-Llama-3-8B-Instruct")
>>> async for token in await client.chat_completion(messages, max_tokens=10, stream=True):
...     print(token)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content='The', role='assistant'), index=0, finish_reason=None)], created=1710498504)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content=' capital', role='assistant'), index=0, finish_reason=None)], created=1710498504)
(...)
ChatCompletionStreamOutput(choices=[ChatCompletionStreamOutputChoice(delta=ChatCompletionStreamOutputDelta(content=' may', role='assistant'), index=0, finish_reason=None)], created=1710498504)

مثال باستخدام صياغة OpenAI:

# Must be run in an async context
# instead of `from openai import OpenAI`
from huggingface_hub import AsyncInferenceClient

# instead of `client = OpenAI(...)`
client = AsyncInferenceClient(
    base_url=...,
    api_key=...,
)

output = await client.chat.completions.create(
    model="meta-llama/Meta-Llama-3-8B-Instruct",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Count to 10"},
    ],
    stream=True,
    max_tokens=1024,
)

for chunk in output:
    print(chunk.choices[0].delta.content)

مثال على استخدام مزوّد طرف ثالث مباشرةً مع معاملات إضافية (خاصة بالمزوّد). سيتم احتساب الاستخدام على حسابك في Together AI.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="together",  # Use Together AI provider
...     api_key="<together_api_key>",  # Pass your Together API key directly
... )
>>> client.chat_completion(
...     model="meta-llama/Meta-Llama-3-8B-Instruct",
...     messages=[{"role": "user", "content": "What is the capital of France?"}],
...     extra_body={"safety_model": "Meta-Llama/Llama-Guard-7b"},
... )

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="novita",  # Use Novita provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> client.chat_completion(
...     model="meta-llama/Meta-Llama-3-8B-Instruct",
...     messages=[{"role": "user", "content": "What is the capital of France?"}],
... )

مثال على استخدام الصورة + النص كمدخلات:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient

# provide a remote URL
>>> image_url ="https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
# or a base64-encoded image
>>> image_path = "/path/to/image.jpeg"
>>> with open(image_path, "rb") as f:
...     base64_image = base64.b64encode(f.read()).decode("utf-8")
>>> image_url = f"data:image/jpeg;base64,{base64_image}"

>>> client = AsyncInferenceClient("meta-llama/Llama-3.2-11B-Vision-Instruct")
>>> output = await client.chat.completions.create(
...     messages=[
...         {
...             "role": "user",
...             "content": [
...                 {
...                     "type": "image_url",
...                     "image_url": {"url": image_url},
...                 },
...                 {
...                     "type": "text",
...                     "text": "Describe this image in one sentence.",
...                 },
...             ],
...         },
...     ],
... )
>>> output
The image depicts the iconic Statue of Liberty situated in New York Harbor, New York, on a clear day.

مثال باستخدام الأدوات:

# Must be run in an async context
>>> client = AsyncInferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> messages = [
...     {
...         "role": "system",
...         "content": "Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous.",
...     },
...     {
...         "role": "user",
...         "content": "What's the weather like the next 3 days in San Francisco, CA?",
...     },
... ]
>>> tools = [
...     {
...         "type": "function",
...         "function": {
...             "name": "get_current_weather",
...             "description": "Get the current weather",
...             "parameters": {
...                 "type": "object",
...                 "properties": {
...                     "location": {
...                         "type": "string",
...                         "description": "The city and state, e.g. San Francisco, CA",
...                     },
...                     "format": {
...                         "type": "string",
...                         "enum": ["celsius", "fahrenheit"],
...                         "description": "The temperature unit to use. Infer this from the users location.",
...                     },
...                 },
...                 "required": ["location", "format"],
...             },
...         },
...     },
...     {
...         "type": "function",
...         "function": {
...             "name": "get_n_day_weather_forecast",
...             "description": "Get an N-day weather forecast",
...             "parameters": {
...                 "type": "object",
...                 "properties": {
...                     "location": {
...                         "type": "string",
...                         "description": "The city and state, e.g. San Francisco, CA",
...                     },
...                     "format": {
...                         "type": "string",
...                         "enum": ["celsius", "fahrenheit"],
...                         "description": "The temperature unit to use. Infer this from the users location.",
...                     },
...                     "num_days": {
...                         "type": "integer",
...                         "description": "The number of days to forecast",
...                     },
...                 },
...                 "required": ["location", "format", "num_days"],
...             },
...         },
...     },
... ]

>>> response = await client.chat_completion(
...     model="meta-llama/Meta-Llama-3-70B-Instruct",
...     messages=messages,
...     tools=tools,
...     tool_choice="auto",
...     max_tokens=500,
... )
>>> response.choices[0].message.tool_calls[0].function
ChatCompletionOutputFunctionDefinition(
    arguments={
        'location': 'San Francisco, CA',
        'format': 'fahrenheit',
        'num_days': 3
    },
    name='get_n_day_weather_forecast',
    description=None
)

مثال على استخدام response_format:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> messages = [
...     {
...         "role": "user",
...         "content": "I saw a puppy a cat and a raccoon during my bike ride in the park. What did I see and when?",
...     },
... ]
>>> response_format = {
...     "type": "json",
...     "value": {
...         "properties": {
...             "location": {"type": "string"},
...             "activity": {"type": "string"},
...             "animals_seen": {"type": "integer", "minimum": 1, "maximum": 5},
...             "animals": {"type": "array", "items": {"type": "string"}},
...         },
...         "required": ["location", "activity", "animals_seen", "animals"],
...     },
... }
>>> response = await client.chat_completion(
...     messages=messages,
...     response_format=response_format,
...     max_tokens=500,
... )
>>> response.choices[0].message.content
'{

y": "bike ride",
": ["puppy", "cat", "raccoon"],
_seen": 3,
n": "park"}'

إغلاق

< >

( )

أغلق العميل.

يتم استدعاء هذه الطريقة تلقائيًا عند استخدام العميل كمدير سياق.

document_question_answering

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]question: strmodel: str | None = Nonedoc_stride: int | None = Nonehandle_impossible_answer: bool | None = Nonelang: str | None = Nonemax_answer_len: int | None = Nonemax_question_len: int | None = Nonemax_seq_len: int | None = Nonetop_k: int | None = Noneword_boxes: list[list[float] | str] | None = None ) → list[DocumentQuestionAnsweringOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO]) — الصورة المدخلة للسياق. يمكن أن تكون بايتات خام، أو ملف صورة، أو رابط URL لصورة على الإنترنت.
  • question (str) — السؤال المطلوب الإجابة عنه.
  • model (str، اختياري) — النموذج المستخدم لمهمة الإجابة عن الأسئلة في المستندات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج الإجابة عن الأسئلة في المستندات الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • doc_stride (int, اختياري) — إذا كانت الكلمات في المستند طويلة جدًا بحيث لا تتسع مع السؤال للنموذج، فسيتم تقسيمها إلى عدة مقاطع مع بعض التداخل. يتحكم هذا الحجم في حجم ذلك التداخل.
  • handle_impossible_answer (bool، اختياري) — ما إذا كان سيتم قبول "مستحيل" كإجابة
  • lang (str، اختياري) — اللغة المستخدمة أثناء تشغيل التعرف الضوئي على الحروف. القيمة الافتراضية هي الإنجليزية.
  • max_answer_len (int، اختياري) — الحد الأقصى لطول الإجابات المتوقعة (على سبيل المثال، تُعتبَر الإجابات ذات الطول الأقصر فقط).
  • max_question_len (int، اختياري) — الحد الأقصى لطول السؤال بعد الترميز. سيتم اقتطاعه إذا لزم الأمر.
  • max_seq_len (int, اختياري) — الحد الأقصى لطول الجملة الإجمالي (السياق + السؤال) بوحدة الرموز لكل مقطع يُمرَّر إلى النموذج. سيتم تقسيم السياق إلى عدة مقاطع (باستخدام doc_stride كتداخل) عند الحاجة.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). يمكن إرجاع عدد أقل من top_k إجابات إذا لم تتوفر خيارات كافية ضمن السياق.
  • word_boxes (list[Union[list[float], str, اختياري) — قائمة بالكلمات ومربعات الحدود (معايرة من 0 إلى 1000). إذا تم تقديمها، سيتخطى الاستدلال خطوة التعرف الضوئي على الحروف (OCR) ويستخدم مربعات الحدود المقدمة بدلاً من ذلك.

يعيد

list[DocumentQuestionAnsweringOutputElement]

قائمة من عناصر DocumentQuestionAnsweringOutputElement تحتوي على التسمية المتوقعة، والاحتمال المرتبط بها، ومعرفات الكلمات، ورقم الصفحة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

الإجابة على الأسئلة المتعلقة بصور المستندات.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.document_question_answering(image="https://huggingface.co/spaces/impira/docquery/resolve/2359223c1837a7587402bda0f2643382a6eefeab/invoice.png", question="What is the invoice number?")
[DocumentQuestionAnsweringOutputElement(answer='us-001', end=16, score=0.9999666213989258, start=16)]

استخراج الميزات

< >

( text: str | list[str]normalize: bool | None = Noneprompt_name: str | None = Nonetruncate: bool | None = Nonetruncation_direction: typing.Optional[typing.Literal['left', 'right']] = Nonedimensions: int | None = Noneencoding_format: typing.Optional[typing.Literal['float', 'base64']] = Nonemodel: str | None = None ) → np.ndarray

المعاملات

  • text (str أو list[str]) — النص أو قائمة النصوص التي سيتم تضمينها.
  • model (str، اختياري) — النموذج المستخدم لمهمة استخراج الميزات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج استخراج الميزات الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • normalize (bool, اختياري) — ما إذا كان سيتم تطبيع التضمينات أم لا. متاح فقط على الخادم المدعوم بواسطة Text-Embedding-Inference.
  • prompt_name (str, optional) — The name of the prompt that should be used by for encoding. If not set, no prompt will be applied. Must be a key in the Sentence Transformers configuration prompts dictionary. For example if prompt_name is “query” and the prompts is {“query”: “query: ”,…}, then the sentence “What is the capital of France?” will be encoded as “query: What is the capital of France?” because the prompt text will be prepended before any text to encode.
  • truncate (bool، اختياري) — ما إذا كان سيتم تقصير التضمينات أم لا. متاح فقط على الخوادم المدعومة بواسطة Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”]، اختياري) — الجهة التي يجب قصّ المدخل منها عند تمرير truncate=True.
  • dimensions (int، اختياري) — عدد الأبعاد التي يجب أن تمتلكها التضمينات الناتجة. متوفر فقط على نقاط النهاية المتوافقة مع OpenAI للتضمينات.
  • encoding_format (Literal[“float”, “base64”]، اختياري) — تنسيق التضمينات الناتجة. إما “float” أو “base64”. متوفر فقط على نقاط النهاية المتوافقة مع OpenAI للتضمينات.

يعيد

np.ndarray

المضمّن الذي يمثل النص(نص) المدخل كمصفوفة numpy من نوع float32.

يرفع

[InferenceTimeoutError] أو [HfHubHTTPError]

  • [InferenceTimeoutError] — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • [HfHubHTTPError] — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

توليد تمثيلات نصية لنص معين أو دفعة من النصوص.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.feature_extraction("Hi, who are you?")
array([[ 2.424802  ,  2.93384   ,  1.1750331 , ...,  1.240499, -0.13776633, -0.7889173 ],
[-0.42943227, -0.6364878 , -1.693462  , ...,  0.41978157, -2.4336355 ,  0.6162071 ],
...,
[ 0.28552425, -0.928395  , -1.2077185 , ...,  0.76810825, -2.1069427 ,  0.6236161 ]], dtype=float32)

fill_mask

< >

( text: strmodel: str | None = Nonetargets: list[str] | None = Nonetop_k: int | None = None ) → list[FillMaskOutputElement]

المعاملات

  • text (str) — نص يُعبأ منه، يجب أن يحتوي على رمز [MASK] (راجع بطاقة النموذج لمعرفة الاسم الدقيق للرمز).
  • model (str، اختياري) — النموذج المستخدم لمهمة ملء الأقنعة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج ملء الأقنعة الافتراضي الموصى به.
  • targets (list[str, اختياري) — عند تمرير هذه المعلمة، سيقتصر النموذج على حساب الدرجات للأهداف المُمرَّرة بدلاً من البحث في كامل المفردات. إذا لم تكن الأهداف المُقدَّمة موجودة في مفردات النموذج، فسيتم تقسيمها إلى رموز (توكنز) وسيتم استخدام أول رمز ناتج (مع تحذير، وقد يكون ذلك أبطأ).
  • top_k (int، اختياري) — عند تمريره، يتجاوز عدد التنبؤات المطلوب إرجاعه.

يعيد

list[FillMaskOutputElement]

قائمة من عناصر FillMaskOutputElement تحتوي على التسمية المتوقعة، والاحتمال المرتبط بها، ومرجع الرمز، والنص المكتمل.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

املأ الفراغ بكلمة مفقودة (أو بدقة أكبر، بـ token).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.fill_mask("The goal of life is <mask>.")
[
    FillMaskOutputElement(score=0.06897063553333282, token=11098, token_str=' happiness', sequence='The goal of life is happiness.'),
    FillMaskOutputElement(score=0.06554922461509705, token=45075, token_str=' immortality', sequence='The goal of life is immortality.')
]

get_endpoint_info

< >

( model: str | None = None ) → dict[str, Any]

المعاملات

  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

يعيد

dict[str, Any]

معلومات حول نقطة النهاية.

احصل على معلومات حول نقطة النهاية المنفَّذة.

يتوفر هذا الطرف البرمجي فقط على الأطراف البرمجية المدعومة بواسطة Text-Generation-Inference (TGI) أو Text-Embedding-Inference (TEI). تعيد الأطراف البرمجية المدعومة بواسطة transformers حمولة فارغة.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient("meta-llama/Meta-Llama-3-70B-Instruct")
>>> await client.get_endpoint_info()
{
    'model_id': 'meta-llama/Meta-Llama-3-70B-Instruct',
    'model_sha': None,
    'model_dtype': 'torch.float16',
    'model_device_type': 'cuda',
    'model_pipeline_tag': None,
    'max_concurrent_requests': 128,
    'max_best_of': 2,
    'max_stop_sequences': 4,
    'max_input_length': 8191,
    'max_total_tokens': 8192,
    'waiting_served_ratio': 0.3,
    'max_batch_total_tokens': 1259392,
    'max_waiting_tokens': 20,
    'max_batch_size': None,
    'validation_workers': 32,
    'max_client_batch_size': 4,
    'version': '2.0.2',
    'sha': 'dccab72549635c7eb5ddb17f43f0b7cdff07c214',
    'docker_label': 'sha-dccab72'
}

health_check

< >

( model: str | None = None ) → bool

المعاملات

  • model (str، اختياري) — رابط نقطة الاستدلال (Inference Endpoint). يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

يعيد

bool

صحيح إذا كان كل شيء يعمل بشكل سليم.

تحقق من صحة نقطة النهاية المنفَّذة.

يتوفر فحص الحالة فقط مع نقاط الاستدلال المدعومة بواسطة Text-Generation-Inference (TGI) أو Text-Embedding-Inference (TEI).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient("https://jzgu0buei5.us-east-1.aws.endpoints.huggingface.cloud")
>>> await client.health_check()
True

image_classification

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonefunction_to_apply: typing.Optional[ForwardRef('ImageClassificationOutputTransform')] = Nonetop_k: int | None = None ) → list[ImageClassificationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة التي سيتم تصنيفها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم لتصنيف الصور. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتصنيف الصور.
  • function_to_apply ("ImageClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.

يعيد

list[ImageClassificationOutputElement]

قائمة من عناصر ImageClassificationOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

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

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.image_classification("https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg")
[ImageClassificationOutputElement(label='Blenheim spaniel', score=0.9779096841812134), ...]

image_segmentation

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonemask_threshold: float | None = Noneoverlap_mask_area_threshold: float | None = Nonesubtask: typing.Optional[ForwardRef('ImageSegmentationSubtask')] = Nonethreshold: float | None = None ) → list[ImageSegmentationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المراد تجزئتها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم لتجزئة الصور. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لتجزئة الصور.
  • mask_threshold (float، اختياري) — العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.
  • overlap_mask_area_threshold (float، اختياري) — حدّ تداخل الأقنعة لإزالة المقاطع الصغيرة غير المتصلة.
  • subtask ("ImageSegmentationSubtask"، اختياري) — مهمة التقطيع التي سيتم تنفيذها، اعتمادًا على قدرات النموذج.
  • threshold (float، اختياري) — حد الاحتمال لاستبعاد الأقنعة المتوقعة.

يعيد

list[ImageSegmentationOutputElement]

قائمة من عناصر ImageSegmentationOutputElement تحتوي على الأقنعة المجزأة والخصائص المرتبطة بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

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

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.image_segmentation("cat.jpg")
[ImageSegmentationOutputElement(score=0.989008, label='LABEL_184', mask=<PIL.PngImagePlugin.PngImageFile image mode=L size=400x300 at 0x7FDD2B129CC0>), ...]

image_to_image

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]prompt: str | None = Nonenegative_prompt: str | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Nonemodel: str | None = Nonetarget_size: huggingface_hub.inference._generated.types.image_to_image.ImageToImageTargetSize | None = None**kwargs ) → Image

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة للترجمة. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • prompt (str، اختياري) — نصّ الأمر الموجّه لتوليد الصورة.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الصورة.
  • num_inference_steps (int, اختياري) — لنماذج الانتشار. عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — لنماذج الانتشار. تشجع قيمة أعلى لمقياس التوجيه النموذج على توليد صور مرتبطة ارتباطًا وثيقًا بالموجّه النصي على حساب انخفاض جودة الصورة.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • target_size (ImageToImageTargetSize، اختياري) — حجم الصورة الناتجة بالبكسل. يدعم هذا المعامل بعض المزودين فقط ولأطر نماذج محددة. سيتم تجاهله عند عدم دعمه.

يعيد

Image

الصورة المُترجمة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

نفّذ ترجمة صورة إلى صورة باستخدام نموذج محدد.

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> image = await client.image_to_image("cat.jpg", prompt="turn the cat into a tiger")
>>> image.save("tiger.jpg")

image_to_text

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = None ) → ImageToTextOutput

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة التي سيتم إنشاء وصف لها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.

النص المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

يستقبل صورة مدخلة ويعيد نصًا.

يمكن أن تختلف مخرجات النماذج اختلافًا كبيرًا اعتمادًا على حالة الاستخدام (وصف الصور، التعرف الضوئي على الحروف (OCR)، Pix2Struct، إلخ). يرجى الاطلاع على بطاقة النموذج لمعرفة المزيد حول خصائص النموذج.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.image_to_text("cat.jpg")
'a cat standing in a grassy field '
>>> await client.image_to_text("https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg")
'a dog laying on the grass next to a flower pot '

image_to_video

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Noneprompt: str | None = Nonenegative_prompt: str | None = Nonenum_frames: float | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Noneseed: int | None = Nonetarget_size: huggingface_hub.inference._generated.types.image_to_video.ImageToVideoTargetSize | None = None**kwargs ) → bytes

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المُدخَلة لتوليد فيديو منها. يمكن أن تكون بايتات خام، أو ملف صورة، أو رابط URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • prompt (str، اختياري) — نصّ الأمر الموجّه لتوليد الفيديو.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الفيديو.
  • num_frames (float, اختياري) — يحدد معامل num_frames عدد إطارات الفيديو التي سيتم توليدها.
  • num_inference_steps (int, اختياري) — لنماذج الانتشار. عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — لنماذج الانتشار. تشجع قيمة أعلى لمقياس التوجيه النموذج على توليد مقاطع فيديو مرتبطة ارتباطًا وثيقًا بالموجّه النصي على حساب انخفاض جودة الصورة.
  • seed (int, اختياري) — البذرة المستخدمة لتوليد الفيديو.
  • target_size (ImageToVideoTargetSize، اختياري) — حجم إطارات الفيديو الناتجة بالبكسل.
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.

يعيد

bytes

الفيديو المُولَّد.

إنشاء فيديو من صورة مدخلة.

أمثلة:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> video = await client.image_to_video("cat.jpg", model="Wan-AI/Wan2.2-I2V-A14B", prompt="turn the cat into a tiger")
>>> with open("tiger.mp4", "wb") as f:
...     f.write(video)

object_detection

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]model: str | None = Nonethreshold: float | None = None ) → list[ObjectDetectionOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة التي سيتم اكتشاف الكائنات عليها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • model (str، اختياري) — النموذج المستخدم للكشف عن الكائنات. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للكشف عن الكائنات (DETR).
  • threshold (float، اختياري) — الاحتمال المطلوب لإصدار التنبؤ.

يعيد

list[ObjectDetectionOutputElement]

قائمة من عناصر ObjectDetectionOutputElement تحتوي على صناديق الحدود والسمات المرتبطة بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError أو ValueError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.
  • ValueError — إذا لم يكن ناتج الطلب قائمة (List).

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

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.object_detection("people.jpg")
[ObjectDetectionOutputElement(score=0.9486683011054993, label='person', box=ObjectDetectionBoundingBox(xmin=59, ymin=39, xmax=420, ymax=510)), ...]

question_answering

< >

( question: strcontext: strmodel: str | None = Nonealign_to_words: bool | None = Nonedoc_stride: int | None = Nonehandle_impossible_answer: bool | None = Nonemax_answer_len: int | None = Nonemax_question_len: int | None = Nonemax_seq_len: int | None = Nonetop_k: int | None = None ) → Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

المعاملات

  • question (str) — السؤال المطلوب الإجابة عنه.
  • context (str) — سياق السؤال.
  • model (str) — النموذج المستخدم لمهمة الإجابة على الأسئلة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة.
  • align_to_words (bool، اختياري) — يحاول محاذاة الإجابة مع الكلمات الفعلية. يحسّن الجودة في اللغات المفصولة بالمسافات. قد يُضعف الأداء في اللغات غير المفصولة بالمسافات (مثل اليابانية أو الصينية)
  • doc_stride (int, اختياري) — إذا كان السياق طويلاً جداً بحيث لا يتسع مع السؤال للنموذج، فسيتم تقسيمه إلى عدة مقاطع مع بعض التداخل. يتحكم هذا الحجم في حجم ذلك التداخل.
  • handle_impossible_answer (bool، اختياري) — ما إذا كان سيتم قبول "مستحيل" كإجابة.
  • max_answer_len (int، اختياري) — الحد الأقصى لطول الإجابات المتوقعة (على سبيل المثال، تُعتبَر الإجابات ذات الطول الأقصر فقط).
  • max_question_len (int، اختياري) — الحد الأقصى لطول السؤال بعد الترميز. سيتم اقتطاعه إذا لزم الأمر.
  • max_seq_len (int, اختياري) — الحد الأقصى لطول الجملة الإجمالي (السياق + السؤال) بوحدة الرموز لكل مقطع يُمرَّر إلى النموذج. سيتم تقسيم السياق إلى عدة مقاطع (باستخدام docStride كتداخل) عند الحاجة.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). لاحظ أننا نعيد عددًا أقل من إجابات topk إذا لم تتوفر خيارات كافية ضمن السياق.

يعيد

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

عندما تكون قيمة top_k تساوي 1 أو غير محددة، تُرجع عنصرًا واحدًا من نوع QuestionAnsweringOutputElement. عندما تكون قيمة top_k أكبر من 1، تُرجع قائمة من عناصر QuestionAnsweringOutputElement.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

استخراج الإجابة عن سؤال من نص معيّن.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.question_answering(question="What's my name?", context="My name is Clara and I live in Berkeley.")
QuestionAnsweringOutputElement(answer='Clara', end=16, score=0.9326565265655518, start=11)

تشابه_الجملة

< >

( sentence: strother_sentences: listmodel: str | None = None ) → list[float]

المعاملات

  • sentence (str) — الجملة الرئيسية التي تُقارن بالجمل الأخرى.
  • other_sentences (list[str]) — قائمة الجُمل التي سيتم إجراء المقارنة معها.
  • model (str، اختياري) — النموذج المستخدم لمهمة تشابه الجمل. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تشابه الجمل الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

list[float]

التمثيل المتجهي (Embedding) للنص المُدخل.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

احسب التشابه الدلالي بين جملة وقائمة من الجمل الأخرى من خلال مقارنة تمثيلاتها المتجهة.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.sentence_similarity(
...     "Machine learning is so easy.",
...     other_sentences=[
...         "Deep learning is so straightforward.",
...         "This is so difficult, like rocket science.",
...         "I can't believe how much I struggled with this.",
...     ],
... )
[0.7785726189613342, 0.45876261591911316, 0.2906220555305481]

تلخيص

< >

( text: strmodel: str | None = Noneclean_up_tokenization_spaces: bool | None = Nonegenerate_parameters: dict[str, typing.Any] | None = Nonetruncation: typing.Optional[ForwardRef('SummarizationTruncationStrategy')] = None ) → SummarizationOutput

المعاملات

  • text (str) — النص المُدخل للتلخيص.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا للتلخيص.
  • clean_up_tokenization_spaces (bool، اختياري) — ما إذا كان سيتم تنظيف المسافات الإضافية المحتملة في نص المخرجات.
  • generate_parameters (dict[str, Any]، اختياري) — إعدادات إضافية لخوارزمية توليد النص.
  • truncation ("SummarizationTruncationStrategy"، اختياري) — استراتيجية الاقتطاع المستخدمة.

نص الملخص المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

توليد ملخص لنص معيّن باستخدام نموذج محدد.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.summarization("The Eiffel tower...")
SummarizationOutput(generated_text="The Eiffel tower is one of the most famous landmarks in the world....")

table_question_answering

< >

( table: dictquery: strmodel: str | None = Nonepadding: typing.Optional[ForwardRef('Padding')] = Nonesequential: bool | None = Nonetruncation: bool | None = None ) → TableQuestionAnsweringOutputElement

المعاملات

  • table (str) — جدول بيانات مُعبَّر عنه على شكل قاموس من القوائم، حيث تكون العناصر رؤوسًا وتكون القوائم جميع القيم، ويجب أن تكون جميع القوائم بنفس الحجم.
  • query (str) — الاستعلام كنص عادي الذي تريد طرحه على الجدول.
  • model (str) — النموذج المستخدم لمهمة الإجابة عن الأسئلة المتعلقة بالجداول. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استنتاج (Inference Endpoint) مُنفَّذة.
  • padding ("Padding"، اختياري) — يفعّل التحكم في الحشو.
  • sequential (bool, اختياري) — ما إذا كان سيتم تنفيذ الاستدلال بشكل تسلسلي أو كدفعة. الدفعات أسرع، لكن نماذج مثل SQA تتطلب تنفيذ الاستدلال بشكل تسلسلي لاستخراج العلاقات داخل التسلسلات، نظرًا لطبيعتها الحوارية.
  • truncation (bool، اختياري) — يفعّل التحكم في القص.

إخراج سؤال وإجابة على جدول يحتوي على الإجابة، والإحداثيات، والخلايا، والمجمّع المستخدم.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

استخراج الإجابة عن سؤال من المعلومات المعطاة في جدول.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> query = "How many stars does the transformers repository have?"
>>> table = {"Repository": ["Transformers", "Datasets", "Tokenizers"], "Stars": ["36542", "4512", "3934"]}
>>> await client.table_question_answering(table, query, model="google/tapas-base-finetuned-wtq")
TableQuestionAnsweringOutputElement(answer='36542', coordinates=[[0, 1]], cells=['36542'], aggregator='AVERAGE')

tabular_classification

< >

( table: dictmodel: str | None = None ) → List

المعاملات

  • table (dict[str, Any]) — مجموعة من السمات التي سيتم تصنيفها.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف البيانات الجدولية. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُفعّلة. إذا لم يُقدَّم، فسيتم استخدام نموذج التصنيف الجدولي الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

List

قائمة من التسميات، واحدة لكل صف في الجدول الأولي.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

تصنيف فئة مستهدفة (مجموعة) بناءً على مجموعة من السمات.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> table = {
...     "fixed_acidity": ["7.4", "7.8", "10.3"],
...     "volatile_acidity": ["0.7", "0.88", "0.32"],
...     "citric_acid": ["0", "0", "0.45"],
...     "residual_sugar": ["1.9", "2.6", "6.4"],
...     "chlorides": ["0.076", "0.098", "0.073"],
...     "free_sulfur_dioxide": ["11", "25", "5"],
...     "total_sulfur_dioxide": ["34", "67", "13"],
...     "density": ["0.9978", "0.9968", "0.9976"],
...     "pH": ["3.51", "3.2", "3.23"],
...     "sulphates": ["0.56", "0.68", "0.82"],
...     "alcohol": ["9.4", "9.8", "12.6"],
... }
>>> await client.tabular_classification(table=table, model="julien-c/wine-quality")
["5", "5", "5"]

tabular_regression

< >

( table: dictmodel: str | None = None ) → List

المعاملات

  • table (dict[str, Any]) — مجموعة من السمات المخزنة في جدول. يمكن أن تكون السمات المستخدمة للتنبؤ بالهدف رقمية أو فئوية.
  • model (str، اختياري) — النموذج المستخدم لمهمة الانحدار الجدولي. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الجدولي الموصى به افتراضيًا. القيمة الافتراضية هي None.

يعيد

List

قائمة بقيم الهدف الرقمية المتوقعة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

التنبؤ بقيمة رقمية مستهدفة بناءً على مجموعة من السمات/الميزات في جدول.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> table = {
...     "Height": ["11.52", "12.48", "12.3778"],
...     "Length1": ["23.2", "24", "23.9"],
...     "Length2": ["25.4", "26.3", "26.5"],
...     "Length3": ["30", "31.2", "31.1"],
...     "Species": ["Bream", "Bream", "Bream"],
...     "Width": ["4.02", "4.3056", "4.6961"],
... }
>>> await client.tabular_regression(table, model="scikit-learn/Fish-Weight")
[110, 120, 130]

text_classification

< >

( text: strmodel: str | None = Nonetop_k: int | None = Nonefunction_to_apply: typing.Optional[ForwardRef('TextClassificationOutputTransform')] = None ) → list[TextClassificationOutputElement]

المعاملات

  • text (str) — نص يُصنَّف.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف النصوص. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف النصوص الافتراضي الموصى به. القيمة الافتراضية هي None.
  • top_k (int، اختياري) — عند تحديده، يحدّ المخرجات إلى أعلى K فئات على الأرجح.
  • function_to_apply ("TextClassificationOutputTransform"، اختياري) — الدالة التي تُطبَّق على مخرجات النموذج من أجل استرجاع الدرجات.

يعيد

list[TextClassificationOutputElement]

قائمة من عناصر TextClassificationOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف النصوص (مثل تحليل المشاعر) على النص المعطى.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.text_classification("I like you")
[
    TextClassificationOutputElement(label='POSITIVE', score=0.9998695850372314),
    TextClassificationOutputElement(label='NEGATIVE', score=0.0001304351753788069),
]

text_generation

< >

( prompt: strdetails: bool | None = Nonestream: bool | None = Nonemodel: str | None = Noneadapter_id: str | None = Nonebest_of: int | None = Nonedecoder_input_details: bool | None = Nonedo_sample: bool | None = Nonefrequency_penalty: float | None = Nonegrammar: huggingface_hub.inference._generated.types.text_generation.TextGenerationInputGrammarType | None = Nonemax_new_tokens: int | None = Nonerepetition_penalty: float | None = Nonereturn_full_text: bool | None = Noneseed: int | None = Nonestop: list[str] | None = Nonetemperature: float | None = Nonetop_k: int | None = Nonetop_n_tokens: int | None = Nonetop_p: float | None = Nonetruncate: int | None = Nonetypical_p: float | None = Nonewatermark: bool | None = None ) → Union[str, TextGenerationOutput, AsyncIterable[str], AsyncIterable[TextGenerationStreamOutput]]

المعاملات

  • prompt (str) — النص المُدخل.
  • details (bool، اختياري) — بشكل افتراضي، تُرجع text_generation نصًا. مرّر details=True إذا كنت ترغب في مخرجات مفصّلة (رموز، احتمالات، بذرة، سبب الانتهاء، إلخ). متاحة فقط للنماذج التي تعمل مع الخلفية text-generation-inference.
  • stream (bool، اختياري) — بشكل افتراضي، تُرجع text_generation النص المولَّد كاملاً. مرّر stream=True إذا كنت ترغب في استلام تدفّق من الرموز. متوفر فقط للنماذج التي تعمل مع واجهة text-generation-inference.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. القيمة الافتراضية هي None.
  • adapter_id (str, اختياري) — معرّف مُكيّف Lora.
  • best_of (int، اختياري) — توليد تسلسلات best_of وإرجاع التسلسل الذي يحتوي على أعلى قيم logprobs للرموز.
  • decoder_input_details (bool، اختياري) — إرجاع احتمالات السجلات والمعرّفات لرموز مدخلات المُفكِّك. يجب عليك ضبط details=True أيضًا حتى يُؤخذ ذلك في الاعتبار. القيمة الافتراضية هي False.
  • do_sample (bool، اختياري) — تفعيل أخذ عينات من القيم اللوجستية
  • frequency_penalty (float, اختياري) — عدد بين -2.0 و 2.0. تُعاقب القيم الموجبة الرموز الجديدة بناءً على ترددها الحالي في النص حتى الآن، مما يقلل من احتمال تكرار النموذج لنفس السطر حرفياً.
  • grammar (TextGenerationInputGrammarType، اختياري) — قيود القواعد. يمكن أن تكون إما JSONSchema أو regex.
  • max_new_tokens (int, اختياري) — الحد الأقصى لعدد الرموز المولّدة. القيمة الافتراضية هي 100.
  • repetition_penalty (float, اختياري) — المعامل الخاص بعقوبة التكرار. القيمة 1.0 تعني عدم وجود عقوبة. راجع هذا الورقة لمزيد من التفاصيل.
  • return_full_text (bool، اختياري) — ما إذا كان يجب إضافة الموجه إلى النص المولّد
  • seed (int، اختياري) — بذرة العينة العشوائية
  • stop (list[str]، اختياري) — توقف عن توليد الرموز إذا تم توليد أحد أعضاء stop.
  • temperature (float، اختياري) — القيمة المستخدمة لتعديل توزيع القيم اللوجستية (logits).
  • top_n_tokens (int، اختياري) — إرجاع معلومات حول الرموز الأكثر احتمالاً بعدد top_n_tokens في كل خطوة من خطوات التوليد، بدلاً من الرمز المُستخرج فقط.
  • top_k (int, *اختياري`) — عدد رموز المفردات ذات أعلى احتمالات التي يجب الاحتفاظ بها لتصفية أعلى ك.
  • top_p (float, *optional) -- If set to < 1, only the smallest set of most probable tokens with probabilities that add up to top_p` or higher are kept for generation.
  • truncate (int, *اختياري`) — يقوم بقص رموز الإدخال إلى الحجم المحدد.
  • typical_p (float, *اختياري`) — كتلة فك التشفير النموذجي (Typical Decoding) راجع فك التشفير النموذجي لتوليد اللغة الطبيعية لمزيد من المعلومات
  • watermark (bool، اختياري) — إضافة علامة مائية باستخدام علامة مائية للنماذج اللغوية الكبيرة

يعيد

Union[str, TextGenerationOutput, AsyncIterable[str], AsyncIterable[TextGenerationStreamOutput]]

النص المولّد المُعاد من الخادم:

  • إذا كان stream=False وdetails=False، يُعاد النص المولّد كـstr (الافتراضي)
  • إذا كان stream=True وdetails=False، يُعاد النص المولّد رمزًا تلو الآخر كـAsyncIterable[str]
  • إذا كان stream=False وdetails=True، يُعاد النص المولّد مع مزيد من التفاصيل كـTextGenerationOutput
  • إذا كان details=True وstream=True، يُعاد النص المولّد رمزًا تلو الآخر كقابلة للتكرار من TextGenerationStreamOutput

يرفع

ValidationError أو InferenceTimeoutError أو HfHubHTTPError

  • ValidationError — إذا كانت قيم الإدخال غير صالحة. لا يتم تنفيذ أي استدعاء HTTP إلى الخادم.
  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

بناءً على موجه معين، قم بتوليد النص التالي.

إذا كنت ترغب في توليد رد من رسائل الدردشة، فيجب عليك استخدام طريقة InferenceClient.chat_completion(). تقبل هذه الطريقة قائمة من الرسائل بدلاً من موجه نصي واحد، وتتعامل مع قالب الدردشة نيابةً عنك.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()

# Case 1: generate text
>>> await client.text_generation("The huggingface_hub library is ", max_new_tokens=12)
'100% open source and built to be easy to use.'

# Case 2: iterate over the generated tokens. Useful for large generation.
>>> async for token in await client.text_generation("The huggingface_hub library is ", max_new_tokens=12, stream=True):
...     print(token)
100
%
open
source
and
built
to
be
easy
to
use
.

# Case 3: get more details about the generation process.
>>> await client.text_generation("The huggingface_hub library is ", max_new_tokens=12, details=True)
TextGenerationOutput(
    generated_text='100% open source and built to be easy to use.',
    details=TextGenerationDetails(
        finish_reason='length',
        generated_tokens=12,
        seed=None,
        prefill=[
            TextGenerationPrefillOutputToken(id=487, text='The', logprob=None),
            TextGenerationPrefillOutputToken(id=53789, text=' hugging', logprob=-13.171875),
            (...)
            TextGenerationPrefillOutputToken(id=204, text=' ', logprob=-7.0390625)
        ],
        tokens=[
            TokenElement(id=1425, text='100', logprob=-1.0175781, special=False),
            TokenElement(id=16, text='%', logprob=-0.0463562, special=False),
            (...)
            TokenElement(id=25, text='.', logprob=-0.5703125, special=False)
        ],
        best_of_sequences=None
    )
)

# Case 4: iterate over the generated tokens with more details.
# Last object is more complete, containing the full generated text and the finish reason.
>>> async for details in await client.text_generation("The huggingface_hub library is ", max_new_tokens=12, details=True, stream=True):
...     print(details)
...
TextGenerationStreamOutput(token=TokenElement(id=1425, text='100', logprob=-1.0175781, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=16, text='%', logprob=-0.0463562, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=1314, text=' open', logprob=-1.3359375, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=3178, text=' source', logprob=-0.28100586, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=273, text=' and', logprob=-0.5961914, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=3426, text=' built', logprob=-1.9423828, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=271, text=' to', logprob=-1.4121094, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=314, text=' be', logprob=-1.5224609, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=1833, text=' easy', logprob=-2.1132812, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=271, text=' to', logprob=-0.08520508, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(id=745, text=' use', logprob=-0.39453125, special=False), generated_text=None, details=None)
TextGenerationStreamOutput(token=TokenElement(
    id=25,
    text='.',
    logprob=-0.5703125,
    special=False),
    generated_text='100% open source and built to be easy to use.',
    details=TextGenerationStreamOutputStreamDetails(finish_reason='length', generated_tokens=12, seed=None)
)

# Case 5: generate constrained output using grammar
>>> response = await client.text_generation(
...     prompt="I saw a puppy a cat and a raccoon during my bike ride in the park",
...     model="HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1",
...     max_new_tokens=100,
...     repetition_penalty=1.3,
...     grammar={
...         "type": "json",
...         "value": {
...             "properties": {
...                 "location": {"type": "string"},
...                 "activity": {"type": "string"},
...                 "animals_seen": {"type": "integer", "minimum": 1, "maximum": 5},
...                 "animals": {"type": "array", "items": {"type": "string"}},
...             },
...             "required": ["location", "activity", "animals_seen", "animals"],
...         },
...     },
... )
>>> json.loads(response)
{
    "activity": "bike riding",
    "animals": ["puppy", "cat", "raccoon"],
    "animals_seen": 3,
    "location": "park"
}

text_to_image

< >

( prompt: strnegative_prompt: str | None = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int | None = Noneguidance_scale: float | None = Nonemodel: str | None = Nonescheduler: str | None = Noneseed: int | None = Noneextra_body: dict[str, typing.Any] | None = None ) → Image

المعاملات

  • prompt (str) — الموجّه النصي لتوليد صورة منه.
  • negative_prompt (str، اختياري) — موجّه واحد يحدد ما يجب عدم تضمينه في توليد الصورة.
  • height (int، اختياري) — ارتفاع الصورة الناتجة بالبكسل
  • width (int، اختياري) — عرض الصورة الناتجة بالبكسل
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة بجودة أعلى على حساب بطء الاستدلال.
  • guidance_scale (float, اختياري) — تشجيع النموذج على توليد صور مرتبطة ارتباطًا وثيقًا بـ prompt النصي يتطلب قيمة أعلى لمقياس التوجيه، لكن القيم المرتفعة جدًا قد تسبب تشبعًا (saturation) وشوائب أخرى.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو عنوان URL لنقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى الصورة الافتراضي الموصى به. القيمة الافتراضية هي None.
  • scheduler (str، اختياري) — استبدال المجدول بمجدول متوافق.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

Image

الصورة المولّدة.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

إنشاء صورة بناءً على نص معيّن باستخدام نموذج محدد.

يجب أن يكون PIL مثبّتًا إذا كنت ترغب في العمل مع الصور (pip install Pillow).

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()

>>> image = await client.text_to_image("An astronaut riding a horse on the moon.")
>>> image.save("astronaut.png")

>>> image = await client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     negative_prompt="low resolution, blurry",
...     model="stabilityai/stable-diffusion-2-1",
... )
>>> image.save("better_astronaut.png")
Example using a third-party provider directly. Usage will be billed on your fal.ai account.
>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="fal-ai",  # Use fal.ai provider
...     api_key="fal-ai-api-key",  # Pass your fal.ai API key
... )
>>> image = client.text_to_image(
...     "A majestic lion in a fantasy forest",
...     model="black-forest-labs/FLUX.1-schnell",
... )
>>> image.save("lion.png")

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> image = client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     model="black-forest-labs/FLUX.1-dev",
... )
>>> image.save("astronaut.png")

مثال على استخدام مزوّد Replicate مع معاملات إضافية

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> image = client.text_to_image(
...     "An astronaut riding a horse on the moon.",
...     model="black-forest-labs/FLUX.1-schnell",
...     extra_body={"output_quality": 100},
... )
>>> image.save("astronaut.png")

text_to_speech

< >

( text: strmodel: str | None = Nonedo_sample: bool | None = Noneearly_stopping: typing.Union[bool, ForwardRef('TextToSpeechEarlyStoppingEnum'), NoneType] = Noneepsilon_cutoff: float | None = Noneeta_cutoff: float | None = Nonemax_length: int | None = Nonemax_new_tokens: int | None = Nonemin_length: int | None = Nonemin_new_tokens: int | None = Nonenum_beam_groups: int | None = Nonenum_beams: int | None = Nonepenalty_alpha: float | None = Nonetemperature: float | None = Nonetop_k: int | None = Nonetop_p: float | None = Nonetypical_p: float | None = Noneuse_cache: bool | None = Noneextra_body: dict[str, typing.Any] | None = None ) → bytes

المعاملات

  • text (str) — النص المراد توليده.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى كلام الافتراضي الموصى به. القيمة الافتراضية هي None.
  • do_sample (bool، اختياري) — ما إذا كان سيتم استخدام العينة بدلاً من فك الترميز الجشع عند توليد الرموز الجديدة.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"]، اختياري) — يتحكم في شرط التوقف للطرق القائمة على الحزم (beam-based methods).
  • epsilon_cutoff (float, اختياري) — إذا تم ضبطه على قيمة عشرية تقع بصرامة بين 0 و 1، فسيتم أخذ عينات فقط من الرموز التي تتجاوز احتمالية الشرط الخاص بها epsilon_cutoff. في الورقة البحثية، تتراوح القيم المقترحة بين 3e-4 و 9e-4، اعتمادًا على حجم النموذج. راجع أخذ العينات بالقطع كنموذج لغوي لتنعيم لمزيد من التفاصيل.
  • eta_cutoff (float, اختياري) — يُعدّ أخذ العينات باستخدام Eta مزيجًا من أخذ العينات النموذجي محليًا وأخذ العينات باستخدام epsilon. إذا تم تعيينه إلى قيمة float تقع بصرامة بين 0 و 1، فإن الرمز يُعتبر فقط إذا كان أكبر من إما eta_cutoff أو sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). الحد الأخير هو الحدسياً احتمال الرمز التالي المتوقع، مُقيّماً بواسطة sqrt(eta_cutoff). في الورقة البحثية، تتراوح القيم المقترحة بين 3e-4 و2e-3، اعتماداً على حجم النموذج. راجع Truncation Sampling as Language Model Desmoothing لمزيد من التفاصيل.
  • max_length (int، اختياري) — الحد الأقصى للطول (بالرموز) للنص المولّد، بما في ذلك المدخلات.
  • max_new_tokens (int, اختياري) — الحد الأقصى لعدد الرموز (tokens) التي سيتم توليدها. له الأولوية على max_length.
  • min_length (int، اختياري) — الحد الأدنى للطول (بالرموز) للنص المولّد، بما في ذلك المدخلات.
  • min_new_tokens (int، اختياري) — الحد الأدنى لعدد الرموز التي يجب توليدها. له الأولوية على min_length.
  • num_beam_groups (int, اختياري) — عدد المجموعات التي تُقسَّم إليها num_beams لضمان التنوع بين مجموعات الأشعة المختلفة. راجع هذا الورقة لمزيد من التفاصيل.
  • num_beams (int، اختياري) — عدد الحزم المستخدمة في بحث الحزم.
  • penalty_alpha (float, اختياري) — توازن القيمة بين ثقة النموذج وعقوبة التدهور في فك الترميز البحثي التبايني.
  • temperature (float، اختياري) — القيمة المستخدمة لضبط احتمالات الرمز التالي.
  • top_k (int، اختياري) — عدد رموز المفردات ذات أعلى احتمالات التي يجب الاحتفاظ بها لتصفية top-k.
  • top_p (float، اختياري) — إذا تم ضبطه على قيمة float أقل من 1، فإن مجموعة الرموز الأكثر احتمالاً الأصغر التي تضيف احتمالاتها إلى top_p أو أعلى هي التي تُحتفظ بها للتوليد.
  • typical_p (float, اختياري) — تقيس المحلية النموذجية مدى تشابه الاحتمال الشرطي للتنبؤ بالرمز المستهدف التالي مع الاحتمال الشرطي المتوقع للتنبؤ برمز عشوائي التالي، بالنظر إلى النص الجزئي الذي تم توليده بالفعل. إذا تم ضبطه على قيمة float < 1، فسيتم الاحتفاظ بأصغر مجموعة من الرموز الأكثر محلية نموذجية التي تضاف احتمالاتها لتساوي typical_p أو أعلى، وذلك للتوليد. راجع هذا الورقة لمزيد من التفاصيل.
  • use_cache (bool، اختياري) — ما إذا كان يجب على النموذج استخدام انتباهات المفاتيح/القيم الأخيرة السابقة لتسريع فك الترميز
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

bytes

الصوت المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

صنع صوت صوتي ينطق نصًا معيّنًا.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

# Must be run in an async context
>>> from pathlib import Path
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()

>>> audio = await client.text_to_speech("Hello world")
>>> Path("hello_world.flac").write_bytes(audio)

مثال على استخدام مزوّد طرف ثالث مباشرةً. سيتم احتساب الاستخدام على حسابك في Replicate.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",
...     api_key="your-replicate-api-key",  # Pass your Replicate API key directly
... )
>>> audio = client.text_to_speech(
...     text="Hello world",
...     model="OuteAI/OuteTTS-0.3-500M",
... )
>>> Path("hello_world.flac").write_bytes(audio)

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",
...     api_key="hf_...",  # Pass your HF token
... )
>>> audio =client.text_to_speech(
...     text="Hello world",
...     model="OuteAI/OuteTTS-0.3-500M",
... )
>>> Path("hello_world.flac").write_bytes(audio)
Example using Replicate provider with extra parameters
>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Use replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> audio = client.text_to_speech(
...     "Hello, my name is Kororo, an awesome text-to-speech model.",
...     model="hexgrad/Kokoro-82M",
...     extra_body={"voice": "af_nicole"},
... )
>>> Path("hello.flac").write_bytes(audio)

مثال على توليد الموسيقى باستخدام “YuE-s1-7B-anneal-en-cot” على fal.ai

>>> from huggingface_hub import InferenceClient
>>> lyrics = '''
... [verse]
... In the town where I was born
... Lived a man who sailed to sea
... And he told us of his life
... In the land of submarines
... So we sailed on to the sun
... 'Til we found a sea of green
... And we lived beneath the waves
... In our yellow submarine

... [chorus]
... We all live in a yellow submarine
... Yellow submarine, yellow submarine
... We all live in a yellow submarine
... Yellow submarine, yellow submarine
... '''
>>> genres = "pavarotti-style tenor voice"
>>> client = InferenceClient(
...     provider="fal-ai",
...     model="m-a-p/YuE-s1-7B-anneal-en-cot",
...     api_key=...,
... )
>>> audio = client.text_to_speech(lyrics, extra_body={"genres": genres})
>>> with open("output.mp3", "wb") as f:
...     f.write(audio)

text_to_video

< >

( prompt: strmodel: str | None = Noneguidance_scale: float | None = Nonenegative_prompt: list[str] | None = Nonenum_frames: float | None = Nonenum_inference_steps: int | None = Noneseed: int | None = Noneextra_body: dict[str, typing.Any] | None = None ) → bytes

المعاملات

  • prompt (str) — الموجّه الذي سيتم توليد الفيديو بناءً عليه.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج النص إلى الفيديو الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • guidance_scale (float, اختياري) — تشجيع النموذج على توليد مقاطع فيديو مرتبطة ارتباطًا وثيقًا بـ prompt النصي يتطلب قيمة أعلى لمقياس التوجيه، لكن القيم المرتفعة جدًا قد تسبب تشبعًا (saturation) وشوائب أخرى.
  • negative_prompt (list[str]، اختياري) — موجّه واحد أو أكثر لتوجيه ما يجب عدم تضمينه في توليد الفيديو.
  • num_frames (float, اختياري) — يحدد معامل num_frames عدد إطارات الفيديو التي سيتم توليدها.
  • num_inference_steps (int, اختياري) — عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.
  • seed (int, اختياري) — البذرة لمولّد الأرقام العشوائية.
  • extra_body (dict[str, Any], اختياري) — معاملات إضافية خاصة بالمزوّد تُمرَّر إلى النموذج. راجع توثيق المزوّد للاطلاع على المعاملات المدعومة.

يعيد

bytes

الفيديو المُولَّد.

إنشاء فيديو بناءً على نص معطى.

يمكنك تمرير معلمات محددة للمزوّد إلى النموذج باستخدام الحجة extra_body.

مثال:

مثال على استخدام مزوّد طرف ثالث مباشرةً. سيتم احتساب الاستخدام على حسابك في fal.ai.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="fal-ai",  # Using fal.ai provider
...     api_key="fal-ai-api-key",  # Pass your fal.ai API key
... )
>>> video = client.text_to_video(
...     "A majestic lion running in a fantasy forest",
...     model="tencent/HunyuanVideo",
... )
>>> with open("lion.mp4", "wb") as file:
...     file.write(video)

مثال على استخدام مزوّد طرف ثالث عبر توجيه Hugging Face. سيتم احتساب الاستخدام على حسابك في Hugging Face.

>>> from huggingface_hub import InferenceClient
>>> client = InferenceClient(
...     provider="replicate",  # Using replicate provider
...     api_key="hf_...",  # Pass your HF token
... )
>>> video = client.text_to_video(
...     "A cat running in a park",
...     model="genmo/mochi-1-preview",
... )
>>> with open("cat.mp4", "wb") as file:
...     file.write(video)

token_classification

< >

( text: strmodel: str | None = Noneaggregation_strategy: typing.Optional[ForwardRef('TokenClassificationAggregationStrategy')] = Noneignore_labels: list[str] | None = Nonestride: int | None = None ) → list[TokenClassificationOutputElement]

المعاملات

  • text (str) — نص يُصنَّف.
  • model (str، اختياري) — النموذج المستخدم لمهمة تصنيف الرموز. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف الرموز الافتراضي الموصى به. القيمة الافتراضية هي None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy"، اختياري) — الاستراتيجية المستخدمة لدمج الرموز بناءً على تنبؤات النموذج
  • ignore_labels (list[str, اختياري) — قائمة من التسميات التي يجب تجاهلها
  • stride (int، اختياري) — عدد الرموز المتداخلة بين المقاطع عند تقسيم النص المدخل.

يعيد

list[TokenClassificationOutputElement]

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

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

أداء تصنيف الرموز على النص المعطى. يُستخدم عادةً لتحليل الجمل، سواءً كان تحليلًا نحويًا أو التعرف على الكيانات المسمّاة (NER) لفهم الكلمات المفتاحية الموجودة داخل النص.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.token_classification("My name is Sarah Jessica Parker but you can call me Jessica")
[
    TokenClassificationOutputElement(
        entity_group='PER',
        score=0.9971321225166321,
        word='Sarah Jessica Parker',
        start=11,
        end=31,
    ),
    TokenClassificationOutputElement(
        entity_group='PER',
        score=0.9773476123809814,
        word='Jessica',
        start=52,
        end=59,
    )
]

الترجمة

< >

( text: strmodel: str | None = Nonesrc_lang: str | None = Nonetgt_lang: str | None = Noneclean_up_tokenization_spaces: bool | None = Nonetruncation: typing.Optional[ForwardRef('TranslationTruncationStrategy')] = Nonegenerate_parameters: dict[str, typing.Any] | None = None ) → TranslationOutput

المعاملات

  • text (str) — نص يُراد ترجمته.
  • model (str، اختياري) — النموذج المستخدم لمهمة الترجمة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام نموذج الترجمة الموصى به افتراضيًا. القيمة الافتراضية هي None.
  • src_lang (str، اختياري) — لغة المصدر للنص. مطلوب للنماذج التي يمكنها الترجمة من لغات متعددة.
  • tgt_lang (str، اختياري) — اللغة المستهدفة للترجمة إليها. مطلوب للنماذج التي يمكنها الترجمة إلى لغات متعددة.
  • clean_up_tokenization_spaces (bool، اختياري) — ما إذا كان سيتم تنظيف المسافات الإضافية المحتملة في نص المخرجات.
  • truncation ("TranslationTruncationStrategy"، اختياري) — استراتيجية الاقتطاع المستخدمة.
  • generate_parameters (dict[str, Any]، اختياري) — إعدادات إضافية لخوارزمية توليد النص.

النص المُترجَم المُولَّد.

يرفع

InferenceTimeoutError أو HfHubHTTPError أو ValueError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.
  • ValueError — إذا تم تقديم أحد الحقلين src_lang وtgt_lang فقط.

تحويل النص من لغة إلى أخرى.

اطّلع على https://huggingface.co/tasks/translation لمزيد من المعلومات حول كيفية اختيار أفضل نموذج لحالتك الخاصة. تعتمد اللغات المصدرية والهدفية عادةً على النموذج. ومع ذلك، يمكن تحديد اللغات المصدرية والهدفية لبعض النماذج. إذا كنت تعمل مع أحد هذه النماذج، يمكنك استخدام الحججين src_lang وtgt_lang لتزويد النموذج بالمعلومات ذات الصلة.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.translation("My name is Wolfgang and I live in Berlin")
'Mein Name ist Wolfgang und ich lebe in Berlin.'
>>> await client.translation("My name is Wolfgang and I live in Berlin", model="Helsinki-NLP/opus-mt-en-fr")
TranslationOutput(translation_text='Je m'appelle Wolfgang et je vis à Berlin.')

تحديد اللغات:

>>> client.translation("My name is Sarah Jessica Parker but you can call me Jessica", model="facebook/mbart-large-50-many-to-many-mmt", src_lang="en_XX", tgt_lang="fr_XX")
"Mon nom est Sarah Jessica Parker mais vous pouvez m'appeler Jessica"

الإجابة على الأسئلة البصرية

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]question: strmodel: str | None = Nonetop_k: int | None = None ) → list[VisualQuestionAnsweringOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة للسياق. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • question (str) — السؤال المطلوب الإجابة عنه.
  • model (str، اختياري) — النموذج المستخدم لمهمة الإجابة البصرية على الأسئلة. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. إذا لم يُقدَّم، فسيتم استخدام النموذج الموصى به افتراضيًا لمهمة الإجابة البصرية على الأسئلة. القيمة الافتراضية هي None.
  • top_k (int، اختياري) — عدد الإجابات التي سيتم إرجاعها (سيتم اختيارها حسب ترتيب الاحتمالية). لاحظ أننا نعيد عددًا أقل من إجابات topk إذا لم تتوفر خيارات كافية ضمن السياق.

يعيد

list[VisualQuestionAnsweringOutputElement]

قائمة من عناصر VisualQuestionAnsweringOutputElement تحتوي على التسمية المتوقعة والاحتمال المرتبط بها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

الإجابة على الأسئلة المفتوحة بناءً على صورة.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.visual_question_answering(
...     image="https://huggingface.co/datasets/mishig/sample_images/resolve/main/tiger.jpg",
...     question="What is the animal doing?"
... )
[
    VisualQuestionAnsweringOutputElement(score=0.778609573841095, answer='laying down'),
    VisualQuestionAnsweringOutputElement(score=0.6957435607910156, answer='sitting'),
]

zero_shot_classification

< >

( text: strcandidate_labels: listmulti_label: bool | None = Falsehypothesis_template: str | None = Nonemodel: str | None = None ) → list[ZeroShotClassificationOutputElement]

المعاملات

  • text (str) — النص المُدخل للتصنيف.
  • candidate_labels (list[str]) — مجموعة العلامات التصنيفية المحتملة لتصنيف النص إليها.
  • multi_label (bool، اختياري) — ما إذا كان يمكن أن تكون عدة تسميات مرشحة صحيحة. إذا كانت القيمة false، يتم تطبيع الدرجات بحيث يكون مجموع احتمالات التسميات لكل تسلسل يساوي 1. إذا كانت القيمة true، تُعتبر التسميات مستقلة ويتم تطبيع الاحتمالات لكل مرشح على حدة.
  • hypothesis_template (str، اختياري) — الجملة المستخدمة بالتزامن مع candidate_labels لمحاولة تصنيف النص عن طريق استبدال العنصر المميز بتسميات المرشحين.
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. إذا لم يُقدَّم، فسيتم استخدام نموذج التصنيف بدون تدريب (zero-shot classification) الافتراضي الموصى به.

يعيد

list[ZeroShotClassificationOutputElement]

قائمة من عناصر ZeroShotClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

قدّم نصًا كمُدخل ومجموعة من التسميات المرشحة لتصنيف النص المُدخل.

مثال مع multi_label=False:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> text = (
...     "A new model offers an explanation for how the Galilean satellites formed around the solar system's"
...     "largest world. Konstantin Batygin did not set out to solve one of the solar system's most puzzling"
...     " mysteries when he went for a run up a hill in Nice, France."
... )
>>> labels = ["space & cosmos", "scientific discovery", "microbiology", "robots", "archeology"]
>>> await client.zero_shot_classification(text, labels)
[
    ZeroShotClassificationOutputElement(label='scientific discovery', score=0.7961668968200684),
    ZeroShotClassificationOutputElement(label='space & cosmos', score=0.18570658564567566),
    ZeroShotClassificationOutputElement(label='microbiology', score=0.00730885099619627),
    ZeroShotClassificationOutputElement(label='archeology', score=0.006258360575884581),
    ZeroShotClassificationOutputElement(label='robots', score=0.004559356719255447),
]
>>> await client.zero_shot_classification(text, labels, multi_label=True)
[
    ZeroShotClassificationOutputElement(label='scientific discovery', score=0.9829297661781311),
    ZeroShotClassificationOutputElement(label='space & cosmos', score=0.755190908908844),
    ZeroShotClassificationOutputElement(label='microbiology', score=0.0005462635890580714),
    ZeroShotClassificationOutputElement(label='archeology', score=0.00047131875180639327),
    ZeroShotClassificationOutputElement(label='robots', score=0.00030448526376858354),
]

مثال باستخدام multi_label=True وقالب فرضية مخصص hypothesis_template:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()
>>> await client.zero_shot_classification(
...    text="I really like our dinner and I'm very happy. I don't like the weather though.",
...    candidate_labels=["positive", "negative", "pessimistic", "optimistic"],
...    multi_label=True,
...    hypothesis_template="This text is {} towards the weather"
... )
[
    ZeroShotClassificationOutputElement(label='negative', score=0.9231801629066467),
    ZeroShotClassificationOutputElement(label='pessimistic', score=0.8760990500450134),
    ZeroShotClassificationOutputElement(label='optimistic', score=0.0008674879791215062),
    ZeroShotClassificationOutputElement(label='positive', score=0.0005250611575320363)
]

zero_shot_image_classification

< >

( image: typing.Union[bytes, typing.BinaryIO, str, pathlib.Path, ForwardRef('Image'), bytearray, memoryview]candidate_labels: listmodel: str | None = Nonehypothesis_template: str | None = None ) → list[ZeroShotImageClassificationOutputElement]

المعاملات

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — الصورة المدخلة التي سيتم إنشاء وصف لها. يمكن أن تكون بايتات خام، أو ملف صورة، أو عنوان URL لصورة على الإنترنت، أو صورة PIL.
  • candidate_labels (list[str]) — التسميات المرشحة لهذه الصورة
  • model (str، اختياري) — النموذج المستخدم للاستدلال. يمكن أن يكون معرّف نموذج مستضاف على Hugging Face Hub أو رابطًا إلى نقطة استدلال (Inference Endpoint) مُنفَّذة. يتجاوز هذا المعامل النموذج المُعرَّف على مستوى الكائن. إذا لم يُقدَّم، فسيتم استخدام نموذج تصنيف الصور بدون تدريب (zero-shot) الموصى به افتراضيًا.
  • hypothesis_template (str، اختياري) — الجملة المستخدمة بالتزامن مع candidate_labels لمحاولة تصنيف الصورة عن طريق استبدال العنصر المميز بأسماء التسميات المرشحة.

يعيد

list[ZeroShotImageClassificationOutputElement]

قائمة من عناصر ZeroShotImageClassificationOutputElement تحتوي على التسميات المتوقعة ودرجة ثقتها.

يرفع

InferenceTimeoutError أو HfHubHTTPError

  • InferenceTimeoutError — إذا كان النموذج غير متاح أو انتهت مهلة الطلب.
  • HfHubHTTPError — إذا فشل الطلب برمز حالة خطأ HTTP غير HTTP 503.

قدّم صورة مدخلات ووسوم نصية للتنبؤ بوسوم نصية للصورة.

مثال:

# Must be run in an async context
>>> from huggingface_hub import AsyncInferenceClient
>>> client = AsyncInferenceClient()

>>> await client.zero_shot_image_classification(
...     "https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Cute_dog.jpg/320px-Cute_dog.jpg",
...     candidate_labels=["dog", "cat", "horse"],
... )
[ZeroShotImageClassificationOutputElement(label='dog', score=0.956),...]

InferenceTimeoutError

فئة huggingface_hub.InferenceTimeoutError

< >

( message: str )

خطأ يُستدعى عندما يكون النموذج غير متاح أو عندما تنتهي مهلة الطلب.

Update on GitHub