Hub Python Library documentation

Inferência

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Inferência

Inferência é o processo de usar um modelo treinado para fazer previsões em novos dados. Como esse processo pode ser intensivo em computação, executá-lo em um serviço dedicado ou externo pode ser uma opção interessante. A biblioteca huggingface_hub fornece uma interface unificada para executar inferência em vários serviços para modelos hospedados no Hugging Face Hub:

  1. Provedores de Inferência: acesso simplificado e unificado a centenas de modelos de machine learning, impulsionado por nossos parceiros de inferência serverless. Essa nova abordagem se baseia na nossa anterior API de Inferência Serverless, oferecendo mais modelos, desempenho aprimorado e maior confiabilidade graças a provedores de classe mundial. Consulte a documentação para obter a lista de provedores suportados.
  2. Inference Endpoints: um produto para implantar modelos em produção com facilidade. A inferência é executada pela Hugging Face em uma infraestrutura dedicada e totalmente gerenciada em um provedor de nuvem de sua escolha.
  3. Endpoints locais: você também pode executar inferência com servidores de inferência locais, como llama.cpp, Ollama, vLLM, LiteLLM ou Text Generation Inference (TGI), conectando o cliente a esses endpoints locais.

Esses serviços podem ser chamados com o objeto InferenceClient. Consulte este guia para mais informações sobre como usá-lo.

Cliente de Inferência

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

Parâmetros

  • model (str, optional) — O modelo para executar a inferência. Pode ser um id de modelo hospedado no Hugging Face Hub, por exemplo meta-llama/Meta-Llama-3-8B-Instruct ou uma URL para um Inference Endpoint implantado. O padrão é None, caso em que um modelo recomendado é selecionado automaticamente para a tarefa. Observação: para melhor compatibilidade com o cliente da OpenAI, model foi aliasado como base_url. Esses 2 argumentos são mutuamente exclusivos. Se uma URL for passada como model ou base_url para chat completion, o sufixo de caminho (/v1)/chat/completions será anexado à URL.
  • provider (str, opcional) — Nome do provedor a ser usado para inferência. Pode ser "baseten", "cerebras", "cohere", "deepinfra", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "scaleway", "together", "wavespeed" ou "zai-org". Padrão é “auto”: roteamento automático, que por padrão usa o provedor “fastest”; você pode alternar para a ordem de provedores “cheapest” ou “preferred” em https://hf.co/settings/inference-providers. Se o modelo for uma URL ou base_url for passado, então provider não é usado.
  • token (str, opcional) — Token do Hugging Face. Se não for fornecido, será usado o token salvo localmente. Observação: para melhor compatibilidade com o cliente da OpenAI, token foi aliasado como api_key. Esses 2 argumentos são mutuamente exclusivos e têm exatamente o mesmo comportamento.
  • timeout (float, optional) — O número máximo de segundos para aguardar uma resposta do servidor. O valor padrão é None, o que significa que o processo entrará em um loop até que o servidor esteja disponível.
  • headers (dict[str, str], optional) — Cabeçalhos adicionais a enviar para o servidor. Por padrão, apenas os cabeçalhos de autorização e user-agent são enviados. Os valores neste dicionário substituirão os valores padrão.
  • bill_to (str, optional) — A conta de faturamento a ser usada para as solicitações. Por padrão, as solicitações são faturadas na conta do usuário. As solicitações só podem ser faturadas para uma organização da qual o usuário é membro e que tenha assinado o Enterprise Hub.
  • cookies (dict[str, str], optional) — Cookies adicionais para enviar ao servidor.
  • base_url (str, optional) — URL base para executar inferência. Este é um argumento duplicado de model para fazer o InferenceClient seguir o mesmo padrão do cliente openai.OpenAI. Não pode ser usado se model estiver definido. O valor padrão é None.
  • api_key (str, optional) — Token to use for authentication. This is a duplicated argument from token to make InferenceClient follow the same pattern as openai.OpenAI client. Cannot be used if token is set. Defaults to None.

Inicialize um novo Inference Client.

InferenceClient visa fornecer uma experiência unificada para executar inferência. O cliente pode ser usado de forma transparente com a Inference API (gratuita), Inference Endpoints auto-hospedados ou Inference Providers de terceiros.

classificação de áudio

< >

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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo de áudio a ser classificado. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL apontando para um arquivo de áudio.
  • model (str, opcional) — O modelo a ser usado para classificação de áudio. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para classificação de áudio será utilizado.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.
  • function_to_apply ("AudioClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.

Retorna

list[AudioClassificationOutputElement]

Lista de itens AudioClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de áudio no conteúdo de áudio fornecido.

Exemplo:

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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo de áudio para o modelo. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL apontando para um arquivo de áudio.
  • model (str, opcional) — O modelo pode ser qualquer modelo que receba um arquivo de áudio e retorne outro arquivo de áudio. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para audio_to_audio será utilizado.

Retorna

list[AudioToAudioOutputElement]

Uma lista de itens AudioToAudioOutputElement contendo rótulo de áudio, tipo de conteúdo e conteúdo de áudio em blob.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Executa várias tarefas relacionadas a áudio-para-áudio, dependendo do modelo (por exemplo: aprimoramento de fala, separação de fontes).

Exemplo:

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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo a ser transcrito. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL para um arquivo de áudio.
  • model (str, opcional) — O modelo a ser usado para ASR. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para ASR será utilizado.
  • extra_body (dict, opcional) — Parâmetros específicos do provedor adicionais para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Um item contendo o texto transcrito e, opcionalmente, os blocos de timestamp.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Execute o reconhecimento automático de fala (ASR ou áudio-para-texto) no conteúdo de áudio fornecido.

Exemplo:

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

Parâmetros

  • messages (Lista de ChatCompletionInputMessage) — Histórico da conversa composto por pares de papéis e conteúdo.
  • model (str, opcional) — O modelo a ser usado para chat-completion. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para geração de texto baseada em chat será utilizado. Veja https://huggingface.co/tasks/text-generation para mais detalhes. Se model for um ID de modelo, ele é enviado ao servidor como o parâmetro model. Se você deseja definir uma URL personalizada ao configurar model no payload da solicitação, você deve definir base_url ao inicializar InferenceClient.
  • frequency_penalty (float, opcional) — Penaliza novos tokens com base na frequência existente no texto até o momento. Intervalo: [-2.0, 2.0]. Padrão: 0.0.
  • logit_bias (list[float], opcional) — Ajusta a probabilidade de tokens específicos aparecerem na saída gerada.
  • logprobs (bool, opcional) — Se as probabilidades logarítmicas dos tokens de saída devem ser retornadas ou não. Se verdadeiro, retorna as probabilidades logarítmicas de cada token de saída retornado no conteúdo da mensagem.
  • max_tokens (int, opcional) — Número máximo de tokens permitidos na resposta. O valor padrão é 100.
  • n (int, opcional) — O número de conclusões a serem geradas para cada prompt.
  • presence_penalty (float, opcional) — Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base em sua ocorrência no texto até o momento, aumentando a probabilidade de o modelo abordar novos tópicos.
  • response_format (ChatCompletionInputGrammarType(), opcional) — Restrições de gramática. Pode ser um JSONSchema ou uma regex.
  • seed (Opcionalint, optional) — Semente para fluxo de controle reproduzível. O padrão é None.
  • stop (list[str], opcional) — Até quatro strings que acionam o fim da resposta. Padrão: None.
  • stream (bool, opcional) — Ativa o streaming em tempo real das respostas. O valor padrão é False.
  • stream_options (ChatCompletionInputStreamOptions, opcional) — Opções para streaming de completions.
  • temperature (float, opcional) — Controla a aleatoriedade das gerações. Valores menores garantem completamentos menos aleatórios. Intervalo: [0, 2]. Padrão: 1.0.
  • top_logprobs (int, opcional) — Um inteiro entre 0 e 5 que especifica o número de tokens mais prováveis a serem retornados em cada posição de token, cada um com uma probabilidade log associada. logprobs deve ser definido como true se este parâmetro for usado.
  • top_p (float, opcional) — Fração das próximas palavras mais prováveis a serem amostradas. Deve estar entre 0 e 1. O valor padrão é 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass ou ChatCompletionInputToolChoiceEnum(), opcional) — A ferramenta a ser usada para a conclusão. O padrão é “auto”.
  • tool_prompt (str, opcional) — Um prompt a ser adicionado antes das ferramentas.
  • tools (Lista de ChatCompletionInputTool, opcional) — Uma lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramenta. Use isso para fornecer uma lista de funções para as quais o modelo pode gerar entradas JSON.
  • extra_body (dict, opcional) — Parâmetros específicos do provedor adicionais para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Texto gerado retornado pelo servidor:

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Um método para completar conversas usando um modelo de linguagem especificado.

O método client.chat_completion é um alias de client.chat.completions.create para compatibilidade com o cliente da OpenAI. As entradas e saídas são estritamente as mesmas e o uso de qualquer uma das sintaxes produzirá os mesmos resultados. Consulte o Guia de inferência para mais detalhes sobre a compatibilidade com a OpenAI.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

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

Exemplo usando a sintaxe da 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)

Exemplo de uso de um provedor de terceiros diretamente com parâmetros extras (específicos do provedor). O uso será cobrado na sua conta do Together AI.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo usando Imagem + Texto como entrada:

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

