Hub Python Library documentation

Suy luận

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Suy luận

Inference là quá trình sử dụng một mô hình đã được huấn luyện để đưa ra dự đoán trên dữ liệu mới. Vì quá trình này có thể đòi hỏi nhiều tài nguyên tính toán, việc chạy trên một dịch vụ chuyên dụng hoặc bên ngoài có thể là một lựa chọn đáng cân nhắc. Thư viện huggingface_hub cung cấp một giao diện thống nhất để chạy inference trên nhiều dịch vụ cho các mô hình được lưu trữ trên Hugging Face Hub:

  1. Nhà cung cấp suy luận: truy cập thống nhất, tối giản hàng trăm mô hình học máy, được hỗ trợ bởi các đối tác suy luận serverless của chúng tôi. Cách tiếp cận mới này xây dựng dựa trên API Suy luận Serverless trước đây của chúng tôi, cung cấp nhiều mô hình hơn, hiệu suất được cải thiện và độ tin cậy cao hơn nhờ các nhà cung cấp hàng đầu thế giới. Tham khảo tài liệu để xem danh sách các nhà cung cấp được hỗ trợ.
  2. Inference Endpoints: một sản phẩm để triển khai các mô hình lên môi trường production một cách dễ dàng. Việc suy luận được thực hiện bởi Hugging Face trên một hạ tầng được quản lý hoàn toàn, dành riêng, trên nhà cung cấp cloud do bạn lựa chọn.
  3. Các điểm cuối cục bộ: bạn cũng có thể chạy suy luận bằng các máy chủ suy luận cục bộ như llama.cpp, Ollama, vLLM, LiteLLM, hoặc Text Generation Inference (TGI) bằng cách kết nối client với các điểm cuối cục bộ này.

Các dịch vụ này có thể được gọi bằng đối tượng InferenceClient. Vui lòng tham khảo hướng dẫn này để biết thêm thông tin về cách sử dụng.

Inference Client

lớp 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 )

Tham số

  • model (str, optional) — Mô hình để chạy suy luận. Có thể là id mô hình được lưu trữ trên Hugging Face Hub, ví dụ meta-llama/Meta-Llama-3-8B-Instruct hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Mặc định là None, khi đó một mô hình được khuyến nghị sẽ được tự động chọn cho tác vụ. Lưu ý: để tăng tính tương thích với client của OpenAI, model đã được đặt alias là base_url. Hai tham số này loại trừ lẫn nhau. Nếu một URL được truyền vào model hoặc base_url cho chat completion, hậu tố đường dẫn (/v1)/chat/completions sẽ được nối thêm vào URL.
  • provider (str, tùy chọn) — Tên của nhà cung cấp được sử dụng cho suy luận. Có thể là "baseten", "cerebras", "cohere", "deepinfra", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "scaleway", "together", "wavespeed" hoặc "zai-org". Mặc định là “auto”: định tuyến tự động, mặc định chọn nhà cung cấp “fastest”; bạn có thể chuyển sang thứ tự nhà cung cấp “cheapest” hoặc “preferred” tại https://hf.co/settings/inference-providers. Nếu model là một URL hoặc base_url được truyền vào, thì provider sẽ không được sử dụng.
  • token (str, tùy chọn) — Token của Hugging Face. Nếu không được cung cấp, sẽ mặc định dùng token đã lưu cục bộ. Lưu ý: để tương thích tốt hơn với client của OpenAI, token đã được đặt alias là api_key. Hai tham số này loại trừ lẫn nhau và có hành vi hoàn toàn giống nhau.
  • timeout (float, optional) — Số giây tối đa để chờ phản hồi từ máy chủ. Mặc định là None, nghĩa là sẽ lặp lại cho đến khi máy chủ khả dụng.
  • headers (dict[str, str], optional) — Các header bổ sung để gửi đến máy chủ. Mặc định chỉ gửi các header authorization và user-agent. Các giá trị trong từ điển này sẽ ghi đè lên các giá trị mặc định.
  • bill_to (str, optional) — Tài khoản thanh toán sẽ được sử dụng cho các yêu cầu. Mặc định, các yêu cầu sẽ được tính phí vào tài khoản của người dùng. Các yêu cầu chỉ có thể được tính phí vào một tổ chức mà người dùng là thành viên và đã đăng ký Enterprise Hub.
  • cookies (dict[str, str], optional) — Các cookie bổ sung để gửi đến máy chủ.
  • base_url (str, optional) — URL gốc để chạy suy luận. Đây là một đối số được sao chép từ model để InferenceClient tuân theo cùng một mẫu như client openai.OpenAI. Không thể sử dụng nếu model được đặt. Mặc định là None.
  • api_key (str, optional) — Token để xác thực. Đây là đối số được sao chép từ token để InferenceClient tuân theo cùng một mẫu như client openai.OpenAI. Không thể sử dụng nếu token đã được đặt. Mặc định là None.

Khởi tạo một Inference Client mới.

InferenceClient hướng đến việc cung cấp trải nghiệm thống nhất để thực hiện suy luận. Client có thể được sử dụng liền mạch với Inference API (miễn phí), Inference Endpoints tự lưu trữ, hoặc các Inference Providers bên thứ ba.

audio_classification

< >

( 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]

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung âm thanh cần phân loại. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến một tệp âm thanh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân loại âm thanh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phân loại âm thanh sẽ được sử dụng.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.
  • function_to_apply ("AudioClassificationOutputTransform", tuỳ chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.

Trả về

list[AudioClassificationOutputElement]

Danh sách các mục AudioClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại âm thanh trên nội dung âm thanh được cung cấp.

Ví dụ:

>>> 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]

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung âm thanh cho mô hình. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến tệp âm thanh.
  • model (str, tùy chọn) — Model có thể là bất kỳ model nào nhận một tệp âm thanh và trả về một tệp âm thanh khác. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, model khuyến nghị mặc định cho audio_to_audio sẽ được sử dụng.

Trả về

list[AudioToAudioOutputElement]

Một danh sách các mục AudioToAudioOutputElement chứa nhãn âm thanh, content-type và nội dung âm thanh dạng blob.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện nhiều tác vụ liên quan đến audio-to-audio tùy thuộc vào mô hình (ví dụ: tăng cường giọng nói, tách nguồn).

Ví dụ:

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

automatic_speech_recognition

< >

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

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung cần chuyển thành văn bản. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến tệp âm thanh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho ASR. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình mặc định được khuyến nghị cho ASR sẽ được sử dụng.
  • extra_body (dict, tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Một mục chứa văn bản được chuyển tự và tùy chọn các khối dấu thời gian.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện nhận dạng giọng nói tự động (ASR hoặc audio-to-text) trên nội dung âm thanh được cung cấp.

Ví dụ:

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

Tham số

  • messages (List of ChatCompletionInputMessage) — Lịch sử hội thoại bao gồm các cặp vai trò và nội dung.
  • model (str, tùy chọn) — Mô hình được sử dụng cho chat-completion. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho text-generation dựa trên chat sẽ được sử dụng. Xem https://huggingface.co/tasks/text-generation để biết thêm chi tiết. Nếu model là một model ID, nó sẽ được truyền đến server dưới dạng tham số model. Nếu bạn muốn định nghĩa một URL tùy chỉnh trong khi vẫn đặt model trong request payload, bạn phải đặt base_url khi khởi tạo InferenceClient.
  • frequency_penalty (float, tùy chọn) — Áp dụng hình phạt cho các token mới dựa trên tần suất xuất hiện của chúng trong phần văn bản đã có. Khoảng giá trị: [-2.0, 2.0]. Mặc định là 0.0.
  • logit_bias (list[float], tùy chọn) — Điều chỉnh khả năng xuất hiện của các token cụ thể trong kết quả được tạo ra.
  • logprobs (bool, tùy chọn) — Có trả về log xác suất của các token đầu ra hay không. Nếu true, sẽ trả về log xác suất của từng token đầu ra được chứa trong nội dung của message.
  • max_tokens (int, tùy chọn) — Số lượng token tối đa được phép trong phản hồi. Mặc định là 100.
  • n (int, tùy chọn) — Số lượng kết quả hoàn thành cần tạo cho mỗi prompt.
  • presence_penalty (float, tùy chọn) — Số nằm trong khoảng từ -2.0 đến 2.0. Các giá trị dương sẽ phạt các token mới dựa trên việc chúng đã xuất hiện trong văn bản cho đến nay, làm tăng khả năng mô hình nói về các chủ đề mới.
  • response_format (ChatCompletionInputGrammarType(), tùy chọn) — Ràng buộc ngữ pháp. Có thể là JSONSchema hoặc regex.
  • seed (Tùy chọnint, optional) — Hạt giống cho luồng điều khiển có thể tái lập. Mặc định là None.
  • stop (list[str], tùy chọn) — Tối đa bốn chuỗi kích hoạt việc kết thúc phản hồi. Mặc định là None.
  • stream (bool, tùy chọn) — Bật chế độ phát trực tiếp (streaming) các phản hồi theo thời gian thực. Mặc định là False.
  • stream_options (ChatCompletionInputStreamOptions, tuỳ chọn) — Các tuỳ chọn cho việc phát trực tiếp các hoàn tất.
  • temperature (float, tùy chọn) — Kiểm soát tính ngẫu nhiên của các chuỗi được tạo ra. Giá trị thấp hơn đảm bảo các phần hoàn thành ít ngẫu nhiên hơn. Khoảng: [0, 2]. Mặc định là 1.0.
  • top_logprobs (int, tùy chọn) — Một số nguyên từ 0 đến 5, chỉ định số lượng token có khả năng cao nhất cần trả về tại mỗi vị trí token, mỗi token kèm theo một xác suất log tương ứng. Tham số logprobs phải được đặt thành true nếu sử dụng tham số này.
  • top_p (float, tùy chọn) — Tỷ lệ các từ tiếp theo có khả năng cao nhất để lấy mẫu. Phải nằm trong khoảng từ 0 đến 1. Mặc định là 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass hoặc ChatCompletionInputToolChoiceEnum(), tùy chọn) — Công cụ được sử dụng cho việc hoàn thành. Mặc định là “auto”.
  • tool_prompt (str, tùy chọn) — Một prompt được thêm vào trước các công cụ.
  • tools (List of ChatCompletionInputTool, optional) — Danh sách các công cụ mà mô hình có thể gọi. Hiện tại, chỉ các hàm được hỗ trợ dưới dạng công cụ. Sử dụng tham số này để cung cấp danh sách các hàm mà mô hình có thể tạo ra các đầu vào JSON cho chúng.
  • extra_body (dict, tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

ChatCompletionOutput hoặc Iterable của ChatCompletionStreamOutput

Văn bản được tạo trả về từ máy chủ:

  • nếu stream=False, văn bản được tạo sẽ được trả về dưới dạng ChatCompletionOutput (mặc định).
  • Nếu stream=True, văn bản được tạo sẽ được trả về theo từng token dưới dạng một chuỗi ChatCompletionStreamOutput.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Một phương pháp để hoàn thành các cuộc trò chuyện bằng cách sử dụng mô hình ngôn ngữ được chỉ định.

Phương thức client.chat_completion được đặt tên alias là client.chat.completions.create để tương thích với client của OpenAI. Đầu vào và đầu ra hoàn toàn giống nhau và việc sử dụng bất kỳ cú pháp nào cũng sẽ cho ra kết quả tương tự. Xem Hướng dẫn suy luận để biết thêm chi tiết về tính tương thích với OpenAI.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

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

Ví dụ sử dụng streaming:

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

Ví dụ sử dụng cú pháp của 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)

