Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 14 additions & 22 deletions src/huggingface_hub/inference/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,11 +404,7 @@ def audio_classification(
parameters = {"function_to_apply": function_to_apply, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="audio-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(
audio,
parameters=parameters,
expect_binary=True,
)
payload = provider_helper.prepare_payload(audio, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="audio-classification")
return AudioClassificationOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1008,7 +1004,7 @@ def document_question_answering(
}
provider_helper = get_provider_helper(self.provider, task="document-question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="document-question-answering")
return DocumentQuestionAnsweringOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1075,7 +1071,7 @@ def feature_extraction(
}
provider_helper = get_provider_helper(self.provider, task="feature-extraction")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="feature-extraction")
np = _import_numpy()
return np.array(_bytes_to_dict(response), dtype="float32")
Expand Down Expand Up @@ -1127,7 +1123,7 @@ def fill_mask(
parameters = {"targets": targets, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="fill-mask")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="fill-mask")
return FillMaskOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1172,7 +1168,7 @@ def image_classification(
parameters = {"function_to_apply": function_to_apply, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="image-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="image-classification")
return ImageClassificationOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1234,7 +1230,7 @@ def image_segmentation(
}
provider_helper = get_provider_helper(self.provider, task="image-segmentation")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="image-segmentation")
output = ImageSegmentationOutputElement.parse_obj_as_list(response)
for item in output:
Expand Down Expand Up @@ -1308,7 +1304,7 @@ def image_to_image(
}
provider_helper = get_provider_helper(self.provider, task="image-to-image")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="image-to-image")
return _bytes_to_image(response)

Expand Down Expand Up @@ -1478,7 +1474,7 @@ def object_detection(
}
provider_helper = get_provider_helper(self.provider, task="object-detection")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="object-detection")
return ObjectDetectionOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1556,7 +1552,7 @@ def question_answering(
inputs: Dict[str, Any] = {"question": question, "context": context}
provider_helper = get_provider_helper(self.provider, task="question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="question-answering")
# Parse the response as a single `QuestionAnsweringOutputElement` when top_k is 1 or not provided, or a list of `QuestionAnsweringOutputElement` to ensure backward compatibility.
output = QuestionAnsweringOutputElement.parse_obj(response)
Expand Down Expand Up @@ -1672,7 +1668,7 @@ def summarization(
}
provider_helper = get_provider_helper(self.provider, task="summarization")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = self.post(**payload, model=model, task="summarization")
return SummarizationOutput.parse_obj_as_list(response)[0]

Expand Down Expand Up @@ -1737,7 +1733,7 @@ def table_question_answering(
}
provider_helper = get_provider_helper(self.provider, task="table-question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = self.post(
**payload,
model=model,
Expand Down Expand Up @@ -1887,7 +1883,7 @@ def text_classification(
}
provider_helper = get_provider_helper(self.provider, task="text-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = self.post(
**payload,
model=model,
Expand Down Expand Up @@ -2482,11 +2478,7 @@ def text_to_image(

provider_helper = get_provider_helper(self.provider, task="text-to-image")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(
prompt,
parameters=parameters,
model=model,
)
payload = provider_helper.prepare_payload(prompt, parameters=parameters, model=model)

response = self.post(**payload, model=model, task="text-to-image")
response = provider_helper.get_response(response)
Expand Down Expand Up @@ -3012,7 +3004,7 @@ def zero_shot_image_classification(
}
provider_helper = get_provider_helper(self.provider, task="zero-shot-image-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(image, parameters=parameters, model=model, expect_binary=True)
payload = provider_helper.prepare_payload(image, parameters=parameters, model=model)
response = self.post(
**payload,
model=model,
Expand Down
36 changes: 14 additions & 22 deletions src/huggingface_hub/inference/_generated/_async_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -438,11 +438,7 @@ async def audio_classification(
parameters = {"function_to_apply": function_to_apply, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="audio-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(
audio,
parameters=parameters,
expect_binary=True,
)
payload = provider_helper.prepare_payload(audio, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="audio-classification")
return AudioClassificationOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1051,7 +1047,7 @@ async def document_question_answering(
}
provider_helper = get_provider_helper(self.provider, task="document-question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="document-question-answering")
return DocumentQuestionAnsweringOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1119,7 +1115,7 @@ async def feature_extraction(
}
provider_helper = get_provider_helper(self.provider, task="feature-extraction")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="feature-extraction")
np = _import_numpy()
return np.array(_bytes_to_dict(response), dtype="float32")
Expand Down Expand Up @@ -1172,7 +1168,7 @@ async def fill_mask(
parameters = {"targets": targets, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="fill-mask")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="fill-mask")
return FillMaskOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1218,7 +1214,7 @@ async def image_classification(
parameters = {"function_to_apply": function_to_apply, "top_k": top_k}
provider_helper = get_provider_helper(self.provider, task="image-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="image-classification")
return ImageClassificationOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1281,7 +1277,7 @@ async def image_segmentation(
}
provider_helper = get_provider_helper(self.provider, task="image-segmentation")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="image-segmentation")
output = ImageSegmentationOutputElement.parse_obj_as_list(response)
for item in output:
Expand Down Expand Up @@ -1356,7 +1352,7 @@ async def image_to_image(
}
provider_helper = get_provider_helper(self.provider, task="image-to-image")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="image-to-image")
return _bytes_to_image(response)

Expand Down Expand Up @@ -1534,7 +1530,7 @@ async def object_detection(
}
provider_helper = get_provider_helper(self.provider, task="object-detection")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, expect_binary=True)
payload = provider_helper.prepare_payload(inputs=image, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="object-detection")
return ObjectDetectionOutputElement.parse_obj_as_list(response)

Expand Down Expand Up @@ -1613,7 +1609,7 @@ async def question_answering(
inputs: Dict[str, Any] = {"question": question, "context": context}
provider_helper = get_provider_helper(self.provider, task="question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="question-answering")
# Parse the response as a single `QuestionAnsweringOutputElement` when top_k is 1 or not provided, or a list of `QuestionAnsweringOutputElement` to ensure backward compatibility.
output = QuestionAnsweringOutputElement.parse_obj(response)
Expand Down Expand Up @@ -1731,7 +1727,7 @@ async def summarization(
}
provider_helper = get_provider_helper(self.provider, task="summarization")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = await self.post(**payload, model=model, task="summarization")
return SummarizationOutput.parse_obj_as_list(response)[0]

Expand Down Expand Up @@ -1797,7 +1793,7 @@ async def table_question_answering(
}
provider_helper = get_provider_helper(self.provider, task="table-question-answering")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=inputs, parameters=parameters, model=model)
response = await self.post(
**payload,
model=model,
Expand Down Expand Up @@ -1950,7 +1946,7 @@ async def text_classification(
}
provider_helper = get_provider_helper(self.provider, task="text-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters)
payload = provider_helper.prepare_payload(inputs=text, parameters=parameters, model=model)
response = await self.post(
**payload,
model=model,
Expand Down Expand Up @@ -2547,11 +2543,7 @@ async def text_to_image(

provider_helper = get_provider_helper(self.provider, task="text-to-image")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(
prompt,
parameters=parameters,
model=model,
)
payload = provider_helper.prepare_payload(prompt, parameters=parameters, model=model)

response = await self.post(**payload, model=model, task="text-to-image")
response = provider_helper.get_response(response)
Expand Down Expand Up @@ -3084,7 +3076,7 @@ async def zero_shot_image_classification(
}
provider_helper = get_provider_helper(self.provider, task="zero-shot-image-classification")
model = provider_helper.map_model(model=model or self.model)
payload = provider_helper.prepare_payload(image, parameters=parameters, model=model, expect_binary=True)
payload = provider_helper.prepare_payload(image, parameters=parameters, model=model)
response = await self.post(
**payload,
model=model,
Expand Down
Loading
Loading