Exemplo usando ferramentas:

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

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO]) — A imagem de entrada para o contexto. Pode ser bytes brutos, um arquivo de imagem ou uma URL para uma imagem online.
  • question (str) — Pergunta a ser respondida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de question answering de documentos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de question answering de documentos recomendado por padrão será usado. O valor padrão é None.
  • doc_stride (int, opcional) — Se as palavras do documento forem longas demais para caber junto com a pergunta para o modelo, ele será dividido em vários blocos com alguma sobreposição. Este argumento controla o tamanho dessa sobreposição.
  • handle_impossible_answer (bool, opcional) — Se aceitar "impossível" como resposta
  • lang (str, opcional) — Idioma a ser usado durante a execução do OCR. O padrão é inglês.
  • max_answer_len (int, opcional) — O comprimento máximo das respostas previstas (por exemplo, apenas respostas com comprimento menor são consideradas).
  • max_question_len (int, opcional) — O comprimento máximo da pergunta após a tokenização. Será truncado, se necessário.
  • max_seq_len (int, opcional) — O comprimento máximo da frase total (contexto + pergunta) em tokens de cada bloco passado ao modelo. O contexto será dividido em vários blocos (usando doc_stride como sobreposição), se necessário.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Pode retornar menos respostas que top_k se não houver opções suficientes disponíveis no contexto.
  • word_boxes (list[Union[list[float], str, opcional) — Uma lista de palavras e caixas delimitadoras (normalizadas de 0->1000). Se fornecida, a inferência ignorará a etapa de OCR e usará as caixas delimitadoras fornecidas.

Retorna

list[DocumentQuestionAnsweringOutputElement]

uma lista de itens DocumentQuestionAnsweringOutputElement contendo o rótulo previsto, a probabilidade associada, os ids das palavras e o número da página.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Responda perguntas sobre imagens de documentos.

Exemplo:

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

Parâmetros

  • text (str ou list[str]) — O texto ou lista de textos a serem incorporados.
  • model (str, opcional) — O modelo a ser usado para a tarefa de extração de recursos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de extração de recursos recomendado por padrão será usado. O valor padrão é None.
  • normalize (bool, opcional) — Se as incorporações devem ser normalizadas ou não. Disponível apenas em servidores alimentados por Text-Embedding-Inference.
  • prompt_name (str, opcional) — O nome do prompt que deve ser usado para a codificação. Se não for definido, nenhum prompt será aplicado. Deve ser uma chave no dicionário prompts da configuração do Sentence Transformers. Por exemplo, se prompt_name for “query” e o prompts for {“query”: “query: ”,…}, a frase “What is the capital of France?” será codificada como “query: What is the capital of France?” porque o texto do prompt será adicionado antes de qualquer texto a ser codificado.
  • truncate (bool, opcional) — Se as incorporações devem ser truncadas ou não. Disponível apenas em servidores alimentados por Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”], opcional) — Qual lado da entrada deve ser truncado quando truncate=True é passado.
  • dimensions (int, opcional) — O número de dimensões que as embeddings de saída resultantes devem ter. Disponível apenas em endpoints de embedding compatíveis com a OpenAI.
  • encoding_format (Literal[“float”, “base64”], opcional) — O formato dos embeddings de saída. Pode ser “float” ou “base64”. Disponível apenas em endpoints de embedding compatíveis com a OpenAI.

Retorna

np.ndarray

O embedding que representa o(s) texto(s) de entrada como um array numpy float32.

Exceções

[InferenceTimeoutError] ou [HfHubHTTPError]

  • [InferenceTimeoutError] — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • [HfHubHTTPError] — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere embeddings para um texto ou lote de textos específico.

Exemplo:

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