Ví dụ sử dụng nhà cung cấp bên thứ ba trực tiếp với các tham số bổ sung (đặc thù của nhà cung cấp). Chi phí sử dụng sẽ được tính trên tài khoản Together AI của bạn.

>>> 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"},
... )

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

>>> 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?"}],
... )

Ví dụ sử dụng Ảnh + Văn bản làm đầu vào:

>>> 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.

Ví dụ sử dụng công cụ:

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

Ví dụ sử dụng 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO]) — Hình ảnh đầu vào cho ngữ cảnh. Nó có thể là bytes thô, một tệp hình ảnh, hoặc một URL trỏ đến hình ảnh trực tuyến.
  • question (str) — Câu hỏi cần được trả lời.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi từ tài liệu. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trả lời câu hỏi từ tài liệu được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • doc_stride (int, tùy chọn) — Nếu các từ trong tài liệu quá dài để cùng với câu hỏi vừa với mô hình, chúng sẽ được chia thành nhiều phần có phần chồng lấn. Tham số này kiểm soát kích thước của phần chồng lấn đó.
  • handle_impossible_answer (bool, tùy chọn) — Có chấp nhận "impossible" (không thể) là một câu trả lời hay không
  • lang (str, tùy chọn) — Ngôn ngữ sử dụng khi chạy OCR. Mặc định là english.
  • max_answer_len (int, tùy chọn) — Độ dài tối đa của các câu trả lời dự đoán (ví dụ: chỉ xem xét các câu trả lời có độ dài ngắn hơn).
  • max_question_len (int, tùy chọn) — Độ dài tối đa của câu hỏi sau khi token hóa. Nó sẽ bị cắt ngắn nếu cần.
  • max_seq_len (int, tùy chọn) — Độ dài tối đa của toàn bộ câu (bối cảnh + câu hỏi) tính bằng số token của mỗi chunk được truyền vào mô hình. Bối cảnh sẽ được chia thành nhiều chunk (sử dụng doc_stride làm phần chồng lấn) nếu cần.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Có thể trả về ít hơn top_k câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.
  • word_boxes (list[Union[list[float], str, optional) — Một danh sách các từ và hộp bao (chuẩn hóa 0->1000). Nếu được cung cấp, quá trình suy luận sẽ bỏ qua bước OCR và sử dụng các hộp bao được cung cấp thay thế.

Trả về

list[DocumentQuestionAnsweringOutputElement]

một danh sách các mục DocumentQuestionAnsweringOutputElement chứa nhãn dự đoán, xác suất liên quan, các id từ và số trang.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Trả lời các câu hỏi về hình ảnh tài liệu.

Ví dụ:

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

feature_extraction

< >

( 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

Tham số

  • text (str hoặc list[str]) — Văn bản hoặc danh sách các văn bản cần nhúng.
  • model (str, optional) — Mô hình được sử dụng cho tác vụ trích xuất đặc trưng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trích xuất đặc trưng mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • normalize (bool, optional) — Có nên chuẩn hóa các embedding hay không. Chỉ khả dụng trên server chạy bằng Text-Embedding-Inference.
  • prompt_name (str, optional) — Tên của prompt cần được sử dụng để mã hóa. Nếu không được đặt, sẽ không có prompt nào được áp dụng. Phải là một khóa trong từ điển prompts của cấu hình Sentence Transformers. Ví dụ, nếu prompt_name là “query” và prompts là {“query”: “query: ”,…}, thì câu “What is the capital of France?” sẽ được mã hóa thành “query: What is the capital of France?” vì văn bản prompt sẽ được thêm vào trước bất kỳ văn bản nào cần mã hóa.
  • truncate (bool, optional) — Có nên cắt ngắn các embeddings hay không. Chỉ khả dụng trên server chạy bằng Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”], optional) — Bên nào của đầu vào sẽ bị cắt bỏ khi truyền truncate=True.
  • dimensions (int, optional) — Số chiều mà các embedding đầu ra kết quả nên có. Chỉ khả dụng trên các endpoint embedding tương thích OpenAI.
  • encoding_format (Literal[“float”, “base64”], optional) — Định dạng của các embedding đầu ra. Có thể là “float” hoặc “base64”. Chỉ khả dụng trên các endpoint embedding tương thích OpenAI.

Trả về

np.ndarray

Vector nhúng đại diện cho văn bản đầu vào dưới dạng mảng numpy float32.

Gây ra

[InferenceTimeoutError] hoặc [HfHubHTTPError]

  • [InferenceTimeoutError] — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • [HfHubHTTPError] — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo embeddings cho một văn bản hoặc một lô văn bản được cho.

Ví dụ:

>>> 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]

Tham số

  • text (str) — một chuỗi để điền vào, phải chứa token [MASK] (xem model card để biết tên chính xác của mask).
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ fill mask. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình fill mask mặc định được khuyến nghị sẽ được sử dụng.
  • targets (list[str, tuỳ chọn) — Khi được truyền vào, mô hình sẽ giới hạn các điểm số trong danh sách các mục tiêu được truyền thay vì tra cứu trong toàn bộ bảng từ vựng. Nếu các mục tiêu được cung cấp không có trong bảng từ vựng của mô hình, chúng sẽ được tách token và token đầu tiên trong kết quả sẽ được sử dụng (kèm theo cảnh báo, và điều này có thể làm chậm quá trình).
  • top_k (int, tùy chọn) — Khi được truyền vào, ghi đè số lượng dự đoán cần trả về.

Trả về

list[FillMaskOutputElement]

một danh sách các mục FillMaskOutputElement chứa nhãn dự đoán, xác suất liên quan, tham chiếu token và văn bản hoàn chỉnh.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Điền vào chỗ trống một từ còn thiếu (chính xác hơn là một token).

Ví dụ:

>>> 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]

Tham số

  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

dict[str, Any]

Thông tin về điểm cuối.

Lấy thông tin về điểm cuối đã triển khai.

Endpoint này chỉ khả dụng trên các endpoint chạy bằng Text-Generation-Inference (TGI) hoặc Text-Embedding-Inference (TEI). Các endpoint chạy bằng transformers trả về payload rỗng.

Ví dụ:

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

Tham số

  • model (str, tùy chọn) — URL của Inference Endpoint. Tham số này ghi đè model được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

bool

Đúng nếu mọi thứ đang hoạt động bình thường.

Kiểm tra tình trạng hoạt động của điểm cuối đã triển khai.

Health check chỉ khả dụng với Inference Endpoints được hỗ trợ bởi Text-Generation-Inference (TGI) hoặc Text-Embedding-Inference (TEI).

Ví dụ:

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

phân_loại_ảnh

< >

( 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh cần phân loại. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân loại hình ảnh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình mặc định được khuyến nghị cho phân loại hình ảnh sẽ được sử dụng.
  • function_to_apply ("ImageClassificationOutputTransform", tùy chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.

Trả về

list[ImageClassificationOutputElement]

một danh sách các mục ImageClassificationOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại hình ảnh trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Ví dụ:

>>> 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh cần phân đoạn. Có thể là bytes thô, tệp hình ảnh, URL của hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân đoạn hình ảnh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phân đoạn hình ảnh sẽ được sử dụng.
  • mask_threshold (float, tùy chọn) — Ngưỡng sử dụng khi chuyển các mặt nạ dự đoán thành giá trị nhị phân.
  • overlap_mask_area_threshold (float, tùy chọn) — Ngưỡng chồng lấn của mask để loại bỏ các đoạn nhỏ, không liên tục.
  • subtask ("ImageSegmentationSubtask", tùy chọn) — Nhiệm vụ phân đoạn cần thực hiện, tùy thuộc vào khả năng của mô hình.
  • threshold (float, tùy chọn) — Ngưỡng xác suất để lọc các mặt nạ dự đoán.

Trả về

list[ImageSegmentationOutputElement]

Một danh sách các mục ImageSegmentationOutputElement chứa các mặt nạ phân đoạn và các thuộc tính liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân đoạn hình ảnh trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để dịch. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • prompt (str, tùy chọn) — Câu lệnh văn bản để định hướng việc tạo ảnh.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo ảnh.
  • num_inference_steps (int, tùy chọn) — Dành cho các mô hình diffusion. Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn, với cái giá là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Dành cho các mô hình khuếch tán. Giá trị guidance scale cao hơn sẽ khuyến khích mô hình tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, với cái giá là chất lượng hình ảnh thấp hơn.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • target_size (ImageToImageTargetSize, tùy chọn) — Kích thước của ảnh đầu ra tính bằng pixel. Tham số này chỉ được hỗ trợ bởi một số nhà cung cấp và cho các mô hình cụ thể. Nó sẽ bị bỏ qua khi không được hỗ trợ.

Trả về

Image

Hình ảnh đã được dịch.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện dịch ảnh sang ảnh bằng một mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo chú thích. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

ImageToTextOutput

Văn bản được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Nhận một hình ảnh đầu vào và trả về văn bản.

Các mô hình có thể cho ra các kết quả đầu ra rất khác nhau tùy thuộc vào trường hợp sử dụng của bạn (mô tả hình ảnh, nhận dạng ký tự quang học (OCR), Pix2Struct, v.v.). Vui lòng xem thẻ mô hình để tìm hiểu thêm về các đặc điểm cụ thể của một mô hình.

Ví dụ:

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo video. Nó có thể là bytes thô, tệp hình ảnh, URL của một hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • prompt (str, tùy chọn) — Câu lệnh văn bản để định hướng việc tạo video.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo video.
  • num_frames (float, tùy chọn) — Tham số num_frames xác định số lượng khung hình video được tạo ra.
  • num_inference_steps (int, tùy chọn) — Dành cho các mô hình diffusion. Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn, với cái giá là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Dành cho các mô hình khuếch tán. Giá trị guidance scale cao hơn sẽ khuyến khích mô hình tạo ra các video gắn kết chặt chẽ với prompt văn bản, với cái giá là chất lượng hình ảnh thấp hơn.
  • seed (int, tùy chọn) — Hạt giống (seed) được sử dụng cho việc tạo video.
  • target_size (ImageToVideoTargetSize, tùy chọn) — Kích thước tính bằng pixel của các khung hình video đầu ra.
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến video có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.

Trả về

bytes

Video được tạo ra.

Tạo video từ một hình ảnh đầu vào.

Ví dụ:

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

phát hiện đối tượng

< >

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh để phát hiện các đối tượng. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phát hiện đối tượng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phát hiện đối tượng (DETR) sẽ được sử dụng.
  • threshold (float, tùy chọn) — Xác suất cần thiết để đưa ra dự đoán.

Trả về

list[ObjectDetectionOutputElement]

Một danh sách các mục ObjectDetectionOutputElement chứa các hộp bao (bounding boxes) và các thuộc tính liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError hoặc ValueError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.
  • ValueError — Nếu kết quả trả về của yêu cầu không phải là List.

Thực hiện phát hiện đối tượng trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

>>> 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]

Tham số

  • question (str) — Câu hỏi cần được trả lời.
  • context (str) — Bối cảnh của câu hỏi.
  • model (str) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai.
  • align_to_words (bool, tùy chọn) — Cố gắng căn câu trả lời theo các từ thực. Cải thiện chất lượng trên các ngôn ngữ phân tách bằng khoảng trắng. Có thể gây ảnh hưởng tiêu cực trên các ngôn ngữ không phân tách bằng khoảng trắng (như tiếng Nhật hoặc tiếng Trung)
  • doc_stride (int, tùy chọn) — Nếu ngữ cảnh quá dài để cùng với câu hỏi vừa với mô hình, nó sẽ được chia thành nhiều phần có phần chồng lấn. Tham số này kiểm soát kích thước của phần chồng lấn đó.
  • handle_impossible_answer (bool, tùy chọn) — Có chấp nhận "impossible" (không thể) làm câu trả lời hay không.
  • max_answer_len (int, tùy chọn) — Độ dài tối đa của các câu trả lời dự đoán (ví dụ: chỉ xem xét các câu trả lời có độ dài ngắn hơn).
  • max_question_len (int, tùy chọn) — Độ dài tối đa của câu hỏi sau khi token hóa. Nó sẽ bị cắt ngắn nếu cần.
  • max_seq_len (int, tùy chọn) — Độ dài tối đa của toàn bộ câu (bối cảnh + câu hỏi) tính bằng số token của mỗi chunk được truyền vào model. Bối cảnh sẽ được chia thành nhiều chunk (sử dụng docStride làm phần chồng lấn) nếu cần.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Lưu ý rằng chúng tôi sẽ trả về ít hơn topk câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.

Trả về

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

Khi top_k bằng 1 hoặc không được cung cấp, nó trả về một QuestionAnsweringOutputElement duy nhất. Khi top_k lớn hơn 1, nó trả về một danh sách các QuestionAnsweringOutputElement.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Lấy câu trả lời cho một câu hỏi từ một đoạn văn bản cho trước.

Ví dụ:

>>> 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_similarity

< >

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

Tham số

  • sentence (str) — Câu chính để so sánh với các câu khác.
  • other_sentences (list[str]) — Danh sách các câu để so sánh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ độ tương tự câu. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình độ tương tự câu mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.

Trả về

list[float]

Vector nhúng đại diện cho văn bản đầu vào.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tính độ tương đồng ngữ nghĩa giữa một câu và danh sách các câu khác bằng cách so sánh các vector nhúng của chúng.

Ví dụ:

>>> 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]

