Instructions to use philschmid/setfit-ag-news-endpoint with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- setfit
How to use philschmid/setfit-ag-news-endpoint with setfit:
from setfit import SetFitModel model = SetFitModel.from_pretrained("philschmid/setfit-ag-news-endpoint") - Notebooks
- Google Colab
- Kaggle
| from typing import Dict, List, Any | |
| from setfit import SetFitModel | |
| class EndpointHandler: | |
| def __init__(self, path=""): | |
| # load model | |
| self.model = SetFitModel.from_pretrained(path) | |
| # ag_news id to label mapping | |
| self.id2label = {0: "World", 1: "Sports", 2: "Business", 3: "Sci/Tech"} | |
| def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]: | |
| """ | |
| data args: | |
| inputs (:obj: `str`) | |
| Return: | |
| A :obj:`list` | `dict`: will be serialized and returned | |
| """ | |
| # get inputs | |
| inputs = data.pop("inputs", data) | |
| if isinstance(inputs, str): | |
| inputs = [inputs] | |
| # run normal prediction | |
| scores = self.model.predict_proba(inputs)[0] | |
| return [{"label": self.id2label[i], "score": score.item()} for i, score in enumerate(scores)] | |