Parâmetros

  • text (str) — uma string para ser preenchida, deve conter o token [MASK] (consulte o cartão do modelo para o nome exato da máscara).
  • model (str, opcional) — O modelo a ser usado para a tarefa de fill mask. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de fill mask recomendado por padrão será usado.
  • targets (list[str, opcional) — Quando fornecido, o modelo limitará as pontuações aos alvos passados, em vez de procurar em todo o vocabulário. Se os alvos fornecidos não estiverem no vocabulário do modelo, eles serão tokenizados e o primeiro token resultante será usado (com um aviso, e isso pode ser mais lento).
  • top_k (int, opcional) — Quando informado, substitui o número de previsões a serem retornadas.

Retorna

list[FillMaskOutputElement]

uma lista de itens FillMaskOutputElement contendo o rótulo previsto, a probabilidade associada, a referência do token e o texto completado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Preencha um espaço com uma palavra ausente (mais precisamente, um token).

Exemplo:

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

Parâmetros

  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

Retorna

dict[str, Any]

Informações sobre o endpoint.

Obtenha informações sobre o endpoint implantado.

Este endpoint está disponível apenas em endpoints alimentados por Text-Generation-Inference (TGI) ou Text-Embedding-Inference (TEI). Endpoints alimentados por transformers retornam um payload vazio.

Exemplo:

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

Parâmetros

  • model (str, opcional) — URL do Inference Endpoint. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

Retorna

bool

Verdadeiro se tudo estiver funcionando corretamente.

Verifique a saúde do endpoint implantado.

O Health check está disponível apenas com Inference Endpoints powered by Text-Generation-Inference (TGI) ou Text-Embedding-Inference (TEI).

Exemplo:

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

classificação_de_imagens

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to classify. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para classificação de imagens. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para classificação de imagens será utilizado.
  • function_to_apply ("ImageClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.

Retorna

list[ImageClassificationOutputElement]

uma lista de itens ImageClassificationOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de imagem na imagem fornecida usando o modelo especificado.

Exemplo:

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

segmentação_de_imagem

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to segment. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para segmentação de imagem. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para segmentação de imagem será utilizado.
  • mask_threshold (float, opcional) — Limiar a ser usado ao converter as máscaras previstas em valores binários.
  • overlap_mask_area_threshold (float, opcional) — Limiar de sobreposição de máscaras para eliminar segmentos pequenos e desconectados.
  • subtask ("ImageSegmentationSubtask", opcional) — Tarefa de segmentação a ser executada, dependendo das capacidades do modelo.
  • threshold (float, opcional) — Limiar de probabilidade para filtrar máscaras previstas.

Retorna

list[ImageSegmentationOutputElement]

Uma lista de itens ImageSegmentationOutputElement contendo as máscaras segmentadas e os atributos associados.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a segmentação de imagem na imagem fornecida usando o modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image for translation. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • prompt (str, opcional) — O prompt de texto para orientar a geração da imagem.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de imagem.
  • num_inference_steps (int, opcional) — Para modelos de difusão. O número de etapas de remoção de ruído. Mais etapas de remoção de ruído geralmente resultam em uma imagem de maior qualidade, às custas de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Para modelos de difusão. Um valor de escala de orientação mais alto incentiva o modelo a gerar imagens fortemente ligadas ao prompt de texto, em detrimento da qualidade da imagem.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • target_size (ImageToImageTargetSize, opcional) — O tamanho em pixels da imagem de saída. Este parâmetro é suportado apenas por alguns provedores e para modelos específicos. Ele será ignorado quando não for suportado.

Retorna

Image

A imagem traduzida.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a tradução de imagem para imagem usando um modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image to caption. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

O texto gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Recebe uma imagem de entrada e retorna texto.

Os modelos podem ter saídas muito diferentes dependendo do seu caso de uso (legendagem de imagens, reconhecimento óptico de caracteres (OCR), Pix2Struct, etc.). Consulte o cartão do modelo para saber mais sobre as especificidades de um modelo.

Exemplo:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Imagem de entrada para gerar um vídeo. Pode ser bytes brutos, um arquivo de imagem, uma URL para uma imagem online ou uma imagem PIL.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • prompt (str, opcional) — O prompt de texto para orientar a geração do vídeo.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de vídeo.
  • num_frames (float, opcional) — O parâmetro num_frames determina quantos quadros de vídeo são gerados.
  • num_inference_steps (int, opcional) — Para modelos de difusão. O número de etapas de remoção de ruído. Mais etapas de remoção de ruído geralmente resultam em uma imagem de maior qualidade, às custas de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Para modelos de difusão. Um valor de escala de orientação mais alto incentiva o modelo a gerar vídeos estreitamente vinculados ao prompt de texto, em detrimento de uma menor qualidade de imagem.
  • seed (int, opcional) — A semente a ser usada para a geração do vídeo.
  • target_size (ImageToVideoTargetSize, opcional) — O tamanho, em pixels, dos quadros do vídeo de saída.
  • num_inference_steps (int, opcional) — O número de etapas de desruidamento. Mais etapas de desruidamento geralmente resultam em um vídeo de maior qualidade, à custa de uma inferência mais lenta.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.

Retorna

bytes

O vídeo gerado.

Gere um vídeo a partir de uma imagem de entrada.

Exemplos:

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

object_detection

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to detect objects on. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para detecção de objetos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para detecção de objetos (DETR) será utilizado.
  • threshold (float, opcional) — A probabilidade necessária para fazer uma previsão.

Retorna

list[ObjectDetectionOutputElement]

Uma lista de itens ObjectDetectionOutputElement contendo as caixas delimitadoras e os atributos associados.

Exceções

InferenceTimeoutError ou HfHubHTTPError ou ValueError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.
  • ValueError — Se a saída da solicitação não for uma List.

Realize a detecção de objetos na imagem fornecida usando o modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

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

Parâmetros

  • question (str) — Pergunta a ser respondida.
  • context (str) — O contexto da pergunta.
  • model (str) — O modelo a ser usado para a tarefa de resposta a perguntas. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado.
  • align_to_words (bool, opcional) — Tenta alinhar a resposta a palavras reais. Melhora a qualidade em idiomas separados por espaços. Pode prejudicar em idiomas não separados por espaços (como japonês ou chinês)
  • doc_stride (int, opcional) — Se o contexto for longo demais para caber junto com a pergunta para o modelo, ele será dividido em vários blocos com alguma sobreposição. Este argumento controla o tamanho dessa sobreposição.
  • handle_impossible_answer (bool, opcional) — Se aceitar "impossível" como resposta.
  • max_answer_len (int, opcional) — O comprimento máximo das respostas previstas (por exemplo, apenas respostas com comprimento menor são consideradas).
  • max_question_len (int, opcional) — O comprimento máximo da pergunta após a tokenização. Será truncado, se necessário.
  • max_seq_len (int, opcional) — O comprimento máximo da frase total (contexto + pergunta) em tokens de cada bloco passado para o modelo. O contexto será dividido em vários blocos (usando docStride como sobreposição), se necessário.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Observe que retornamos menos respostas do que top_k se não houver opções suficientes disponíveis no contexto.

Retorna

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

When top_k is 1 or not provided, it returns a single QuestionAnsweringOutputElement. When top_k is greater than 1, it returns a list of QuestionAnsweringOutputElement.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Obter a resposta para uma pergunta a partir de um texto fornecido.

Exemplo:

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

similaridade_de_sentenca

< >

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

Parâmetros

  • sentence (str) — A frase principal para comparação com as outras.
  • other_sentences (list[str]) — A lista de frases para comparação.
  • model (str, opcional) — O modelo a ser usado para a tarefa de similaridade de sentenças. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de similaridade de sentenças recomendado por padrão será usado. O valor padrão é None.

Retorna

list[float]

O embedding que representa o texto de entrada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Calcule a similaridade semântica entre uma frase e uma lista de outras frases comparando seus embeddings.

Exemplo:

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

resumo

< >

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

Parâmetros

  • text (str) — O texto de entrada a ser resumido.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para sumarização será utilizado.
  • clean_up_tokenization_spaces (bool, opcional) — Se deve limpar os espaços extras potenciais na saída de texto.
  • generate_parameters (dict[str, Any], opcional) — Parametrização adicional do algoritmo de geração de texto.
  • truncation ("SummarizationTruncationStrategy", opcional) — A estratégia de truncamento a ser utilizada.

O texto do resumo gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere um resumo de um texto específico usando um modelo designado.

Exemplo:

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

Parâmetros

  • table (str) — Uma tabela de dados representada como um dict de listas, em que as entradas são os cabeçalhos e as listas contêm todos os valores; todas as listas devem ter o mesmo tamanho.
  • query (str) — A consulta em texto simples que você deseja fazer à tabela.
  • model (str) — O modelo a ser usado para a tarefa de resposta a perguntas sobre tabelas. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado.
  • padding ("Padding", opcional) — Ativa e controla o padding.
  • sequential (bool, opcional) — Se a inferência deve ser feita sequencialmente ou em lote. O processamento em lote é mais rápido, mas modelos como SQA exigem que a inferência seja realizada sequencialmente para extrair relações dentro das sequências, dada sua natureza conversacional.
  • truncation (bool, opcional) — Ativa e controla a truncagem.

uma saída de question answering de tabela contendo a resposta, as coordenadas, as células e o agregador utilizado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Obter a resposta para uma pergunta a partir de informações fornecidas em uma tabela.

Exemplo:

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

classificação_tabular

< >

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

Parâmetros

  • table (dict[str, Any]) — Conjunto de atributos a serem classificados.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação tabular. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação tabular recomendado por padrão será usado. O valor padrão é None.

Retorna

List

uma lista de rótulos, um para cada linha na tabela inicial.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Classificar uma categoria-alvo (um grupo) com base em um conjunto de atributos.

Exemplo:

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

Parâmetros

  • table (dict[str, Any]) — Conjunto de atributos armazenados em uma tabela. Os atributos usados para prever o alvo podem ser numéricos e categóricos.
  • model (str, opcional) — O modelo a ser usado para a tarefa de regressão tabular. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de regressão tabular recomendado por padrão será utilizado. O valor padrão é None.

Retorna

List

uma lista de valores numéricos de alvo previstos.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Prever um valor numérico de destino dado um conjunto de atributos/recursos em uma tabela.

Exemplo:

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

classificação_de_texto

< >

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

Parâmetros

  • text (str) — Uma string a ser classificada.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação de texto. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação de texto recomendado por padrão será usado. O valor padrão é None.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.
  • function_to_apply ("TextClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.

Retorna

list[TextClassificationOutputElement]

uma lista de itens TextClassificationOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de texto (por exemplo, análise de sentimento) no texto fornecido.

Exemplo:

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

Parâmetros

  • prompt (str) — Texto de entrada.
  • details (bool, opcional) — Por padrão, text_generation retorna uma string. Passe details=True se você quiser uma saída detalhada (tokens, probabilidades, seed, motivo de término, etc.). Disponível apenas para modelos executados com o backend text-generation-inference.
  • stream (bool, opcional) — Por padrão, text_generation retorna o texto gerado completo. Passe stream=True se você quiser que um fluxo de tokens seja retornado. Disponível apenas para modelos executados com o backend text-generation-inference.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • adapter_id (str, opcional) — ID do adaptador Lora.
  • best_of (int, opcional) — Gera best_of sequências e retorna a que possui os logprobs de tokens mais altos.
  • decoder_input_details (bool, opcional) — Retorna os logprobs e os ids dos tokens de entrada do decodificador. Você deve definir details=True também para que seja levado em consideração. O padrão é False.
  • do_sample (bool, opcional) — Ativa a amostragem de logits
  • frequency_penalty (float, opcional) — Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base na sua frequência existente no texto até o momento, diminuindo a probabilidade do modelo de repetir a mesma linha literalmente.
  • grammar (TextGenerationInputGrammarType, opcional) — Restrições de gramática. Pode ser um JSONSchema ou uma expressão regular.
  • max_new_tokens (int, opcional) — Número máximo de tokens gerados. O valor padrão é 100.
  • repetition_penalty (float, opcional) — O parâmetro para a penalidade de repetição. 1.0 significa sem penalidade. Veja este artigo para mais detalhes.
  • return_full_text (bool, opcional) — Se deve anteceder o prompt ao texto gerado
  • seed (int, opcional) — Semente para amostragem aleatória
  • stop (list[str], opcional) — Pare de gerar tokens se um membro de stop for gerado.
  • temperature (float, opcional) — O valor usado para modular a distribuição dos logits.
  • top_n_tokens (int, opcional) — Retorna informações sobre os top_n_tokens tokens mais prováveis em cada etapa de geração, em vez de apenas o token amostrado.
  • top_k (int, *opcional`) — O número de tokens do vocabulário com maior probabilidade a serem mantidos para o filtro 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, *opcional`) — Trunca os tokens de entrada para o tamanho especificado.
  • typical_p (float, *opcional`) — Massa do Typical Decoding Veja Typical Decoding for Natural Language Generation para mais informações
  • watermark (bool, opcional) — Marca d'água com A Watermark for Large Language Models

Retorna

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

Texto gerado retornado pelo servidor:

  • se stream=False e details=False, o texto gerado é retornado como str (padrão)
  • se stream=True e details=False, o texto gerado é retornado token por token como um Iterable[str]
  • se stream=False e details=True, o texto gerado é retornado com mais detalhes como um TextGenerationOutput
  • se details=True e stream=True, o texto gerado é retornado token por token como um iterável de TextGenerationStreamOutput

Exceções

ValidationError ou InferenceTimeoutError ou HfHubHTTPError

  • ValidationError — Se os valores de entrada não forem válidos. Nenhuma chamada HTTP é feita ao servidor.
  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Dado um prompt, gere o texto a seguir.

Se você deseja gerar uma resposta a partir de mensagens de chat, deve usar o método InferenceClient.chat_completion(). Ele aceita uma lista de mensagens em vez de um único prompt de texto e trata o modelamento de chat para você.

Exemplo:

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

Parâmetros

  • prompt (str) — O prompt para gerar uma imagem.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de imagem.
  • height (int, opcional) — A altura em pixels da imagem de saída
  • width (int, opcional) — A largura em pixels da imagem de saída
  • num_inference_steps (int, opcional) — O número de etapas de desruido. Mais etapas de desruido geralmente resultam em uma imagem de maior qualidade, em detrimento de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Um valor de escala de orientação mais alto incentiva o modelo a gerar imagens fortemente ligadas ao prompt de texto, mas valores muito altos podem causar saturação e outros artefatos.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para imagem recomendado por padrão será usado. Padrão: None.
  • scheduler (str, opcional) — Substitui o agendador por um compatível.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

Image

A imagem gerada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere uma imagem com base em um texto fornecido usando um modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo usando o provedor Replicate com parâmetros extras

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

Parâmetros

  • text (str) — O texto a ser sintetizado.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para fala recomendado por padrão será usado. Padrão: None.
  • do_sample (bool, opcional) — Se deve usar amostragem em vez de decodificação gulosa ao gerar novos tokens.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"], opcional) — Controla a condição de parada para métodos baseados em beam.
  • epsilon_cutoff (float, opcional) — Se definido como um float estritamente entre 0 e 1, apenas tokens com probabilidade condicional maior que epsilon_cutoff serão amostrados. No artigo, os valores sugeridos variam de 3e-4 a 9e-4, dependendo do tamanho do modelo. Consulte Truncation Sampling as Language Model Desmoothing para mais detalhes.
  • eta_cutoff (float, opcional) — A amostragem Eta é um híbrido da amostragem localmente típica e da amostragem epsilon. Se definido como um float estritamente entre 0 e 1, um token só é considerado se for maior que eta_cutoff ou sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). O segundo termo é, intuitivamente, a probabilidade esperada do próximo token, escalada por sqrt(eta_cutoff). No artigo, os valores sugeridos variam de 3e-4 a 2e-3, dependendo do tamanho do modelo. Consulte Truncation Sampling as Language Model Desmoothing para mais detalhes.
  • max_length (int, opcional) — O comprimento máximo (em tokens) do texto gerado, incluindo a entrada.
  • max_new_tokens (int, opcional) — O número máximo de tokens a serem gerados. Tem precedência sobre max_length.
  • min_length (int, opcional) — O comprimento mínimo (em tokens) do texto gerado, incluindo a entrada.
  • min_new_tokens (int, opcional) — O número mínimo de tokens a serem gerados. Tem precedência sobre min_length.
  • num_beam_groups (int, opcional) — Número de grupos para dividir num_beams, a fim de garantir diversidade entre diferentes grupos de feixes. Veja este artigo para mais detalhes.
  • num_beams (int, opcional) — Número de feixes a serem usados na busca por feixes.
  • penalty_alpha (float, opcional) — O valor equilibra a confiança do modelo e a penalidade de degeneração na decodificação de busca contrastiva.
  • temperature (float, opcional) — O valor usado para modular as probabilidades do próximo token.
  • top_k (int, opcional) — O número de tokens do vocabulário com maior probabilidade a serem mantidos para o filtro top-k.
  • top_p (float, opcional) — Se definido para um float < 1, apenas o menor conjunto de tokens mais prováveis, cujas probabilidades somadas sejam iguais ou superiores a top_p, é mantido para a geração.
  • typical_p (float, opcional) — A tipicidade local mede o quão semelhante é a probabilidade condicional de prever o próximo token alvo à probabilidade condicional esperada de prever um token aleatório a seguir, dado o texto parcial já gerado. Se definido como float < 1, o menor conjunto de tokens mais localmente típicos com probabilidades que somam typical_p ou mais é mantido para a geração. Veja este artigo para mais detalhes.
  • use_cache (bool, opcional) — Se o modelo deve usar as atenções de chaves/valores passadas para acelerar a decodificação
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

bytes

O áudio gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Sintetize um áudio de uma voz pronunciando um texto dado.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

Exemplo usando um provedor de terceiros diretamente. O uso será cobrado na sua conta do Replicate.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo de geração de música usando “YuE-s1-7B-anneal-en-cot” no 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

Parâmetros

  • prompt (str) — O prompt para gerar um vídeo.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para vídeo recomendado por padrão será usado. Padrão: None.
  • guidance_scale (float, opcional) — Um valor de escala de orientação mais alto incentiva o modelo a gerar vídeos estreitamente ligados ao prompt de texto, mas valores muito altos podem causar saturação e outros artefatos.
  • negative_prompt (list[str], opcional) — Um ou vários prompts para orientar o que NÃO incluir na geração de vídeo.
  • num_frames (float, opcional) — O parâmetro num_frames determina quantos quadros de vídeo são gerados.
  • num_inference_steps (int, opcional) — O número de etapas de desruidamento. Mais etapas de desruidamento geralmente resultam em um vídeo de maior qualidade, à custa de uma inferência mais lenta.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

bytes

O vídeo gerado.

Gere um vídeo com base em um texto fornecido.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

Exemplo usando um provedor de terceiros diretamente. O uso será cobrado na sua conta do fal.ai.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

token_classification

< >

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

Parâmetros

  • text (str) — Uma string a ser classificada.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação de tokens. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação de tokens recomendado por padrão será usado. O valor padrão é None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy", opcional) — A estratégia usada para fundir tokens com base nas previsões do modelo
  • ignore_labels (list[str, opcional) — Uma lista de rótulos a serem ignorados
  • stride (int, opcional) — O número de tokens sobrepostos entre os blocos ao dividir o texto de entrada.

Retorna

list[TokenClassificationOutputElement]

Lista de itens TokenClassificationOutputElement contendo o grupo de entidade, a pontuação de confiança, a palavra e os índices de início e fim.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de tokens no texto fornecido. Normalmente usado para análise de sentenças, seja gramatical, seja Reconhecimento de Entidades Nomeadas (NER), para entender as palavras-chave contidas no texto.

Exemplo:

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

tradução

< >

( 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

Parâmetros

  • text (str) — Uma string a ser traduzida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de tradução. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de tradução recomendado por padrão será usado. Padrão: None.
  • src_lang (str, opcional) — O idioma de origem do texto. Obrigatório para modelos que podem traduzir de vários idiomas.
  • tgt_lang (str, opcional) — Idioma de destino para a tradução. Obrigatório para modelos que podem traduzir para vários idiomas.
  • clean_up_tokenization_spaces (bool, opcional) — Se deve limpar os espaços extras potenciais na saída de texto.
  • truncation ("TranslationTruncationStrategy", opcional) — A estratégia de truncamento a ser utilizada.
  • generate_parameters (dict[str, Any], opcional) — Parametrização adicional do algoritmo de geração de texto.

O texto traduzido gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError ou ValueError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.
  • ValueError — Se apenas um dos argumentos src_lang e tgt_lang for fornecido.

Converta texto de um idioma para outro.

Confira https://huggingface.co/tasks/translation para mais informações sobre como escolher o melhor modelo para o seu caso de uso específico. Os idiomas de origem e de destino geralmente dependem do modelo. No entanto, é possível especificar os idiomas de origem e de destino para certos modelos. Se você estiver trabalhando com um desses modelos, pode usar os argumentos src_lang e tgt_lang para passar as informações relevantes.

Exemplo:

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

Especificando idiomas:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image for the context. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • question (str) — Pergunta a ser respondida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de resposta a perguntas visuais. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de resposta a perguntas visuais recomendado por padrão será usado. O valor padrão é None.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Observe que retornamos menos respostas do que top_k se não houver opções suficientes disponíveis no contexto.

Retorna

list[VisualQuestionAnsweringOutputElement]

uma lista de itens VisualQuestionAnsweringOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Responder a perguntas abertas com base em uma imagem.

Exemplo:

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

Parâmetros

  • text (str) — O texto de entrada a ser classificado.
  • candidate_labels (list[str]) — O conjunto de rótulos de classe possíveis para classificar o texto.
  • multi_label (bool, opcional) — Se múltiplos rótulos candidatos podem ser verdadeiros. Se for falso, as pontuações são normalizadas de modo que a soma das probabilidades dos rótulos para cada sequência seja 1. Se for verdadeiro, os rótulos são considerados independentes e as probabilidades são normalizadas para cada candidato.
  • hypothesis_template (str, opcional) — A frase usada em conjunto com candidate_labels para tentar a classificação de texto, substituindo o marcador de posição pelos rótulos candidatos.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. Se não for fornecido, o modelo de classificação zero-shot recomendado por padrão será usado.

Retorna

list[ZeroShotClassificationOutputElement]

Lista de itens ZeroShotClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Forneça como entrada um texto e um conjunto de rótulos candidatos para classificar o texto de entrada.

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

Exemplo com multi_label=True e um hypothesis_template personalizado:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image to caption. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • candidate_labels (list[str]) — Os rótulos candidatos para esta imagem
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. Se não for fornecido, o modelo de classificação de imagem zero-shot recomendado por padrão será usado.
  • hypothesis_template (str, opcional) — A frase usada em conjunto com candidate_labels para tentar a classificação de imagem, substituindo o placeholder pelos rótulos candidatos.

Retorna

list[ZeroShotImageClassificationOutputElement]

Lista de itens ZeroShotImageClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Forneça uma imagem de entrada e rótulos de texto para prever os rótulos de texto da imagem.

Exemplo:

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

Cliente de Inferência Assíncrona

Também é fornecida uma versão assíncrona do cliente, baseada em asyncio e httpx2.

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

Parâmetros

  • model (str, optional) — O modelo para executar a inferência. Pode ser um id de modelo hospedado no Hugging Face Hub, por exemplo meta-llama/Meta-Llama-3-8B-Instruct ou uma URL para um Inference Endpoint implantado. O padrão é None, caso em que um modelo recomendado é selecionado automaticamente para a tarefa. Observação: para melhor compatibilidade com o cliente da OpenAI, model foi aliasado como base_url. Esses 2 argumentos são mutuamente exclusivos. Se uma URL for passada como model ou base_url para chat completion, o sufixo de caminho (/v1)/chat/completions será anexado à URL.
  • provider (str, opcional) — Nome do provedor a ser usado para inferência. Pode ser "baseten", "cerebras", "cohere", "deepinfra", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "scaleway", "together", "wavespeed" ou "zai-org". Padrão é “auto”: roteamento automático, que por padrão usa o provedor “fastest”; você pode alternar para a ordem de provedores “cheapest” ou “preferred” em https://hf.co/settings/inference-providers. Se o modelo for uma URL ou base_url for passado, então provider não é usado.
  • token (str, opcional) — Token do Hugging Face. Se não for fornecido, será usado o token salvo localmente. Observação: para melhor compatibilidade com o cliente da OpenAI, token foi aliasado como api_key. Esses 2 argumentos são mutuamente exclusivos e têm exatamente o mesmo comportamento.
  • timeout (float, optional) — O número máximo de segundos para aguardar uma resposta do servidor. O valor padrão é None, o que significa que o processo entrará em um loop até que o servidor esteja disponível.
  • headers (dict[str, str], optional) — Cabeçalhos adicionais a enviar para o servidor. Por padrão, apenas os cabeçalhos de autorização e user-agent são enviados. Os valores neste dicionário substituirão os valores padrão.
  • bill_to (str, optional) — A conta de faturamento a ser usada para as solicitações. Por padrão, as solicitações são faturadas na conta do usuário. As solicitações só podem ser faturadas para uma organização da qual o usuário é membro e que tenha assinado o Enterprise Hub.
  • cookies (dict[str, str], optional) — Cookies adicionais para enviar ao servidor.
  • base_url (str, optional) — URL base para executar inferência. Este é um argumento duplicado de model para fazer o InferenceClient seguir o mesmo padrão do cliente openai.OpenAI. Não pode ser usado se model estiver definido. O valor padrão é None.
  • api_key (str, optional) — Token to use for authentication. This is a duplicated argument from token to make InferenceClient follow the same pattern as openai.OpenAI client. Cannot be used if token is set. Defaults to None.

Inicialize um novo Inference Client.

InferenceClient visa fornecer uma experiência unificada para executar inferência. O cliente pode ser usado de forma transparente com a Inference API (gratuita), Inference Endpoints auto-hospedados ou Inference Providers de terceiros.

classificação de áudio

< >

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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo de áudio a ser classificado. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL apontando para um arquivo de áudio.
  • model (str, opcional) — O modelo a ser usado para classificação de áudio. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para classificação de áudio será utilizado.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.
  • function_to_apply ("AudioClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.

Retorna

list[AudioClassificationOutputElement]

Lista de itens AudioClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de áudio no conteúdo de áudio fornecido.

Exemplo:

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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo de áudio para o modelo. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL apontando para um arquivo de áudio.
  • model (str, opcional) — O modelo pode ser qualquer modelo que receba um arquivo de áudio e retorne outro arquivo de áudio. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para audio_to_audio será utilizado.

Retorna

list[AudioToAudioOutputElement]

Uma lista de itens AudioToAudioOutputElement contendo rótulo de áudio, tipo de conteúdo e conteúdo de áudio em blob.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Executa várias tarefas relacionadas a áudio-para-áudio, dependendo do modelo (por exemplo: aprimoramento de fala, separação de fontes).

Exemplo:

# 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

Parâmetros

  • audio (Union[str, Path, bytes, BinaryIO]) — O conteúdo a ser transcrito. Pode ser bytes de áudio brutos, um arquivo de áudio local ou uma URL para um arquivo de áudio.
  • model (str, opcional) — O modelo a ser usado para ASR. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para ASR será utilizado.
  • extra_body (dict, opcional) — Parâmetros específicos do provedor adicionais para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Um item contendo o texto transcrito e, opcionalmente, os blocos de timestamp.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Execute o reconhecimento automático de fala (ASR ou áudio-para-texto) no conteúdo de áudio fornecido.

Exemplo:

# 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

Parâmetros

  • messages (Lista de ChatCompletionInputMessage) — Histórico da conversa composto por pares de papéis e conteúdo.
  • model (str, opcional) — O modelo a ser usado para chat-completion. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para geração de texto baseada em chat será utilizado. Veja https://huggingface.co/tasks/text-generation para mais detalhes. Se model for um ID de modelo, ele é enviado ao servidor como o parâmetro model. Se você deseja definir uma URL personalizada ao configurar model no payload da solicitação, você deve definir base_url ao inicializar InferenceClient.
  • frequency_penalty (float, opcional) — Penaliza novos tokens com base na frequência existente no texto até o momento. Intervalo: [-2.0, 2.0]. Padrão: 0.0.
  • logit_bias (list[float], opcional) — Ajusta a probabilidade de tokens específicos aparecerem na saída gerada.
  • logprobs (bool, opcional) — Se as probabilidades logarítmicas dos tokens de saída devem ser retornadas ou não. Se verdadeiro, retorna as probabilidades logarítmicas de cada token de saída retornado no conteúdo da mensagem.
  • max_tokens (int, opcional) — Número máximo de tokens permitidos na resposta. O valor padrão é 100.
  • n (int, opcional) — O número de conclusões a serem geradas para cada prompt.
  • presence_penalty (float, opcional) — Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base em sua ocorrência no texto até o momento, aumentando a probabilidade de o modelo abordar novos tópicos.
  • response_format (ChatCompletionInputGrammarType(), opcional) — Restrições de gramática. Pode ser um JSONSchema ou uma regex.
  • seed (Opcionalint, optional) — Semente para fluxo de controle reproduzível. O padrão é None.
  • stop (list[str], opcional) — Até quatro strings que acionam o fim da resposta. Padrão: None.
  • stream (bool, opcional) — Ativa o streaming em tempo real das respostas. O valor padrão é False.
  • stream_options (ChatCompletionInputStreamOptions, opcional) — Opções para streaming de completions.
  • temperature (float, opcional) — Controla a aleatoriedade das gerações. Valores menores garantem completamentos menos aleatórios. Intervalo: [0, 2]. Padrão: 1.0.
  • top_logprobs (int, opcional) — Um inteiro entre 0 e 5 que especifica o número de tokens mais prováveis a serem retornados em cada posição de token, cada um com uma probabilidade log associada. logprobs deve ser definido como true se este parâmetro for usado.
  • top_p (float, opcional) — Fração das próximas palavras mais prováveis a serem amostradas. Deve estar entre 0 e 1. O valor padrão é 1.0.
  • tool_choice (ChatCompletionInputToolChoiceClass ou ChatCompletionInputToolChoiceEnum(), opcional) — A ferramenta a ser usada para a conclusão. O padrão é “auto”.
  • tool_prompt (str, opcional) — Um prompt a ser adicionado antes das ferramentas.
  • tools (Lista de ChatCompletionInputTool, opcional) — Uma lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramenta. Use isso para fornecer uma lista de funções para as quais o modelo pode gerar entradas JSON.
  • extra_body (dict, opcional) — Parâmetros específicos do provedor adicionais para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Texto gerado retornado pelo servidor:

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Um método para completar conversas usando um modelo de linguagem especificado.

O método client.chat_completion é um alias de client.chat.completions.create para compatibilidade com o cliente da OpenAI. As entradas e saídas são estritamente as mesmas e o uso de qualquer uma das sintaxes produzirá os mesmos resultados. Consulte o Guia de inferência para mais detalhes sobre a compatibilidade com a OpenAI.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

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

Exemplo usando a sintaxe da 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)

Exemplo de uso de um provedor de terceiros diretamente com parâmetros extras (específicos do provedor). O uso será cobrado na sua conta do Together AI.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo usando Imagem + Texto como entrada:

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

Exemplo usando ferramentas:

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

Exemplo usando 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"}'

fechar

< >

( )

Feche o cliente.

Este método é chamado automaticamente ao usar o cliente como um gerenciador de contexto.

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]

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO]) — A imagem de entrada para o contexto. Pode ser bytes brutos, um arquivo de imagem ou uma URL para uma imagem online.
  • question (str) — Pergunta a ser respondida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de question answering de documentos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de question answering de documentos recomendado por padrão será usado. O valor padrão é None.
  • doc_stride (int, opcional) — Se as palavras do documento forem longas demais para caber junto com a pergunta para o modelo, ele será dividido em vários blocos com alguma sobreposição. Este argumento controla o tamanho dessa sobreposição.
  • handle_impossible_answer (bool, opcional) — Se aceitar "impossível" como resposta
  • lang (str, opcional) — Idioma a ser usado durante a execução do OCR. O padrão é inglês.
  • max_answer_len (int, opcional) — O comprimento máximo das respostas previstas (por exemplo, apenas respostas com comprimento menor são consideradas).
  • max_question_len (int, opcional) — O comprimento máximo da pergunta após a tokenização. Será truncado, se necessário.
  • max_seq_len (int, opcional) — O comprimento máximo da frase total (contexto + pergunta) em tokens de cada bloco passado ao modelo. O contexto será dividido em vários blocos (usando doc_stride como sobreposição), se necessário.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Pode retornar menos respostas que top_k se não houver opções suficientes disponíveis no contexto.
  • word_boxes (list[Union[list[float], str, opcional) — Uma lista de palavras e caixas delimitadoras (normalizadas de 0->1000). Se fornecida, a inferência ignorará a etapa de OCR e usará as caixas delimitadoras fornecidas.

Retorna

list[DocumentQuestionAnsweringOutputElement]

uma lista de itens DocumentQuestionAnsweringOutputElement contendo o rótulo previsto, a probabilidade associada, os ids das palavras e o número da página.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Responda perguntas sobre imagens de documentos.

Exemplo:

# 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

Parâmetros

  • text (str ou list[str]) — O texto ou lista de textos a serem incorporados.
  • model (str, opcional) — O modelo a ser usado para a tarefa de extração de recursos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de extração de recursos recomendado por padrão será usado. O valor padrão é None.
  • normalize (bool, opcional) — Se as incorporações devem ser normalizadas ou não. Disponível apenas em servidores alimentados por Text-Embedding-Inference.
  • prompt_name (str, opcional) — O nome do prompt que deve ser usado para a codificação. Se não for definido, nenhum prompt será aplicado. Deve ser uma chave no dicionário prompts da configuração do Sentence Transformers. Por exemplo, se prompt_name for “query” e o prompts for {“query”: “query: ”,…}, a frase “What is the capital of France?” será codificada como “query: What is the capital of France?” porque o texto do prompt será adicionado antes de qualquer texto a ser codificado.
  • truncate (bool, opcional) — Se as incorporações devem ser truncadas ou não. Disponível apenas em servidores alimentados por Text-Embedding-Inference.
  • truncation_direction (Literal[“left”, “right”], opcional) — Qual lado da entrada deve ser truncado quando truncate=True é passado.
  • dimensions (int, opcional) — O número de dimensões que as embeddings de saída resultantes devem ter. Disponível apenas em endpoints de embedding compatíveis com a OpenAI.
  • encoding_format (Literal[“float”, “base64”], opcional) — O formato dos embeddings de saída. Pode ser “float” ou “base64”. Disponível apenas em endpoints de embedding compatíveis com a OpenAI.

Retorna

np.ndarray

O embedding que representa o(s) texto(s) de entrada como um array numpy float32.

Exceções

[InferenceTimeoutError] ou [HfHubHTTPError]

  • [InferenceTimeoutError] — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • [HfHubHTTPError] — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere embeddings para um texto ou lote de textos específico.

Exemplo:

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

Parâmetros

  • text (str) — uma string para ser preenchida, deve conter o token [MASK] (consulte o cartão do modelo para o nome exato da máscara).
  • model (str, opcional) — O modelo a ser usado para a tarefa de fill mask. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de fill mask recomendado por padrão será usado.
  • targets (list[str, opcional) — Quando fornecido, o modelo limitará as pontuações aos alvos passados, em vez de procurar em todo o vocabulário. Se os alvos fornecidos não estiverem no vocabulário do modelo, eles serão tokenizados e o primeiro token resultante será usado (com um aviso, e isso pode ser mais lento).
  • top_k (int, opcional) — Quando informado, substitui o número de previsões a serem retornadas.

Retorna

list[FillMaskOutputElement]

uma lista de itens FillMaskOutputElement contendo o rótulo previsto, a probabilidade associada, a referência do token e o texto completado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Preencha um espaço com uma palavra ausente (mais precisamente, um token).

Exemplo:

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

Parâmetros

  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

Retorna

dict[str, Any]

Informações sobre o endpoint.

Obtenha informações sobre o endpoint implantado.

Este endpoint está disponível apenas em endpoints alimentados por Text-Generation-Inference (TGI) ou Text-Embedding-Inference (TEI). Endpoints alimentados por transformers retornam um payload vazio.

Exemplo:

# 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

Parâmetros

  • model (str, opcional) — URL do Inference Endpoint. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

Retorna

bool

Verdadeiro se tudo estiver funcionando corretamente.

Verifique a saúde do endpoint implantado.

O Health check está disponível apenas com Inference Endpoints powered by Text-Generation-Inference (TGI) ou Text-Embedding-Inference (TEI).

Exemplo:

# 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

classificação_de_imagens

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to classify. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para classificação de imagens. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para classificação de imagens será utilizado.
  • function_to_apply ("ImageClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.

Retorna

list[ImageClassificationOutputElement]

uma lista de itens ImageClassificationOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de imagem na imagem fornecida usando o modelo especificado.

Exemplo:

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

segmentação_de_imagem

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to segment. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para segmentação de imagem. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para segmentação de imagem será utilizado.
  • mask_threshold (float, opcional) — Limiar a ser usado ao converter as máscaras previstas em valores binários.
  • overlap_mask_area_threshold (float, opcional) — Limiar de sobreposição de máscaras para eliminar segmentos pequenos e desconectados.
  • subtask ("ImageSegmentationSubtask", opcional) — Tarefa de segmentação a ser executada, dependendo das capacidades do modelo.
  • threshold (float, opcional) — Limiar de probabilidade para filtrar máscaras previstas.

Retorna

list[ImageSegmentationOutputElement]

Uma lista de itens ImageSegmentationOutputElement contendo as máscaras segmentadas e os atributos associados.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a segmentação de imagem na imagem fornecida usando o modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

# 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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image for translation. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • prompt (str, opcional) — O prompt de texto para orientar a geração da imagem.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de imagem.
  • num_inference_steps (int, opcional) — Para modelos de difusão. O número de etapas de remoção de ruído. Mais etapas de remoção de ruído geralmente resultam em uma imagem de maior qualidade, às custas de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Para modelos de difusão. Um valor de escala de orientação mais alto incentiva o modelo a gerar imagens fortemente ligadas ao prompt de texto, em detrimento da qualidade da imagem.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • target_size (ImageToImageTargetSize, opcional) — O tamanho em pixels da imagem de saída. Este parâmetro é suportado apenas por alguns provedores e para modelos específicos. Ele será ignorado quando não for suportado.

Retorna

Image

A imagem traduzida.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a tradução de imagem para imagem usando um modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

# 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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image to caption. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.

O texto gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Recebe uma imagem de entrada e retorna texto.

Os modelos podem ter saídas muito diferentes dependendo do seu caso de uso (legendagem de imagens, reconhecimento óptico de caracteres (OCR), Pix2Struct, etc.). Consulte o cartão do modelo para saber mais sobre as especificidades de um modelo.

Exemplo:

# 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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — Imagem de entrada para gerar um vídeo. Pode ser bytes brutos, um arquivo de imagem, uma URL para uma imagem online ou uma imagem PIL.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • prompt (str, opcional) — O prompt de texto para orientar a geração do vídeo.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de vídeo.
  • num_frames (float, opcional) — O parâmetro num_frames determina quantos quadros de vídeo são gerados.
  • num_inference_steps (int, opcional) — Para modelos de difusão. O número de etapas de remoção de ruído. Mais etapas de remoção de ruído geralmente resultam em uma imagem de maior qualidade, às custas de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Para modelos de difusão. Um valor de escala de orientação mais alto incentiva o modelo a gerar vídeos estreitamente vinculados ao prompt de texto, em detrimento de uma menor qualidade de imagem.
  • seed (int, opcional) — A semente a ser usada para a geração do vídeo.
  • target_size (ImageToVideoTargetSize, opcional) — O tamanho, em pixels, dos quadros do vídeo de saída.
  • num_inference_steps (int, opcional) — O número de etapas de desruidamento. Mais etapas de desruidamento geralmente resultam em um vídeo de maior qualidade, à custa de uma inferência mais lenta.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.

Retorna

bytes

O vídeo gerado.

Gere um vídeo a partir de uma imagem de entrada.

Exemplos:

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

object_detection

< >

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The image to detect objects on. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • model (str, opcional) — O modelo a ser usado para detecção de objetos. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para detecção de objetos (DETR) será utilizado.
  • threshold (float, opcional) — A probabilidade necessária para fazer uma previsão.

Retorna

list[ObjectDetectionOutputElement]

Uma lista de itens ObjectDetectionOutputElement contendo as caixas delimitadoras e os atributos associados.

Exceções

InferenceTimeoutError ou HfHubHTTPError ou ValueError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.
  • ValueError — Se a saída da solicitação não for uma List.

Realize a detecção de objetos na imagem fornecida usando o modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Exemplo:

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

Parâmetros

  • question (str) — Pergunta a ser respondida.
  • context (str) — O contexto da pergunta.
  • model (str) — O modelo a ser usado para a tarefa de resposta a perguntas. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado.
  • align_to_words (bool, opcional) — Tenta alinhar a resposta a palavras reais. Melhora a qualidade em idiomas separados por espaços. Pode prejudicar em idiomas não separados por espaços (como japonês ou chinês)
  • doc_stride (int, opcional) — Se o contexto for longo demais para caber junto com a pergunta para o modelo, ele será dividido em vários blocos com alguma sobreposição. Este argumento controla o tamanho dessa sobreposição.
  • handle_impossible_answer (bool, opcional) — Se aceitar "impossível" como resposta.
  • max_answer_len (int, opcional) — O comprimento máximo das respostas previstas (por exemplo, apenas respostas com comprimento menor são consideradas).
  • max_question_len (int, opcional) — O comprimento máximo da pergunta após a tokenização. Será truncado, se necessário.
  • max_seq_len (int, opcional) — O comprimento máximo da frase total (contexto + pergunta) em tokens de cada bloco passado para o modelo. O contexto será dividido em vários blocos (usando docStride como sobreposição), se necessário.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Observe que retornamos menos respostas do que top_k se não houver opções suficientes disponíveis no contexto.

Retorna

Union[QuestionAnsweringOutputElement, listQuestionAnsweringOutputElement]

When top_k is 1 or not provided, it returns a single QuestionAnsweringOutputElement. When top_k is greater than 1, it returns a list of QuestionAnsweringOutputElement.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Obter a resposta para uma pergunta a partir de um texto fornecido.

Exemplo:

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

similaridade_de_sentenca

< >

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

Parâmetros

  • sentence (str) — A frase principal para comparação com as outras.
  • other_sentences (list[str]) — A lista de frases para comparação.
  • model (str, opcional) — O modelo a ser usado para a tarefa de similaridade de sentenças. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de similaridade de sentenças recomendado por padrão será usado. O valor padrão é None.

Retorna

list[float]

O embedding que representa o texto de entrada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Calcule a similaridade semântica entre uma frase e uma lista de outras frases comparando seus embeddings.

Exemplo:

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

resumo

< >

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

Parâmetros

  • text (str) — O texto de entrada a ser resumido.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo recomendado por padrão para sumarização será utilizado.
  • clean_up_tokenization_spaces (bool, opcional) — Se deve limpar os espaços extras potenciais na saída de texto.
  • generate_parameters (dict[str, Any], opcional) — Parametrização adicional do algoritmo de geração de texto.
  • truncation ("SummarizationTruncationStrategy", opcional) — A estratégia de truncamento a ser utilizada.

O texto do resumo gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere um resumo de um texto específico usando um modelo designado.

Exemplo:

# 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

Parâmetros

  • table (str) — Uma tabela de dados representada como um dict de listas, em que as entradas são os cabeçalhos e as listas contêm todos os valores; todas as listas devem ter o mesmo tamanho.
  • query (str) — A consulta em texto simples que você deseja fazer à tabela.
  • model (str) — O modelo a ser usado para a tarefa de resposta a perguntas sobre tabelas. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado.
  • padding ("Padding", opcional) — Ativa e controla o padding.
  • sequential (bool, opcional) — Se a inferência deve ser feita sequencialmente ou em lote. O processamento em lote é mais rápido, mas modelos como SQA exigem que a inferência seja realizada sequencialmente para extrair relações dentro das sequências, dada sua natureza conversacional.
  • truncation (bool, opcional) — Ativa e controla a truncagem.

uma saída de question answering de tabela contendo a resposta, as coordenadas, as células e o agregador utilizado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Obter a resposta para uma pergunta a partir de informações fornecidas em uma tabela.

Exemplo:

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

classificação_tabular

< >

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

Parâmetros

  • table (dict[str, Any]) — Conjunto de atributos a serem classificados.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação tabular. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação tabular recomendado por padrão será usado. O valor padrão é None.

Retorna

List

uma lista de rótulos, um para cada linha na tabela inicial.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Classificar uma categoria-alvo (um grupo) com base em um conjunto de atributos.

Exemplo:

# 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

Parâmetros

  • table (dict[str, Any]) — Conjunto de atributos armazenados em uma tabela. Os atributos usados para prever o alvo podem ser numéricos e categóricos.
  • model (str, opcional) — O modelo a ser usado para a tarefa de regressão tabular. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de regressão tabular recomendado por padrão será utilizado. O valor padrão é None.

Retorna

List

uma lista de valores numéricos de alvo previstos.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Prever um valor numérico de destino dado um conjunto de atributos/recursos em uma tabela.

Exemplo:

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

classificação_de_texto

< >

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

Parâmetros

  • text (str) — Uma string a ser classificada.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação de texto. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação de texto recomendado por padrão será usado. O valor padrão é None.
  • top_k (int, opcional) — Quando especificado, limita a saída às K classes mais prováveis.
  • function_to_apply ("TextClassificationOutputTransform", opcional) — A função a ser aplicada às saídas do modelo para recuperar as pontuações.

Retorna

list[TextClassificationOutputElement]

uma lista de itens TextClassificationOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de texto (por exemplo, análise de sentimento) no texto fornecido.

Exemplo:

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

Parâmetros

  • prompt (str) — Texto de entrada.
  • details (bool, opcional) — Por padrão, text_generation retorna uma string. Passe details=True se você quiser uma saída detalhada (tokens, probabilidades, seed, motivo de término, etc.). Disponível apenas para modelos executados com o backend text-generation-inference.
  • stream (bool, opcional) — Por padrão, text_generation retorna o texto gerado completo. Passe stream=True se você quiser que um fluxo de tokens seja retornado. Disponível apenas para modelos executados com o backend text-generation-inference.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. O valor padrão é None.
  • adapter_id (str, opcional) — ID do adaptador Lora.
  • best_of (int, opcional) — Gera best_of sequências e retorna a que possui os logprobs de tokens mais altos.
  • decoder_input_details (bool, opcional) — Retorna os logprobs e os ids dos tokens de entrada do decodificador. Você deve definir details=True também para que seja levado em consideração. O padrão é False.
  • do_sample (bool, opcional) — Ativa a amostragem de logits
  • frequency_penalty (float, opcional) — Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base na sua frequência existente no texto até o momento, diminuindo a probabilidade do modelo de repetir a mesma linha literalmente.
  • grammar (TextGenerationInputGrammarType, opcional) — Restrições de gramática. Pode ser um JSONSchema ou uma expressão regular.
  • max_new_tokens (int, opcional) — Número máximo de tokens gerados. O valor padrão é 100.
  • repetition_penalty (float, opcional) — O parâmetro para a penalidade de repetição. 1.0 significa sem penalidade. Veja este artigo para mais detalhes.
  • return_full_text (bool, opcional) — Se deve anteceder o prompt ao texto gerado
  • seed (int, opcional) — Semente para amostragem aleatória
  • stop (list[str], opcional) — Pare de gerar tokens se um membro de stop for gerado.
  • temperature (float, opcional) — O valor usado para modular a distribuição dos logits.
  • top_n_tokens (int, opcional) — Retorna informações sobre os top_n_tokens tokens mais prováveis em cada etapa de geração, em vez de apenas o token amostrado.
  • top_k (int, *opcional`) — O número de tokens do vocabulário com maior probabilidade a serem mantidos para o filtro 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, *opcional`) — Trunca os tokens de entrada para o tamanho especificado.
  • typical_p (float, *opcional`) — Massa do Typical Decoding Veja Typical Decoding for Natural Language Generation para mais informações
  • watermark (bool, opcional) — Marca d'água com A Watermark for Large Language Models

Retorna

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

Texto gerado retornado pelo servidor:

  • se stream=False e details=False, o texto gerado é retornado como str (padrão)
  • se stream=True e details=False, o texto gerado é retornado token por token como um AsyncIterable[str]
  • se stream=False e details=True, o texto gerado é retornado com mais detalhes como um TextGenerationOutput
  • se details=True e stream=True, o texto gerado é retornado token por token como um iterável de TextGenerationStreamOutput

Exceções

ValidationError ou InferenceTimeoutError ou HfHubHTTPError

  • ValidationError — Se os valores de entrada não forem válidos. Nenhuma chamada HTTP é feita ao servidor.
  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Dado um prompt, gere o texto a seguir.

Se você deseja gerar uma resposta a partir de mensagens de chat, deve usar o método InferenceClient.chat_completion(). Ele aceita uma lista de mensagens em vez de um único prompt de texto e trata o modelamento de chat para você.

Exemplo:

# 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

Parâmetros

  • prompt (str) — O prompt para gerar uma imagem.
  • negative_prompt (str, opcional) — Um prompt para orientar o que NÃO incluir na geração de imagem.
  • height (int, opcional) — A altura em pixels da imagem de saída
  • width (int, opcional) — A largura em pixels da imagem de saída
  • num_inference_steps (int, opcional) — O número de etapas de desruido. Mais etapas de desruido geralmente resultam em uma imagem de maior qualidade, em detrimento de uma inferência mais lenta.
  • guidance_scale (float, opcional) — Um valor de escala de orientação mais alto incentiva o modelo a gerar imagens fortemente ligadas ao prompt de texto, mas valores muito altos podem causar saturação e outros artefatos.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para imagem recomendado por padrão será usado. Padrão: None.
  • scheduler (str, opcional) — Substitui o agendador por um compatível.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

Image

A imagem gerada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Gere uma imagem com base em um texto fornecido usando um modelo especificado.

Você deve ter o PIL instalado se quiser trabalhar com imagens (pip install Pillow).

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo usando o provedor Replicate com parâmetros extras

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

Parâmetros

  • text (str) — O texto a ser sintetizado.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para fala recomendado por padrão será usado. Padrão: None.
  • do_sample (bool, opcional) — Se deve usar amostragem em vez de decodificação gulosa ao gerar novos tokens.
  • early_stopping (Union[bool, "TextToSpeechEarlyStoppingEnum"], opcional) — Controla a condição de parada para métodos baseados em beam.
  • epsilon_cutoff (float, opcional) — Se definido como um float estritamente entre 0 e 1, apenas tokens com probabilidade condicional maior que epsilon_cutoff serão amostrados. No artigo, os valores sugeridos variam de 3e-4 a 9e-4, dependendo do tamanho do modelo. Consulte Truncation Sampling as Language Model Desmoothing para mais detalhes.
  • eta_cutoff (float, opcional) — A amostragem Eta é um híbrido da amostragem localmente típica e da amostragem epsilon. Se definido como um float estritamente entre 0 e 1, um token só é considerado se for maior que eta_cutoff ou sqrt(eta_cutoff)
    • exp(-entropy(softmax(next_token_logits))). O segundo termo é, intuitivamente, a probabilidade esperada do próximo token, escalada por sqrt(eta_cutoff). No artigo, os valores sugeridos variam de 3e-4 a 2e-3, dependendo do tamanho do modelo. Consulte Truncation Sampling as Language Model Desmoothing para mais detalhes.
  • max_length (int, opcional) — O comprimento máximo (em tokens) do texto gerado, incluindo a entrada.
  • max_new_tokens (int, opcional) — O número máximo de tokens a serem gerados. Tem precedência sobre max_length.
  • min_length (int, opcional) — O comprimento mínimo (em tokens) do texto gerado, incluindo a entrada.
  • min_new_tokens (int, opcional) — O número mínimo de tokens a serem gerados. Tem precedência sobre min_length.
  • num_beam_groups (int, opcional) — Número de grupos para dividir num_beams, a fim de garantir diversidade entre diferentes grupos de feixes. Veja este artigo para mais detalhes.
  • num_beams (int, opcional) — Número de feixes a serem usados na busca por feixes.
  • penalty_alpha (float, opcional) — O valor equilibra a confiança do modelo e a penalidade de degeneração na decodificação de busca contrastiva.
  • temperature (float, opcional) — O valor usado para modular as probabilidades do próximo token.
  • top_k (int, opcional) — O número de tokens do vocabulário com maior probabilidade a serem mantidos para o filtro top-k.
  • top_p (float, opcional) — Se definido para um float < 1, apenas o menor conjunto de tokens mais prováveis, cujas probabilidades somadas sejam iguais ou superiores a top_p, é mantido para a geração.
  • typical_p (float, opcional) — A tipicidade local mede o quão semelhante é a probabilidade condicional de prever o próximo token alvo à probabilidade condicional esperada de prever um token aleatório a seguir, dado o texto parcial já gerado. Se definido como float < 1, o menor conjunto de tokens mais localmente típicos com probabilidades que somam typical_p ou mais é mantido para a geração. Veja este artigo para mais detalhes.
  • use_cache (bool, opcional) — Se o modelo deve usar as atenções de chaves/valores passadas para acelerar a decodificação
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

bytes

O áudio gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Sintetize um áudio de uma voz pronunciando um texto dado.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

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

Exemplo usando um provedor de terceiros diretamente. O uso será cobrado na sua conta do Replicate.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

Exemplo de geração de música usando “YuE-s1-7B-anneal-en-cot” no 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

Parâmetros

  • prompt (str) — O prompt para gerar um vídeo.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de texto para vídeo recomendado por padrão será usado. Padrão: None.
  • guidance_scale (float, opcional) — Um valor de escala de orientação mais alto incentiva o modelo a gerar vídeos estreitamente ligados ao prompt de texto, mas valores muito altos podem causar saturação e outros artefatos.
  • negative_prompt (list[str], opcional) — Um ou vários prompts para orientar o que NÃO incluir na geração de vídeo.
  • num_frames (float, opcional) — O parâmetro num_frames determina quantos quadros de vídeo são gerados.
  • num_inference_steps (int, opcional) — O número de etapas de desruidamento. Mais etapas de desruidamento geralmente resultam em um vídeo de maior qualidade, à custa de uma inferência mais lenta.
  • seed (int, opcional) — Semente para o gerador de números aleatórios.
  • extra_body (dict[str, Any], opcional) — Parâmetros adicionais específicos do provedor para passar ao modelo. Consulte a documentação do provedor para os parâmetros suportados.

Retorna

bytes

O vídeo gerado.

Gere um vídeo com base em um texto fornecido.

Você pode passar parâmetros específicos do provedor para o modelo usando o argumento extra_body.

Exemplo:

Exemplo usando um provedor de terceiros diretamente. O uso será cobrado na sua conta do fal.ai.

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

Exemplo usando um provedor de terceiros por meio do Hugging Face Routing. O uso será cobrado na sua conta do Hugging Face.

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

token_classification

< >

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

Parâmetros

  • text (str) — Uma string a ser classificada.
  • model (str, opcional) — O modelo a ser usado para a tarefa de classificação de tokens. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de classificação de tokens recomendado por padrão será usado. O valor padrão é None.
  • aggregation_strategy ("TokenClassificationAggregationStrategy", opcional) — A estratégia usada para fundir tokens com base nas previsões do modelo
  • ignore_labels (list[str, opcional) — Uma lista de rótulos a serem ignorados
  • stride (int, opcional) — O número de tokens sobrepostos entre os blocos ao dividir o texto de entrada.

Retorna

list[TokenClassificationOutputElement]

Lista de itens TokenClassificationOutputElement contendo o grupo de entidade, a pontuação de confiança, a palavra e os índices de início e fim.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Realize a classificação de tokens no texto fornecido. Normalmente usado para análise de sentenças, seja gramatical, seja Reconhecimento de Entidades Nomeadas (NER), para entender as palavras-chave contidas no texto.

Exemplo:

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

tradução

< >

( 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

Parâmetros

  • text (str) — Uma string a ser traduzida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de tradução. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de tradução recomendado por padrão será usado. Padrão: None.
  • src_lang (str, opcional) — O idioma de origem do texto. Obrigatório para modelos que podem traduzir de vários idiomas.
  • tgt_lang (str, opcional) — Idioma de destino para a tradução. Obrigatório para modelos que podem traduzir para vários idiomas.
  • clean_up_tokenization_spaces (bool, opcional) — Se deve limpar os espaços extras potenciais na saída de texto.
  • truncation ("TranslationTruncationStrategy", opcional) — A estratégia de truncamento a ser utilizada.
  • generate_parameters (dict[str, Any], opcional) — Parametrização adicional do algoritmo de geração de texto.

O texto traduzido gerado.

Exceções

InferenceTimeoutError ou HfHubHTTPError ou ValueError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.
  • ValueError — Se apenas um dos argumentos src_lang e tgt_lang for fornecido.

Converta texto de um idioma para outro.

Confira https://huggingface.co/tasks/translation para mais informações sobre como escolher o melhor modelo para o seu caso de uso específico. Os idiomas de origem e de destino geralmente dependem do modelo. No entanto, é possível especificar os idiomas de origem e de destino para certos modelos. Se você estiver trabalhando com um desses modelos, pode usar os argumentos src_lang e tgt_lang para passar as informações relevantes.

Exemplo:

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

Especificando idiomas:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image for the context. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • question (str) — Pergunta a ser respondida.
  • model (str, opcional) — O modelo a ser usado para a tarefa de resposta a perguntas visuais. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Se não for fornecido, o modelo de resposta a perguntas visuais recomendado por padrão será usado. O valor padrão é None.
  • top_k (int, opcional) — O número de respostas a retornar (serão escolhidas pela ordem de probabilidade). Observe que retornamos menos respostas do que top_k se não houver opções suficientes disponíveis no contexto.

Retorna

list[VisualQuestionAnsweringOutputElement]

uma lista de itens VisualQuestionAnsweringOutputElement contendo o rótulo previsto e a probabilidade associada.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Responder a perguntas abertas com base em uma imagem.

Exemplo:

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

Parâmetros

  • text (str) — O texto de entrada a ser classificado.
  • candidate_labels (list[str]) — O conjunto de rótulos de classe possíveis para classificar o texto.
  • multi_label (bool, opcional) — Se múltiplos rótulos candidatos podem ser verdadeiros. Se for falso, as pontuações são normalizadas de modo que a soma das probabilidades dos rótulos para cada sequência seja 1. Se for verdadeiro, os rótulos são considerados independentes e as probabilidades são normalizadas para cada candidato.
  • hypothesis_template (str, opcional) — A frase usada em conjunto com candidate_labels para tentar a classificação de texto, substituindo o marcador de posição pelos rótulos candidatos.
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. Se não for fornecido, o modelo de classificação zero-shot recomendado por padrão será usado.

Retorna

list[ZeroShotClassificationOutputElement]

Lista de itens ZeroShotClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Forneça como entrada um texto e um conjunto de rótulos candidatos para classificar o texto de entrada.

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

Exemplo com multi_label=True e um hypothesis_template personalizado:

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

Parâmetros

  • image (Union[str, Path, bytes, BinaryIO, PIL.Image.Image]) — The input image to caption. It can be raw bytes, an image file, a URL to an online image, or a PIL Image.
  • candidate_labels (list[str]) — Os rótulos candidatos para esta imagem
  • model (str, opcional) — O modelo a ser usado para inferência. Pode ser um ID de modelo hospedado no Hugging Face Hub ou uma URL para um Inference Endpoint implantado. Este parâmetro substitui o modelo definido no nível da instância. Se não for fornecido, o modelo de classificação de imagem zero-shot recomendado por padrão será usado.
  • hypothesis_template (str, opcional) — A frase usada em conjunto com candidate_labels para tentar a classificação de imagem, substituindo o placeholder pelos rótulos candidatos.

Retorna

list[ZeroShotImageClassificationOutputElement]

Lista de itens ZeroShotImageClassificationOutputElement contendo os rótulos previstos e sua confiança.

Exceções

InferenceTimeoutError ou HfHubHTTPError

  • InferenceTimeoutError — Se o modelo estiver indisponível ou a solicitação exceder o tempo limite.
  • HfHubHTTPError — Se a solicitação falhar com um código de status de erro HTTP diferente de HTTP 503.

Forneça uma imagem de entrada e rótulos de texto para prever os rótulos de texto da imagem.

Exemplo:

# 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

classe huggingface_hub.InferenceTimeoutError

< >

( message: str )

Erro lançado quando um modelo está indisponível ou a solicitação expira.

Update on GitHub