tóm tắt

< >

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

Tham số

  • text (str) — Văn bản đầu vào cần tóm tắt.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho việc tóm tắt sẽ được sử dụng.
  • clean_up_tokenization_spaces (bool, tùy chọn) — Có dọn dẹp các khoảng trắng thừa tiềm ẩn trong đầu ra văn bản hay không.
  • generate_parameters (dict[str, Any], tùy chọn) — Các tham số bổ sung cho thuật toán tạo văn bản.
  • truncation ("SummarizationTruncationStrategy", tùy chọn) — Chiến lược cắt ngắn cần sử dụng.

Văn bản tóm tắt được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo một bản tóm tắt cho một đoạn văn bản đã cho bằng cách sử dụng một mô hình được chỉ định.

Ví dụ:

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

Tham số

  • table (str) — Bảng dữ liệu được biểu diễn dưới dạng dict của các danh sách, trong đó các phần tử là tiêu đề và các danh sách chứa tất cả các giá trị, tất cả các danh sách phải có cùng kích thước.
  • query (str) — Câu hỏi bằng văn bản thuần túy mà bạn muốn đặt cho bảng.
  • model (str) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi từ bảng. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai.
  • padding ("Padding", tùy chọn) — Bật và kiểm soát việc đệm.
  • sequential (bool, tùy chọn) — Liệu thực hiện suy luận theo tuần tự hay theo lô. Xử lý theo lô nhanh hơn, nhưng các mô hình như SQA yêu cầu suy luận phải được thực hiện tuần tự để trích xuất các quan hệ trong các chuỗi, do bản chất hội thoại của chúng.
  • truncation (bool, tùy chọn) — Bật và kiểm soát việc cắt ngắn.

một kết quả trả lời câu hỏi bảng bao gồm câu trả lời, tọa độ, các ô và bộ tổng hợp được sử dụng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Lấy câu trả lời cho một câu hỏi từ thông tin được cung cấp trong bảng.

Ví dụ:

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

phân_loại_bảng

< >

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

Tham số

  • table (dict[str, Any]) — Bộ thuộc tính cần phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại bảng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại bảng được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.

Trả về

List

một danh sách nhãn, mỗi dòng trong bảng ban đầu tương ứng với một nhãn.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Phân loại một danh mục đích (một nhóm) dựa trên một tập hợp các thuộc tính.

Ví dụ:

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

Tham số

  • table (dict[str, Any]) — Bộ thuộc tính được lưu trữ trong bảng. Các thuộc tính được sử dụng để dự đoán mục tiêu có thể là số hoặc phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ hồi quy bảng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình hồi quy bảng được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.

Trả về

List

một danh sách các giá trị mục tiêu số được dự đoán.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Dự đoán giá trị mục tiêu dạng số khi có một tập các thuộc tính/đặc trưng trong bảng.

Ví dụ:

>>> 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]

phân_loại_văn_bản

< >

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

Tham số

  • text (str) — Chuỗi cần được phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại văn bản. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại văn bản mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.
  • function_to_apply ("TextClassificationOutputTransform", tuỳ chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.

Trả về

list[TextClassificationOutputElement]

một danh sách các mục TextClassificationOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại văn bản (ví dụ: phân tích cảm xúc) trên văn bản được cho.

Ví dụ:

>>> 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]]

Tham số

  • prompt (str) — Văn bản đầu vào.
  • details (bool, tùy chọn) — Mặc định, text_generation trả về một chuỗi. Truyền details=True nếu bạn muốn đầu ra chi tiết (tokens, xác suất, seed, lý do kết thúc, v.v.). Chỉ khả dụng cho các model chạy với backend text-generation-inference.
  • stream (bool, tùy chọn) — Mặc định, text_generation trả về toàn bộ văn bản đã tạo. Truyền stream=True nếu bạn muốn nhận một luồng các token. Chỉ khả dụng cho các mô hình chạy với backend text-generation-inference.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • adapter_id (str, tùy chọn) — ID của bộ thích ứng Lora.
  • best_of (int, tùy chọn) — Tạo ra best_of chuỗi và trả về chuỗi có logprobs token cao nhất.
  • decoder_input_details (bool, tùy chọn) — Trả về logprobs và ids của token đầu vào decoder. Bạn phải đặt details=True để tham số này được tính đến. Mặc định là False.
  • do_sample (bool, tùy chọn) — Bật lấy mẫu logits
  • frequency_penalty (float, tùy chọn) — Số nằm trong khoảng từ -2.0 đến 2.0. Các giá trị dương sẽ phạt các token mới dựa trên tần suất xuất hiện của chúng trong văn bản cho đến hiện tại, làm giảm khả năng mô hình lặp lại nguyên văn cùng một dòng.
  • grammar (TextGenerationInputGrammarType, optional) — Ràng buộc ngữ pháp. Có thể là JSONSchema hoặc regex.
  • max_new_tokens (int, tùy chọn) — Số lượng token được tạo ra tối đa. Mặc định là 100.
  • repetition_penalty (float, tùy chọn) — Tham số cho hình phạt lặp lại. 1.0 có nghĩa là không có hình phạt. Xem bài báo này để biết thêm chi tiết.
  • return_full_text (bool, tùy chọn) — Có nên thêm prompt vào đầu văn bản được tạo hay không
  • seed (int, tùy chọn) — Hạt ngẫu nhiên cho việc lấy mẫu
  • stop (list[str], tùy chọn) — Dừng tạo token nếu một thành viên của stop được tạo ra.
  • temperature (float, tùy chọn) — Giá trị được sử dụng để điều chỉnh phân phối logits.
  • top_n_tokens (int, tùy chọn) — Trả về thông tin về top_n_tokens token có khả năng cao nhất ở mỗi bước sinh, thay vì chỉ token được lấy mẫu.
  • top_k (int, *optional`) — Số lượng token từ vựng có xác suất cao nhất cần giữ lại cho lọc top-k.
  • 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, *optional`) — Cắt ngắn các token đầu vào xuống kích thước đã cho.
  • typical_p (float, *optional`) — Khối lượng của Typical Decoding Xem Typical Decoding for Natural Language Generation để biết thêm thông tin
  • watermark (bool, tùy chọn) — Đóng dấu với A Watermark for Large Language Models

Trả về

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

Văn bản được tạo trả về từ máy chủ:

  • nếu stream=False và details=False, văn bản được tạo sẽ được trả về dưới dạng str (mặc định)
  • nếu stream=True và details=False, văn bản được tạo sẽ được trả về theo từng token dưới dạng Iterable[str]
  • nếu stream=False và details=True, văn bản được tạo sẽ được trả về kèm theo nhiều chi tiết hơn dưới dạng TextGenerationOutput
  • nếu details=True và stream=True, văn bản được tạo sẽ được trả về theo từng token dưới dạng một iterable của TextGenerationStreamOutput

Gây ra

ValidationError hoặc InferenceTimeoutError hoặc HfHubHTTPError

  • ValidationError — Nếu giá trị đầu vào không hợp lệ. Không có cuộc gọi HTTP nào được thực hiện đến máy chủ.
  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Với một prompt, hãy tạo ra văn bản sau.

Nếu bạn muốn tạo phản hồi từ các tin nhắn chat, bạn nên sử dụng phương thức InferenceClient.chat_completion(). Phương thức này nhận một danh sách các tin nhắn thay vì một prompt văn bản đơn lẻ và xử lý chat templating cho bạn.

Ví dụ:

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

Tham số

  • prompt (str) — Prompt để tạo ảnh.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo ảnh.
  • height (int, tùy chọn) — Chiều cao của hình ảnh đầu ra tính bằng pixel
  • width (int, tùy chọn) — Chiều rộng của hình ảnh đầu ra, tính bằng pixel
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Giá trị guidance scale cao hơn khuyến khích mô hình tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, nhưng các giá trị quá cao có thể gây ra hiện tượng bão hòa và các lỗi hiển thị khác.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-image được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • scheduler (str, tùy chọn) — Ghi đè scheduler bằng một scheduler tương thích.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

Image

Hình ảnh được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo một hình ảnh dựa trên văn bản cho trước bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

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

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

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

Ví dụ sử dụng nhà cung cấp Replicate với các tham số bổ sung

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

Tham số

  • text (str) — Văn bản cần tổng hợp.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-speech được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • do_sample (bool, tùy chọn) — Có sử dụng sampling thay vì greedy decoding khi tạo các token mới hay không.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"], tùy chọn) — Kiểm soát điều kiện dừng cho các phương pháp dựa trên beam.
  • epsilon_cutoff (float, tùy chọn) — Nếu được đặt thành một số float nằm nghiêm ngặt giữa 0 và 1, chỉ các token có xác suất điều kiện lớn hơn epsilon_cutoff mới được lấy mẫu. Trong bài báo, các giá trị được đề xuất dao động từ 3e-4 đến 9e-4, tùy thuộc vào kích thước của mô hình. Xem Truncation Sampling as Language Model Desmoothing để biết thêm chi tiết.
  • eta_cutoff (float, tuỳ chọn) — Lấy mẫu Eta là sự kết hợp giữa lấy mẫu điển hình cục bộ và lấy mẫu epsilon. Nếu được đặt thành float nằm nghiêm ngặt trong khoảng từ 0 đến 1, một token chỉ được xem xét nếu nó lớn hơn cả eta_cutoff và sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). Số hạng sau về mặt trực giác là xác suất của token tiếp theo kỳ vọng, được nhân với sqrt(eta_cutoff). Trong bài báo, các giá trị được đề xuất dao động từ 3e-4 đến 2e-3, tùy thuộc vào kích thước của mô hình. Xem Truncation Sampling as Language Model Desmoothing để biết thêm chi tiết.
  • max_length (int, tùy chọn) — Độ dài tối đa (tính bằng token) của văn bản được tạo ra, bao gồm cả phần đầu vào.
  • max_new_tokens (int, tùy chọn) — Số lượng token tối đa cần tạo ra. Tham số này có ưu tiên cao hơn max_length.
  • min_length (int, tùy chọn) — Độ dài tối thiểu (tính bằng token) của văn bản được tạo ra, bao gồm cả phần đầu vào.
  • min_new_tokens (int, tùy chọn) — Số lượng token tối thiểu cần tạo ra. Có ưu tiên cao hơn min_length.
  • num_beam_groups (int, tùy chọn) — Số lượng nhóm để chia num_beams nhằm đảm bảo tính đa dạng giữa các nhóm beam khác nhau. Xem bài báo này để biết thêm chi tiết.
  • num_beams (int, tùy chọn) — Số lượng beam sử dụng cho beam search.
  • penalty_alpha (float, tùy chọn) — Giá trị này cân bằng độ tin cậy của mô hình và hình phạt suy thoái trong giải mã tìm kiếm tương phản.
  • temperature (float, tùy chọn) — Giá trị được sử dụng để điều chỉnh xác suất của token tiếp theo.
  • top_k (int, tùy chọn) — Số lượng token từ vựng có xác suất cao nhất cần giữ lại cho lọc top-k.
  • top_p (float, tùy chọn) — Nếu được đặt thành float < 1, chỉ tập hợp nhỏ nhất các token có xác suất cao nhất, với tổng xác suất bằng hoặc lớn hơn top_p, sẽ được giữ lại cho quá trình sinh.
  • typical_p (float, tùy chọn) — Độ điển hình cục bộ đo mức độ tương đồng giữa xác suất có điều kiện để dự đoán token đích tiếp theo so với xác suất có điều kiện kỳ vọng để dự đoán một token ngẫu nhiên tiếp theo, dựa trên phần văn bản đã được tạo ra. Nếu được đặt thành float < 1, tập hợp nhỏ nhất gồm các token điển hình cục bộ nhất có tổng xác suất bằng hoặc lớn hơn typical_p sẽ được giữ lại cho quá trình tạo. Xem bài báo này để biết thêm chi tiết.
  • use_cache (bool, tùy chọn) — Liệu mô hình có nên sử dụng các chú ý key/value cuối cùng trước đó để tăng tốc giải mã hay không
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

bytes

Âm thanh được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tổng hợp âm thanh của giọng đọc phát âm một đoạn văn bản cho trước.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

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

Ví dụ sử dụng trực tiếp một nhà cung cấp bên thứ ba. Chi phí sử dụng sẽ được tính trên tài khoản Replicate của bạn.

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

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

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

Ví dụ về music-gen sử dụng “YuE-s1-7B-anneal-en-cot” trên 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

Tham số

  • prompt (str) — Prompt để tạo video.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-video được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • guidance_scale (float, tùy chọn) — Giá trị guidance scale cao hơn khuyến khích mô hình tạo ra các video gắn kết chặt chẽ với prompt văn bản, nhưng các giá trị quá cao có thể gây ra hiện tượng bão hòa và các lỗi hình ảnh khác.
  • negative_prompt (list[str], tùy chọn) — Một hoặc nhiều prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo video.
  • num_frames (float, tùy chọn) — Tham số num_frames xác định số lượng khung hình video được tạo ra.
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến video có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

bytes

Video được tạo ra.

Tạo một video dựa trên văn bản được cung cấp.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

Ví dụ sử dụng trực tiếp một nhà cung cấp bên thứ ba. Chi phí sử dụng sẽ được tính trên tài khoản fal.ai của bạn.

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

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

>>> 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]

Tham số

  • text (str) — Chuỗi cần được phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại token. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại token mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy", tùy chọn) — Chiến lược được sử dụng để hợp nhất các token dựa trên dự đoán của mô hình
  • ignore_labels (list[str, tuỳ chọn) — Danh sách các nhãn cần bỏ qua
  • stride (int, tuỳ chọn) — Số lượng token chồng lấn giữa các khối khi chia nhỏ văn bản đầu vào.

Trả về

list[TokenClassificationOutputElement]

Danh sách các mục TokenClassificationOutputElement chứa nhóm thực thể, điểm tin cậy, từ, chỉ số bắt đầu và chỉ số kết thúc.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại token trên văn bản được cho. Thường được sử dụng cho việc phân tích câu, có thể là phân tích ngữ pháp hoặc Nhận thực thể có tên (NER) để hiểu các từ khóa chứa trong văn bản.

Ví dụ:

>>> 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,
    )
]

dịch thuật

< >

( 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

Tham số

  • text (str) — Chuỗi cần được dịch.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ dịch. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình dịch được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • src_lang (str, tùy chọn) — Ngôn ngữ nguồn của văn bản. Bắt buộc đối với các mô hình có thể dịch từ nhiều ngôn ngữ.
  • tgt_lang (str, tùy chọn) — Ngôn ngữ đích để dịch. Bắt buộc đối với các mô hình có thể dịch sang nhiều ngôn ngữ.
  • clean_up_tokenization_spaces (bool, tùy chọn) — Có dọn dẹp các khoảng trắng thừa tiềm ẩn trong đầu ra văn bản hay không.
  • truncation ("TranslationTruncationStrategy", tùy chọn) — Chiến lược cắt ngắn cần sử dụng.
  • generate_parameters (dict[str, Any], tùy chọn) — Các tham số bổ sung cho thuật toán tạo văn bản.

Trả về

TranslationOutput

Văn bản dịch được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError hoặc ValueError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.
  • ValueError — Nếu chỉ một trong các đối số src_lang và tgt_lang được cung cấp.

Chuyển đổi văn bản từ ngôn ngữ này sang ngôn ngữ khác.

Xem https://huggingface.co/tasks/translation để biết thêm thông tin về cách chọn mô hình phù hợp nhất cho trường hợp sử dụng cụ thể của bạn. Ngôn ngữ nguồn và ngôn ngữ đích thường phụ thuộc vào mô hình. Tuy nhiên, có thể chỉ định ngôn ngữ nguồn và ngôn ngữ đích cho một số mô hình nhất định. Nếu bạn đang làm việc với một trong những mô hình này, bạn có thể sử dụng các đối số src_lang và tgt_lang để truyền thông tin liên quan.

Ví dụ:

>>> 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.')

Chỉ định ngôn ngữ:

>>> 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"

visual_question_answering

< >

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào cho ngữ cảnh. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • question (str) — Câu hỏi cần được trả lời.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi trực quan. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trả lời câu hỏi trực quan được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Lưu ý rằng chúng tôi sẽ trả về ít hơn topk câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.

Trả về

list[VisualQuestionAnsweringOutputElement]

một danh sách các mục VisualQuestionAnsweringOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Trả lời các câu hỏi mở dựa trên một hình ảnh.

Ví dụ:

>>> 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]

Tham số

  • text (str) — Văn bản đầu vào cần phân loại.
  • candidate_labels (list[str]) — Bộ các nhãn lớp có thể dùng để phân loại văn bản.
  • multi_label (bool, tùy chọn) — Liệu có thể có nhiều nhãn ứng viên đúng hay không. Nếu là false, các điểm số sẽ được chuẩn hóa sao cho tổng xác suất của các nhãn cho mỗi chuỗi bằng 1. Nếu là true, các nhãn được coi là độc lập và xác suất được chuẩn hóa cho từng ứng viên.
  • hypothesis_template (str, tùy chọn) — Câu được sử dụng cùng với candidate_labels để thực hiện phân loại văn bản bằng cách thay thế phần tử thay thế bằng các nhãn ứng viên.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Nếu không được cung cấp, mô hình phân loại zero-shot mặc định được khuyến nghị sẽ được sử dụng.

Trả về

list[ZeroShotClassificationOutputElement]

Danh sách các mục ZeroShotClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Cung cấp một văn bản và một tập hợp các nhãn ứng viên làm đầu vào để phân loại văn bản đầu vào.

Ví dụ với 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),
]

Ví dụ với multi_label=True và hypothesis_template tùy chỉnh:

>>> 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo chú thích. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • candidate_labels (list[str]) — Các nhãn ứng viên cho hình ảnh này
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Nếu không được cung cấp, mô hình phân loại ảnh zero-shot mặc định được khuyến nghị sẽ được sử dụng.
  • hypothesis_template (str, tùy chọn) — Câu được sử dụng cùng với candidate_labels để thực hiện phân loại hình ảnh bằng cách thay thế phần tử thay thế bằng các nhãn ứng viên.

Trả về

list[ZeroShotImageClassificationOutputElement]

Danh sách các mục ZeroShotImageClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Cung cấp ảnh đầu vào và nhãn văn bản để dự đoán nhãn văn bản cho ảnh.

Ví dụ:

>>> 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 Inference Client

Một phiên bản bất đồng bộ của client cũng được cung cấp, dựa trên asyncio và httpx2.

lớp 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 )

Tham số

  • model (str, optional) — Mô hình để chạy suy luận. Có thể là id mô hình được lưu trữ trên Hugging Face Hub, ví dụ meta-llama/Meta-Llama-3-8B-Instruct hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Mặc định là None, khi đó một mô hình được khuyến nghị sẽ được tự động chọn cho tác vụ. Lưu ý: để tăng tính tương thích với client của OpenAI, model đã được đặt alias là base_url. Hai tham số này loại trừ lẫn nhau. Nếu một URL được truyền vào model hoặc base_url cho chat completion, hậu tố đường dẫn (/v1)/chat/completions sẽ được nối thêm vào URL.
  • provider (str, tùy chọn) — Tên của nhà cung cấp được sử dụng cho suy luận. Có thể là "baseten", "cerebras", "cohere", "deepinfra", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "scaleway", "together", "wavespeed" hoặc "zai-org". Mặc định là “auto”: định tuyến tự động, mặc định chọn nhà cung cấp “fastest”; bạn có thể chuyển sang thứ tự nhà cung cấp “cheapest” hoặc “preferred” tại https://hf.co/settings/inference-providers. Nếu model là một URL hoặc base_url được truyền vào, thì provider sẽ không được sử dụng.
  • token (str, tùy chọn) — Token của Hugging Face. Nếu không được cung cấp, sẽ mặc định dùng token đã lưu cục bộ. Lưu ý: để tương thích tốt hơn với client của OpenAI, token đã được đặt alias là api_key. Hai tham số này loại trừ lẫn nhau và có hành vi hoàn toàn giống nhau.
  • timeout (float, optional) — Số giây tối đa để chờ phản hồi từ máy chủ. Mặc định là None, nghĩa là sẽ lặp lại cho đến khi máy chủ khả dụng.
  • headers (dict[str, str], optional) — Các header bổ sung để gửi đến máy chủ. Mặc định chỉ gửi các header authorization và user-agent. Các giá trị trong từ điển này sẽ ghi đè lên các giá trị mặc định.
  • bill_to (str, optional) — Tài khoản thanh toán sẽ được sử dụng cho các yêu cầu. Mặc định, các yêu cầu sẽ được tính phí vào tài khoản của người dùng. Các yêu cầu chỉ có thể được tính phí vào một tổ chức mà người dùng là thành viên và đã đăng ký Enterprise Hub.
  • cookies (dict[str, str], optional) — Các cookie bổ sung để gửi đến máy chủ.
  • base_url (str, optional) — URL gốc để chạy suy luận. Đây là một đối số được sao chép từ model để InferenceClient tuân theo cùng một mẫu như client openai.OpenAI. Không thể sử dụng nếu model được đặt. Mặc định là None.
  • api_key (str, optional) — Token để xác thực. Đây là đối số được sao chép từ token để InferenceClient tuân theo cùng một mẫu như client openai.OpenAI. Không thể sử dụng nếu token đã được đặt. Mặc định là None.

Khởi tạo một Inference Client mới.

InferenceClient hướng đến việc cung cấp trải nghiệm thống nhất để thực hiện suy luận. Client có thể được sử dụng liền mạch với Inference API (miễn phí), Inference Endpoints tự lưu trữ, hoặc các Inference Providers bên thứ ba.

audio_classification

< >

( 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]

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung âm thanh cần phân loại. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến một tệp âm thanh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân loại âm thanh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phân loại âm thanh sẽ được sử dụng.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.
  • function_to_apply ("AudioClassificationOutputTransform", tuỳ chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.

Trả về

list[AudioClassificationOutputElement]

Danh sách các mục AudioClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại âm thanh trên nội dung âm thanh được cung cấp.

Ví dụ:

# 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]

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung âm thanh cho mô hình. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến tệp âm thanh.
  • model (str, tùy chọn) — Model có thể là bất kỳ model nào nhận một tệp âm thanh và trả về một tệp âm thanh khác. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, model khuyến nghị mặc định cho audio_to_audio sẽ được sử dụng.

Trả về

list[AudioToAudioOutputElement]

Một danh sách các mục AudioToAudioOutputElement chứa nhãn âm thanh, content-type và nội dung âm thanh dạng blob.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện nhiều tác vụ liên quan đến audio-to-audio tùy thuộc vào mô hình (ví dụ: tăng cường giọng nói, tách nguồn).

Ví dụ:

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

automatic_speech_recognition

< >

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

Tham số

  • audio (Union[str, Path, bytes, BinaryIO]) — Nội dung cần chuyển thành văn bản. Có thể là byte âm thanh thô, tệp âm thanh cục bộ, hoặc URL trỏ đến tệp âm thanh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho ASR. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình mặc định được khuyến nghị cho ASR sẽ được sử dụng.
  • extra_body (dict, tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Một mục chứa văn bản được chuyển tự và tùy chọn các khối dấu thời gian.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện nhận dạng giọng nói tự động (ASR hoặc audio-to-text) trên nội dung âm thanh được cung cấp.

Ví dụ:

# 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

Tham số

  • messages (List of ChatCompletionInputMessage) — Lịch sử hội thoại bao gồm các cặp vai trò và nội dung.
  • model (str, tùy chọn) — Mô hình được sử dụng cho chat-completion. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho text-generation dựa trên chat sẽ được sử dụng. Xem https://huggingface.co/tasks/text-generation để biết thêm chi tiết. Nếu model là một model ID, nó sẽ được truyền đến server dưới dạng tham số model. Nếu bạn muốn định nghĩa một URL tùy chỉnh trong khi vẫn đặt model trong request payload, bạn phải đặt base_url khi khởi tạo InferenceClient.
  • frequency_penalty (float, tùy chọn) — Áp dụng hình phạt cho các token mới dựa trên tần suất xuất hiện của chúng trong phần văn bản đã có. Khoảng giá trị: [-2.0, 2.0]. Mặc định là 0.0.
  • logit_bias (list[float], tùy chọn) — Điều chỉnh khả năng xuất hiện của các token cụ thể trong kết quả được tạo ra.
  • logprobs (bool, tùy chọn) — Có trả về log xác suất của các token đầu ra hay không. Nếu true, sẽ trả về log xác suất của từng token đầu ra được chứa trong nội dung của message.
  • max_tokens (int, tùy chọn) — Số lượng token tối đa được phép trong phản hồi. Mặc định là 100.
  • n (int, tùy chọn) — Số lượng kết quả hoàn thành cần tạo cho mỗi prompt.
  • presence_penalty (float, tùy chọn) — Số nằm trong khoảng từ -2.0 đến 2.0. Các giá trị dương sẽ phạt các token mới dựa trên việc chúng đã xuất hiện trong văn bản cho đến nay, làm tăng khả năng mô hình nói về các chủ đề mới.
  • response_format (ChatCompletionInputGrammarType(), tùy chọn) — Ràng buộc ngữ pháp. Có thể là JSONSchema hoặc regex.
  • seed (Tùy chọnint, optional) — Hạt giống cho luồng điều khiển có thể tái lập. Mặc định là None.
  • stop (list[str], tùy chọn) — Tối đa bốn chuỗi kích hoạt việc kết thúc phản hồi. Mặc định là None.
  • stream (bool, tùy chọn) — Bật chế độ phát trực tiếp (streaming) các phản hồi theo thời gian thực. Mặc định là False.
  • stream_options (ChatCompletionInputStreamOptions, tuỳ chọn) — Các tuỳ chọn cho việc phát trực tiếp các hoàn tất.
  • temperature (float, tùy chọn) — Kiểm soát tính ngẫu nhiên của các chuỗi được tạo ra. Giá trị thấp hơn đảm bảo các phần hoàn thành ít ngẫu nhiên hơn. Khoảng: [0, 2]. Mặc định là 1.0.
  • top_logprobs (int, tùy chọn) — Một số nguyên từ 0 đến 5, chỉ định số lượng token có khả năng cao nhất cần trả về tại mỗi vị trí token, mỗi token kèm theo một xác suất log tương ứng. Tham số logprobs phải được đặt thành true nếu sử dụng tham số này.
  • top_p (float, tùy chọn) — Tỷ lệ các từ tiếp theo có khả năng cao nhất để lấy mẫu. Phải nằm trong khoảng từ 0 đến 1. Mặc định là 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass hoặc ChatCompletionInputToolChoiceEnum(), tùy chọn) — Công cụ được sử dụng cho việc hoàn thành. Mặc định là “auto”.
  • tool_prompt (str, tùy chọn) — Một prompt được thêm vào trước các công cụ.
  • tools (List of ChatCompletionInputTool, optional) — Danh sách các công cụ mà mô hình có thể gọi. Hiện tại, chỉ các hàm được hỗ trợ dưới dạng công cụ. Sử dụng tham số này để cung cấp danh sách các hàm mà mô hình có thể tạo ra các đầu vào JSON cho chúng.
  • extra_body (dict, tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

ChatCompletionOutput hoặc Iterable của ChatCompletionStreamOutput

Văn bản được tạo trả về từ máy chủ:

  • nếu stream=False, văn bản được tạo sẽ được trả về dưới dạng ChatCompletionOutput (mặc định).
  • Nếu stream=True, văn bản được tạo sẽ được trả về theo từng token dưới dạng một chuỗi ChatCompletionStreamOutput.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Một phương pháp để hoàn thành các cuộc trò chuyện bằng cách sử dụng mô hình ngôn ngữ được chỉ định.

Phương thức client.chat_completion được đặt tên alias là client.chat.completions.create để tương thích với client của OpenAI. Đầu vào và đầu ra hoàn toàn giống nhau và việc sử dụng bất kỳ cú pháp nào cũng sẽ cho ra kết quả tương tự. Xem Hướng dẫn suy luận để biết thêm chi tiết về tính tương thích với OpenAI.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

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

Ví dụ sử dụng streaming:

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

Ví dụ sử dụng cú pháp của 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)

Ví dụ sử dụng nhà cung cấp bên thứ ba trực tiếp với các tham số bổ sung (đặc thù của nhà cung cấp). Chi phí sử dụng sẽ được tính trên tài khoản Together AI của bạn.

>>> 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"},
... )

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

>>> 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?"}],
... )

Ví dụ sử dụng Ảnh + Văn bản làm đầu vào:

# 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.

Ví dụ sử dụng công cụ:

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

Ví dụ sử dụng 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"}'

Đóng

< >

( )

Đóng client.

Phương thức này được gọi tự động khi sử dụng client như một context manager.

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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO]) — Hình ảnh đầu vào cho ngữ cảnh. Nó có thể là bytes thô, một tệp hình ảnh, hoặc một URL trỏ đến hình ảnh trực tuyến.
  • question (str) — Câu hỏi cần được trả lời.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi từ tài liệu. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trả lời câu hỏi từ tài liệu được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • doc_stride (int, tùy chọn) — Nếu các từ trong tài liệu quá dài để cùng với câu hỏi vừa với mô hình, chúng sẽ được chia thành nhiều phần có phần chồng lấn. Tham số này kiểm soát kích thước của phần chồng lấn đó.
  • handle_impossible_answer (bool, tùy chọn) — Có chấp nhận "impossible" (không thể) là một câu trả lời hay không
  • lang (str, tùy chọn) — Ngôn ngữ sử dụng khi chạy OCR. Mặc định là english.
  • max_answer_len (int, tùy chọn) — Độ dài tối đa của các câu trả lời dự đoán (ví dụ: chỉ xem xét các câu trả lời có độ dài ngắn hơn).
  • max_question_len (int, tùy chọn) — Độ dài tối đa của câu hỏi sau khi token hóa. Nó sẽ bị cắt ngắn nếu cần.
  • max_seq_len (int, tùy chọn) — Độ dài tối đa của toàn bộ câu (bối cảnh + câu hỏi) tính bằng số token của mỗi chunk được truyền vào mô hình. Bối cảnh sẽ được chia thành nhiều chunk (sử dụng doc_stride làm phần chồng lấn) nếu cần.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Có thể trả về ít hơn top_k câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.
  • word_boxes (list[Union[list[float], str, optional) — Một danh sách các từ và hộp bao (chuẩn hóa 0->1000). Nếu được cung cấp, quá trình suy luận sẽ bỏ qua bước OCR và sử dụng các hộp bao được cung cấp thay thế.

Trả về

list[DocumentQuestionAnsweringOutputElement]

một danh sách các mục DocumentQuestionAnsweringOutputElement chứa nhãn dự đoán, xác suất liên quan, các id từ và số trang.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Trả lời các câu hỏi về hình ảnh tài liệu.

Ví dụ:

# 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)]

feature_extraction

< >

( 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

Tham số

  • text (str hoặc list[str]) — Văn bản hoặc danh sách các văn bản cần nhúng.
  • model (str, optional) — Mô hình được sử dụng cho tác vụ trích xuất đặc trưng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trích xuất đặc trưng mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • normalize (bool, optional) — Có nên chuẩn hóa các embedding hay không. Chỉ khả dụng trên server chạy bằng Text-Embedding-Inference.
  • prompt_name (str, optional) — Tên của prompt cần được sử dụng để mã hóa. Nếu không được đặt, sẽ không có prompt nào được áp dụng. Phải là một khóa trong từ điển prompts của cấu hình Sentence Transformers. Ví dụ, nếu prompt_name là “query” và prompts là {“query”: “query: ”,…}, thì câu “What is the capital of France?” sẽ được mã hóa thành “query: What is the capital of France?” vì văn bản prompt sẽ được thêm vào trước bất kỳ văn bản nào cần mã hóa.
  • truncate (bool, optional) — Có nên cắt ngắn các embeddings hay không. Chỉ khả dụng trên server chạy bằng Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”], optional) — Bên nào của đầu vào sẽ bị cắt bỏ khi truyền truncate=True.
  • dimensions (int, optional) — Số chiều mà các embedding đầu ra kết quả nên có. Chỉ khả dụng trên các endpoint embedding tương thích OpenAI.
  • encoding_format (Literal[“float”, “base64”], optional) — Định dạng của các embedding đầu ra. Có thể là “float” hoặc “base64”. Chỉ khả dụng trên các endpoint embedding tương thích OpenAI.

Trả về

np.ndarray

Vector nhúng đại diện cho văn bản đầu vào dưới dạng mảng numpy float32.

Gây ra

[InferenceTimeoutError] hoặc [HfHubHTTPError]

  • [InferenceTimeoutError] — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • [HfHubHTTPError] — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo embeddings cho một văn bản hoặc một lô văn bản được cho.

Ví dụ:

# 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]

Tham số

  • text (str) — một chuỗi để điền vào, phải chứa token [MASK] (xem model card để biết tên chính xác của mask).
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ fill mask. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình fill mask mặc định được khuyến nghị sẽ được sử dụng.
  • targets (list[str, tuỳ chọn) — Khi được truyền vào, mô hình sẽ giới hạn các điểm số trong danh sách các mục tiêu được truyền thay vì tra cứu trong toàn bộ bảng từ vựng. Nếu các mục tiêu được cung cấp không có trong bảng từ vựng của mô hình, chúng sẽ được tách token và token đầu tiên trong kết quả sẽ được sử dụng (kèm theo cảnh báo, và điều này có thể làm chậm quá trình).
  • top_k (int, tùy chọn) — Khi được truyền vào, ghi đè số lượng dự đoán cần trả về.

Trả về

list[FillMaskOutputElement]

một danh sách các mục FillMaskOutputElement chứa nhãn dự đoán, xác suất liên quan, tham chiếu token và văn bản hoàn chỉnh.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Điền vào chỗ trống một từ còn thiếu (chính xác hơn là một token).

Ví dụ:

# 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]

Tham số

  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

dict[str, Any]

Thông tin về điểm cuối.

Lấy thông tin về điểm cuối đã triển khai.

Endpoint này chỉ khả dụng trên các endpoint chạy bằng Text-Generation-Inference (TGI) hoặc Text-Embedding-Inference (TEI). Các endpoint chạy bằng transformers trả về payload rỗng.

Ví dụ:

# 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

Tham số

  • model (str, tùy chọn) — URL của Inference Endpoint. Tham số này ghi đè model được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

bool

Đúng nếu mọi thứ đang hoạt động bình thường.

Kiểm tra tình trạng hoạt động của điểm cuối đã triển khai.

Health check chỉ khả dụng với Inference Endpoints được hỗ trợ bởi Text-Generation-Inference (TGI) hoặc Text-Embedding-Inference (TEI).

Ví dụ:

# 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

phân_loại_ảnh

< >

( 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh cần phân loại. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân loại hình ảnh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình mặc định được khuyến nghị cho phân loại hình ảnh sẽ được sử dụng.
  • function_to_apply ("ImageClassificationOutputTransform", tùy chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.

Trả về

list[ImageClassificationOutputElement]

một danh sách các mục ImageClassificationOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại hình ảnh trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Ví dụ:

# 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh cần phân đoạn. Có thể là bytes thô, tệp hình ảnh, URL của hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phân đoạn hình ảnh. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phân đoạn hình ảnh sẽ được sử dụng.
  • mask_threshold (float, tùy chọn) — Ngưỡng sử dụng khi chuyển các mặt nạ dự đoán thành giá trị nhị phân.
  • overlap_mask_area_threshold (float, tùy chọn) — Ngưỡng chồng lấn của mask để loại bỏ các đoạn nhỏ, không liên tục.
  • subtask ("ImageSegmentationSubtask", tùy chọn) — Nhiệm vụ phân đoạn cần thực hiện, tùy thuộc vào khả năng của mô hình.
  • threshold (float, tùy chọn) — Ngưỡng xác suất để lọc các mặt nạ dự đoán.

Trả về

list[ImageSegmentationOutputElement]

Một danh sách các mục ImageSegmentationOutputElement chứa các mặt nạ phân đoạn và các thuộc tính liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân đoạn hình ảnh trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

# 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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để dịch. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • prompt (str, tùy chọn) — Câu lệnh văn bản để định hướng việc tạo ảnh.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo ảnh.
  • num_inference_steps (int, tùy chọn) — Dành cho các mô hình diffusion. Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn, với cái giá là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Dành cho các mô hình khuếch tán. Giá trị guidance scale cao hơn sẽ khuyến khích mô hình tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, với cái giá là chất lượng hình ảnh thấp hơn.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • target_size (ImageToImageTargetSize, tùy chọn) — Kích thước của ảnh đầu ra tính bằng pixel. Tham số này chỉ được hỗ trợ bởi một số nhà cung cấp và cho các mô hình cụ thể. Nó sẽ bị bỏ qua khi không được hỗ trợ.

Trả về

Image

Hình ảnh đã được dịch.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện dịch ảnh sang ảnh bằng một mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

# 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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo chú thích. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.

Trả về

ImageToTextOutput

Văn bản được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Nhận một hình ảnh đầu vào và trả về văn bản.

Các mô hình có thể cho ra các kết quả đầu ra rất khác nhau tùy thuộc vào trường hợp sử dụng của bạn (mô tả hình ảnh, nhận dạng ký tự quang học (OCR), Pix2Struct, v.v.). Vui lòng xem thẻ mô hình để tìm hiểu thêm về các đặc điểm cụ thể của một mô hình.

Ví dụ:

# 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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo video. Nó có thể là bytes thô, tệp hình ảnh, URL của một hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • prompt (str, tùy chọn) — Câu lệnh văn bản để định hướng việc tạo video.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo video.
  • num_frames (float, tùy chọn) — Tham số num_frames xác định số lượng khung hình video được tạo ra.
  • num_inference_steps (int, tùy chọn) — Dành cho các mô hình diffusion. Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn, với cái giá là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Dành cho các mô hình khuếch tán. Giá trị guidance scale cao hơn sẽ khuyến khích mô hình tạo ra các video gắn kết chặt chẽ với prompt văn bản, với cái giá là chất lượng hình ảnh thấp hơn.
  • seed (int, tùy chọn) — Hạt giống (seed) được sử dụng cho việc tạo video.
  • target_size (ImageToVideoTargetSize, tùy chọn) — Kích thước tính bằng pixel của các khung hình video đầu ra.
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến video có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.

Trả về

bytes

Video được tạo ra.

Tạo video từ một hình ảnh đầu vào.

Ví dụ:

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

phát hiện đối tượng

< >

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh để phát hiện các đối tượng. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • model (str, tùy chọn) — Mô hình được sử dụng cho phát hiện đối tượng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho phát hiện đối tượng (DETR) sẽ được sử dụng.
  • threshold (float, tùy chọn) — Xác suất cần thiết để đưa ra dự đoán.

Trả về

list[ObjectDetectionOutputElement]

Một danh sách các mục ObjectDetectionOutputElement chứa các hộp bao (bounding boxes) và các thuộc tính liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError hoặc ValueError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.
  • ValueError — Nếu kết quả trả về của yêu cầu không phải là List.

Thực hiện phát hiện đối tượng trên hình ảnh đã cho bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Ví dụ:

# 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]

Tham số

  • question (str) — Câu hỏi cần được trả lời.
  • context (str) — Bối cảnh của câu hỏi.
  • model (str) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai.
  • align_to_words (bool, tùy chọn) — Cố gắng căn câu trả lời theo các từ thực. Cải thiện chất lượng trên các ngôn ngữ phân tách bằng khoảng trắng. Có thể gây ảnh hưởng tiêu cực trên các ngôn ngữ không phân tách bằng khoảng trắng (như tiếng Nhật hoặc tiếng Trung)
  • doc_stride (int, tùy chọn) — Nếu ngữ cảnh quá dài để cùng với câu hỏi vừa với mô hình, nó sẽ được chia thành nhiều phần có phần chồng lấn. Tham số này kiểm soát kích thước của phần chồng lấn đó.
  • handle_impossible_answer (bool, tùy chọn) — Có chấp nhận "impossible" (không thể) làm câu trả lời hay không.
  • max_answer_len (int, tùy chọn) — Độ dài tối đa của các câu trả lời dự đoán (ví dụ: chỉ xem xét các câu trả lời có độ dài ngắn hơn).
  • max_question_len (int, tùy chọn) — Độ dài tối đa của câu hỏi sau khi token hóa. Nó sẽ bị cắt ngắn nếu cần.
  • max_seq_len (int, tùy chọn) — Độ dài tối đa của toàn bộ câu (bối cảnh + câu hỏi) tính bằng số token của mỗi chunk được truyền vào model. Bối cảnh sẽ được chia thành nhiều chunk (sử dụng docStride làm phần chồng lấn) nếu cần.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Lưu ý rằng chúng tôi sẽ trả về ít hơn topk câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.

Trả về

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

Khi top_k bằng 1 hoặc không được cung cấp, nó trả về một QuestionAnsweringOutputElement duy nhất. Khi top_k lớn hơn 1, nó trả về một danh sách các QuestionAnsweringOutputElement.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Lấy câu trả lời cho một câu hỏi từ một đoạn văn bản cho trước.

Ví dụ:

# 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_similarity

< >

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

Tham số

  • sentence (str) — Câu chính để so sánh với các câu khác.
  • other_sentences (list[str]) — Danh sách các câu để so sánh.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ độ tương tự câu. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình độ tương tự câu mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.

Trả về

list[float]

Vector nhúng đại diện cho văn bản đầu vào.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tính độ tương đồng ngữ nghĩa giữa một câu và danh sách các câu khác bằng cách so sánh các vector nhúng của chúng.

Ví dụ:

# 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]

tóm tắt

< >

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

Tham số

  • text (str) — Văn bản đầu vào cần tóm tắt.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình khuyến nghị mặc định cho việc tóm tắt sẽ được sử dụng.
  • clean_up_tokenization_spaces (bool, tùy chọn) — Có dọn dẹp các khoảng trắng thừa tiềm ẩn trong đầu ra văn bản hay không.
  • generate_parameters (dict[str, Any], tùy chọn) — Các tham số bổ sung cho thuật toán tạo văn bản.
  • truncation ("SummarizationTruncationStrategy", tùy chọn) — Chiến lược cắt ngắn cần sử dụng.

Văn bản tóm tắt được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo một bản tóm tắt cho một đoạn văn bản đã cho bằng cách sử dụng một mô hình được chỉ định.

Ví dụ:

# 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

Tham số

  • table (str) — Bảng dữ liệu được biểu diễn dưới dạng dict của các danh sách, trong đó các phần tử là tiêu đề và các danh sách chứa tất cả các giá trị, tất cả các danh sách phải có cùng kích thước.
  • query (str) — Câu hỏi bằng văn bản thuần túy mà bạn muốn đặt cho bảng.
  • model (str) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi từ bảng. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai.
  • padding ("Padding", tùy chọn) — Bật và kiểm soát việc đệm.
  • sequential (bool, tùy chọn) — Liệu thực hiện suy luận theo tuần tự hay theo lô. Xử lý theo lô nhanh hơn, nhưng các mô hình như SQA yêu cầu suy luận phải được thực hiện tuần tự để trích xuất các quan hệ trong các chuỗi, do bản chất hội thoại của chúng.
  • truncation (bool, tùy chọn) — Bật và kiểm soát việc cắt ngắn.

một kết quả trả lời câu hỏi bảng bao gồm câu trả lời, tọa độ, các ô và bộ tổng hợp được sử dụng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Lấy câu trả lời cho một câu hỏi từ thông tin được cung cấp trong bảng.

Ví dụ:

# 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')

phân_loại_bảng

< >

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

Tham số

  • table (dict[str, Any]) — Bộ thuộc tính cần phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại bảng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại bảng được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.

Trả về

List

một danh sách nhãn, mỗi dòng trong bảng ban đầu tương ứng với một nhãn.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Phân loại một danh mục đích (một nhóm) dựa trên một tập hợp các thuộc tính.

Ví dụ:

# 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

Tham số

  • table (dict[str, Any]) — Bộ thuộc tính được lưu trữ trong bảng. Các thuộc tính được sử dụng để dự đoán mục tiêu có thể là số hoặc phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ hồi quy bảng. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình hồi quy bảng được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.

Trả về

List

một danh sách các giá trị mục tiêu số được dự đoán.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Dự đoán giá trị mục tiêu dạng số khi có một tập các thuộc tính/đặc trưng trong bảng.

Ví dụ:

# 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]

phân_loại_văn_bản

< >

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

Tham số

  • text (str) — Chuỗi cần được phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại văn bản. Có thể là một model ID được lưu trữ trên Hugging Face Hub hoặc một URL trỏ đến một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại văn bản mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • top_k (int, tùy chọn) — Khi được chỉ định, giới hạn đầu ra xuống K lớp có xác suất cao nhất.
  • function_to_apply ("TextClassificationOutputTransform", tuỳ chọn) — Hàm được áp dụng cho đầu ra của mô hình để lấy điểm số.

Trả về

list[TextClassificationOutputElement]

một danh sách các mục TextClassificationOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại văn bản (ví dụ: phân tích cảm xúc) trên văn bản được cho.

Ví dụ:

# 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]]

Tham số

  • prompt (str) — Văn bản đầu vào.
  • details (bool, tùy chọn) — Mặc định, text_generation trả về một chuỗi. Truyền details=True nếu bạn muốn đầu ra chi tiết (tokens, xác suất, seed, lý do kết thúc, v.v.). Chỉ khả dụng cho các model chạy với backend text-generation-inference.
  • stream (bool, tùy chọn) — Mặc định, text_generation trả về toàn bộ văn bản đã tạo. Truyền stream=True nếu bạn muốn nhận một luồng các token. Chỉ khả dụng cho các mô hình chạy với backend text-generation-inference.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Mặc định là None.
  • adapter_id (str, tùy chọn) — ID của bộ thích ứng Lora.
  • best_of (int, tùy chọn) — Tạo ra best_of chuỗi và trả về chuỗi có logprobs token cao nhất.
  • decoder_input_details (bool, tùy chọn) — Trả về logprobs và ids của token đầu vào decoder. Bạn phải đặt details=True để tham số này được tính đến. Mặc định là False.
  • do_sample (bool, tùy chọn) — Bật lấy mẫu logits
  • frequency_penalty (float, tùy chọn) — Số nằm trong khoảng từ -2.0 đến 2.0. Các giá trị dương sẽ phạt các token mới dựa trên tần suất xuất hiện của chúng trong văn bản cho đến hiện tại, làm giảm khả năng mô hình lặp lại nguyên văn cùng một dòng.
  • grammar (TextGenerationInputGrammarType, optional) — Ràng buộc ngữ pháp. Có thể là JSONSchema hoặc regex.
  • max_new_tokens (int, tùy chọn) — Số lượng token được tạo ra tối đa. Mặc định là 100.
  • repetition_penalty (float, tùy chọn) — Tham số cho hình phạt lặp lại. 1.0 có nghĩa là không có hình phạt. Xem bài báo này để biết thêm chi tiết.
  • return_full_text (bool, tùy chọn) — Có nên thêm prompt vào đầu văn bản được tạo hay không
  • seed (int, tùy chọn) — Hạt ngẫu nhiên cho việc lấy mẫu
  • stop (list[str], tùy chọn) — Dừng tạo token nếu một thành viên của stop được tạo ra.
  • temperature (float, tùy chọn) — Giá trị được sử dụng để điều chỉnh phân phối logits.
  • top_n_tokens (int, tùy chọn) — Trả về thông tin về top_n_tokens token có khả năng cao nhất ở mỗi bước sinh, thay vì chỉ token được lấy mẫu.
  • top_k (int, *optional`) — Số lượng token từ vựng có xác suất cao nhất cần giữ lại cho lọc top-k.
  • 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, *optional`) — Cắt ngắn các token đầu vào xuống kích thước đã cho.
  • typical_p (float, *optional`) — Khối lượng của Typical Decoding Xem Typical Decoding for Natural Language Generation để biết thêm thông tin
  • watermark (bool, tùy chọn) — Đóng dấu với A Watermark for Large Language Models

Trả về

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

Văn bản được tạo trả về từ máy chủ:

  • nếu stream=False và details=False, văn bản được tạo sẽ được trả về dưới dạng str (mặc định)
  • nếu stream=True và details=False, văn bản được tạo sẽ được trả về theo từng token dưới dạng AsyncIterable[str]
  • nếu stream=False và details=True, văn bản được tạo sẽ được trả về kèm theo nhiều chi tiết hơn dưới dạng TextGenerationOutput
  • nếu details=True và stream=True, văn bản được tạo sẽ được trả về theo từng token dưới dạng một iterable của TextGenerationStreamOutput

Gây ra

ValidationError hoặc InferenceTimeoutError hoặc HfHubHTTPError

  • ValidationError — Nếu giá trị đầu vào không hợp lệ. Không có cuộc gọi HTTP nào được thực hiện đến máy chủ.
  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Với một prompt, hãy tạo ra văn bản sau.

Nếu bạn muốn tạo phản hồi từ các tin nhắn chat, bạn nên sử dụng phương thức InferenceClient.chat_completion(). Phương thức này nhận một danh sách các tin nhắn thay vì một prompt văn bản đơn lẻ và xử lý chat templating cho bạn.

Ví dụ:

# 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

Tham số

  • prompt (str) — Prompt để tạo ảnh.
  • negative_prompt (str, tùy chọn) — Một prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo ảnh.
  • height (int, tùy chọn) — Chiều cao của hình ảnh đầu ra tính bằng pixel
  • width (int, tùy chọn) — Chiều rộng của hình ảnh đầu ra, tính bằng pixel
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến hình ảnh có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • guidance_scale (float, tùy chọn) — Giá trị guidance scale cao hơn khuyến khích mô hình tạo ra các hình ảnh gắn kết chặt chẽ với prompt văn bản, nhưng các giá trị quá cao có thể gây ra hiện tượng bão hòa và các lỗi hiển thị khác.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-image được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • scheduler (str, tùy chọn) — Ghi đè scheduler bằng một scheduler tương thích.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

Image

Hình ảnh được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tạo một hình ảnh dựa trên văn bản cho trước bằng cách sử dụng mô hình được chỉ định.

Bạn phải cài đặt PIL nếu muốn làm việc với hình ảnh (pip install Pillow).

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

# 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")

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

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

Ví dụ sử dụng nhà cung cấp Replicate với các tham số bổ sung

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

Tham số

  • text (str) — Văn bản cần tổng hợp.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-speech được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • do_sample (bool, tùy chọn) — Có sử dụng sampling thay vì greedy decoding khi tạo các token mới hay không.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"], tùy chọn) — Kiểm soát điều kiện dừng cho các phương pháp dựa trên beam.
  • epsilon_cutoff (float, tùy chọn) — Nếu được đặt thành một số float nằm nghiêm ngặt giữa 0 và 1, chỉ các token có xác suất điều kiện lớn hơn epsilon_cutoff mới được lấy mẫu. Trong bài báo, các giá trị được đề xuất dao động từ 3e-4 đến 9e-4, tùy thuộc vào kích thước của mô hình. Xem Truncation Sampling as Language Model Desmoothing để biết thêm chi tiết.
  • eta_cutoff (float, tuỳ chọn) — Lấy mẫu Eta là sự kết hợp giữa lấy mẫu điển hình cục bộ và lấy mẫu epsilon. Nếu được đặt thành float nằm nghiêm ngặt trong khoảng từ 0 đến 1, một token chỉ được xem xét nếu nó lớn hơn cả eta_cutoff và sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). Số hạng sau về mặt trực giác là xác suất của token tiếp theo kỳ vọng, được nhân với sqrt(eta_cutoff). Trong bài báo, các giá trị được đề xuất dao động từ 3e-4 đến 2e-3, tùy thuộc vào kích thước của mô hình. Xem Truncation Sampling as Language Model Desmoothing để biết thêm chi tiết.
  • max_length (int, tùy chọn) — Độ dài tối đa (tính bằng token) của văn bản được tạo ra, bao gồm cả phần đầu vào.
  • max_new_tokens (int, tùy chọn) — Số lượng token tối đa cần tạo ra. Tham số này có ưu tiên cao hơn max_length.
  • min_length (int, tùy chọn) — Độ dài tối thiểu (tính bằng token) của văn bản được tạo ra, bao gồm cả phần đầu vào.
  • min_new_tokens (int, tùy chọn) — Số lượng token tối thiểu cần tạo ra. Có ưu tiên cao hơn min_length.
  • num_beam_groups (int, tùy chọn) — Số lượng nhóm để chia num_beams nhằm đảm bảo tính đa dạng giữa các nhóm beam khác nhau. Xem bài báo này để biết thêm chi tiết.
  • num_beams (int, tùy chọn) — Số lượng beam sử dụng cho beam search.
  • penalty_alpha (float, tùy chọn) — Giá trị này cân bằng độ tin cậy của mô hình và hình phạt suy thoái trong giải mã tìm kiếm tương phản.
  • temperature (float, tùy chọn) — Giá trị được sử dụng để điều chỉnh xác suất của token tiếp theo.
  • top_k (int, tùy chọn) — Số lượng token từ vựng có xác suất cao nhất cần giữ lại cho lọc top-k.
  • top_p (float, tùy chọn) — Nếu được đặt thành float < 1, chỉ tập hợp nhỏ nhất các token có xác suất cao nhất, với tổng xác suất bằng hoặc lớn hơn top_p, sẽ được giữ lại cho quá trình sinh.
  • typical_p (float, tùy chọn) — Độ điển hình cục bộ đo mức độ tương đồng giữa xác suất có điều kiện để dự đoán token đích tiếp theo so với xác suất có điều kiện kỳ vọng để dự đoán một token ngẫu nhiên tiếp theo, dựa trên phần văn bản đã được tạo ra. Nếu được đặt thành float < 1, tập hợp nhỏ nhất gồm các token điển hình cục bộ nhất có tổng xác suất bằng hoặc lớn hơn typical_p sẽ được giữ lại cho quá trình tạo. Xem bài báo này để biết thêm chi tiết.
  • use_cache (bool, tùy chọn) — Liệu mô hình có nên sử dụng các chú ý key/value cuối cùng trước đó để tăng tốc giải mã hay không
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

bytes

Âm thanh được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Tổng hợp âm thanh của giọng đọc phát âm một đoạn văn bản cho trước.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

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

Ví dụ sử dụng trực tiếp một nhà cung cấp bên thứ ba. Chi phí sử dụng sẽ được tính trên tài khoản Replicate của bạn.

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

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

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

Ví dụ về music-gen sử dụng “YuE-s1-7B-anneal-en-cot” trên 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

Tham số

  • prompt (str) — Prompt để tạo video.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình text-to-video được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • guidance_scale (float, tùy chọn) — Giá trị guidance scale cao hơn khuyến khích mô hình tạo ra các video gắn kết chặt chẽ với prompt văn bản, nhưng các giá trị quá cao có thể gây ra hiện tượng bão hòa và các lỗi hình ảnh khác.
  • negative_prompt (list[str], tùy chọn) — Một hoặc nhiều prompt để hướng dẫn những gì KHÔNG nên bao gồm trong quá trình tạo video.
  • num_frames (float, tùy chọn) — Tham số num_frames xác định số lượng khung hình video được tạo ra.
  • num_inference_steps (int, tùy chọn) — Số bước khử nhiễu. Số bước khử nhiễu nhiều hơn thường dẫn đến video có chất lượng cao hơn với chi phí là suy luận chậm hơn.
  • seed (int, tùy chọn) — Hạt giống cho bộ tạo số ngẫu nhiên.
  • extra_body (dict[str, Any], tùy chọn) — Các tham số cụ thể của nhà cung cấp bổ sung để truyền cho mô hình. Tham khảo tài liệu của nhà cung cấp để biết các tham số được hỗ trợ.

Trả về

bytes

Video được tạo ra.

Tạo một video dựa trên văn bản được cung cấp.

Bạn có thể truyền các tham số cụ thể của nhà cung cấp vào mô hình bằng cách sử dụng đối số extra_body.

Ví dụ:

Ví dụ sử dụng trực tiếp một nhà cung cấp bên thứ ba. Chi phí sử dụng sẽ được tính trên tài khoản fal.ai của bạn.

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

Ví dụ sử dụng nhà cung cấp bên thứ ba thông qua Hugging Face Routing. Chi phí sử dụng sẽ được tính vào tài khoản Hugging Face của bạn.

>>> 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]

Tham số

  • text (str) — Chuỗi cần được phân loại.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ phân loại token. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình phân loại token mặc định được khuyến nghị sẽ được sử dụng. Mặc định là None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy", tùy chọn) — Chiến lược được sử dụng để hợp nhất các token dựa trên dự đoán của mô hình
  • ignore_labels (list[str, tuỳ chọn) — Danh sách các nhãn cần bỏ qua
  • stride (int, tuỳ chọn) — Số lượng token chồng lấn giữa các khối khi chia nhỏ văn bản đầu vào.

Trả về

list[TokenClassificationOutputElement]

Danh sách các mục TokenClassificationOutputElement chứa nhóm thực thể, điểm tin cậy, từ, chỉ số bắt đầu và chỉ số kết thúc.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Thực hiện phân loại token trên văn bản được cho. Thường được sử dụng cho việc phân tích câu, có thể là phân tích ngữ pháp hoặc Nhận thực thể có tên (NER) để hiểu các từ khóa chứa trong văn bản.

Ví dụ:

# 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,
    )
]

dịch thuật

< >

( 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

Tham số

  • text (str) — Chuỗi cần được dịch.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ dịch. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình dịch được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • src_lang (str, tùy chọn) — Ngôn ngữ nguồn của văn bản. Bắt buộc đối với các mô hình có thể dịch từ nhiều ngôn ngữ.
  • tgt_lang (str, tùy chọn) — Ngôn ngữ đích để dịch. Bắt buộc đối với các mô hình có thể dịch sang nhiều ngôn ngữ.
  • clean_up_tokenization_spaces (bool, tùy chọn) — Có dọn dẹp các khoảng trắng thừa tiềm ẩn trong đầu ra văn bản hay không.
  • truncation ("TranslationTruncationStrategy", tùy chọn) — Chiến lược cắt ngắn cần sử dụng.
  • generate_parameters (dict[str, Any], tùy chọn) — Các tham số bổ sung cho thuật toán tạo văn bản.

Trả về

TranslationOutput

Văn bản dịch được tạo ra.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError hoặc ValueError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.
  • ValueError — Nếu chỉ một trong các đối số src_lang và tgt_lang được cung cấp.

Chuyển đổi văn bản từ ngôn ngữ này sang ngôn ngữ khác.

Xem https://huggingface.co/tasks/translation để biết thêm thông tin về cách chọn mô hình phù hợp nhất cho trường hợp sử dụng cụ thể của bạn. Ngôn ngữ nguồn và ngôn ngữ đích thường phụ thuộc vào mô hình. Tuy nhiên, có thể chỉ định ngôn ngữ nguồn và ngôn ngữ đích cho một số mô hình nhất định. Nếu bạn đang làm việc với một trong những mô hình này, bạn có thể sử dụng các đối số src_lang và tgt_lang để truyền thông tin liên quan.

Ví dụ:

# 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.')

Chỉ định ngôn ngữ:

>>> 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"

visual_question_answering

< >

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

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào cho ngữ cảnh. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • question (str) — Câu hỏi cần được trả lời.
  • model (str, tùy chọn) — Mô hình được sử dụng cho tác vụ trả lời câu hỏi trực quan. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Nếu không được cung cấp, mô hình trả lời câu hỏi trực quan được khuyến nghị mặc định sẽ được sử dụng. Mặc định là None.
  • top_k (int, tùy chọn) — Số lượng câu trả lời cần trả về (được chọn theo thứ tự khả năng xảy ra). Lưu ý rằng chúng tôi sẽ trả về ít hơn topk câu trả lời nếu không có đủ các lựa chọn khả dụng trong ngữ cảnh.

Trả về

list[VisualQuestionAnsweringOutputElement]

một danh sách các mục VisualQuestionAnsweringOutputElement chứa nhãn dự đoán và xác suất liên quan.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Trả lời các câu hỏi mở dựa trên một hình ảnh.

Ví dụ:

# 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]

Tham số

  • text (str) — Văn bản đầu vào cần phân loại.
  • candidate_labels (list[str]) — Bộ các nhãn lớp có thể dùng để phân loại văn bản.
  • multi_label (bool, tùy chọn) — Liệu có thể có nhiều nhãn ứng viên đúng hay không. Nếu là false, các điểm số sẽ được chuẩn hóa sao cho tổng xác suất của các nhãn cho mỗi chuỗi bằng 1. Nếu là true, các nhãn được coi là độc lập và xác suất được chuẩn hóa cho từng ứng viên.
  • hypothesis_template (str, tùy chọn) — Câu được sử dụng cùng với candidate_labels để thực hiện phân loại văn bản bằng cách thay thế phần tử thay thế bằng các nhãn ứng viên.
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Nếu không được cung cấp, mô hình phân loại zero-shot mặc định được khuyến nghị sẽ được sử dụng.

Trả về

list[ZeroShotClassificationOutputElement]

Danh sách các mục ZeroShotClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Cung cấp một văn bản và một tập hợp các nhãn ứng viên làm đầu vào để phân loại văn bản đầu vào.

Ví dụ với 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),
]

Ví dụ với multi_label=True và hypothesis_template tùy chỉnh:

# 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]

Tham số

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Hình ảnh đầu vào để tạo chú thích. Nó có thể là bytes thô, một tệp hình ảnh, một URL trỏ đến hình ảnh trực tuyến, hoặc một hình ảnh PIL.
  • candidate_labels (list[str]) — Các nhãn ứng viên cho hình ảnh này
  • model (str, tùy chọn) — Mô hình được sử dụng để suy luận. Có thể là ID mô hình được lưu trữ trên Hugging Face Hub hoặc URL của một Inference Endpoint đã triển khai. Tham số này ghi đè lên mô hình được định nghĩa ở cấp độ instance. Nếu không được cung cấp, mô hình phân loại ảnh zero-shot mặc định được khuyến nghị sẽ được sử dụng.
  • hypothesis_template (str, tùy chọn) — Câu được sử dụng cùng với candidate_labels để thực hiện phân loại hình ảnh bằng cách thay thế phần tử thay thế bằng các nhãn ứng viên.

Trả về

list[ZeroShotImageClassificationOutputElement]

Danh sách các mục ZeroShotImageClassificationOutputElement chứa nhãn dự đoán và độ tin cậy tương ứng.

Gây ra

InferenceTimeoutError hoặc HfHubHTTPError

  • InferenceTimeoutError — Nếu mô hình không khả dụng hoặc yêu cầu bị hết thời gian chờ.
  • HfHubHTTPError — Nếu yêu cầu thất bại với mã trạng thái lỗi HTTP khác HTTP 503.

Cung cấp ảnh đầu vào và nhãn văn bản để dự đoán nhãn văn bản cho ảnh.

Ví dụ:

# 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

lớp huggingface_hub.InferenceTimeoutError

< >

( message: str )

Lỗi được phát sinh khi một model không khả dụng hoặc yêu cầu bị hết thời gian chờ.

Update on GitHub