diff --git a/scope3ai/tracers/huggingface/instrument.py b/scope3ai/tracers/huggingface/instrument.py index 2aa082c..c6a4993 100644 --- a/scope3ai/tracers/huggingface/instrument.py +++ b/scope3ai/tracers/huggingface/instrument.py @@ -16,6 +16,7 @@ ) from scope3ai.tracers.huggingface.translation import ( huggingface_translation_wrapper_non_stream, + huggingface_translation_wrapper_async_non_stream, ) @@ -37,6 +38,11 @@ def __init__(self) -> None: "name": "InferenceClient.translation", "wrapper": huggingface_translation_wrapper_non_stream, }, + { + "module": "huggingface_hub.inference._generated._async_client", + "name": "AsyncInferenceClient.translation", + "wrapper": huggingface_translation_wrapper_async_non_stream, + }, { "module": "huggingface_hub.inference._client", "name": "InferenceClient.text_to_speech", diff --git a/scope3ai/tracers/huggingface/translation.py b/scope3ai/tracers/huggingface/translation.py index d67ec14..aea2398 100644 --- a/scope3ai/tracers/huggingface/translation.py +++ b/scope3ai/tracers/huggingface/translation.py @@ -2,13 +2,15 @@ from typing import Any, Callable, Optional import tiktoken -from huggingface_hub import InferenceClient # type: ignore[import-untyped] +from aiohttp import ClientResponse +from huggingface_hub import InferenceClient, AsyncInferenceClient # type: ignore[import-untyped] from huggingface_hub import TranslationOutput as _TranslationOutput from requests import Response from scope3ai.api.types import Scope3AIContext, Model, ImpactRow from scope3ai.api.typesgen import Task from scope3ai.lib import Scope3AI +from scope3ai.response_interceptor.aiohttp_interceptor import aiohttp_response_capture from scope3ai.response_interceptor.requests_interceptor import requests_response_capture PROVIDER = "huggingface_hub" @@ -28,7 +30,7 @@ def huggingface_translation_wrapper_non_stream( http_responses = responses.get() if len(http_responses) > 0: http_response = http_responses[-1] - model = kwargs.get("model") or instance.get_recommended_model("text-to-speech") + model = kwargs.get("model") or instance.get_recommended_model("translation") encoder = tiktoken.get_encoding("cl100k_base") if len(args) > 0: prompt = args[0] @@ -52,6 +54,47 @@ def huggingface_translation_wrapper_non_stream( return result +async def huggingface_translation_wrapper_async_non_stream( + wrapped: Callable, instance: AsyncInferenceClient, args: Any, kwargs: Any +) -> TranslationOutput: + http_response: ClientResponse | None = None + with aiohttp_response_capture() as responses: + response = await wrapped(*args, **kwargs) + http_responses = responses.get() + if len(http_responses) > 0: + http_response = http_responses[-1] + model = kwargs.get("model") or instance.get_recommended_model("translation") + encoder = tiktoken.get_encoding("cl100k_base") + if len(args) > 0: + prompt = args[0] + else: + prompt = kwargs["text"] + compute_time = http_response.headers.get("x-compute-time") + input_tokens = len(encoder.encode(prompt)) + output_tokens = len(encoder.encode(response.translation_text)) + scope3_row = ImpactRow( + model=Model(id=model), + task=Task.translation, + input_tokens=input_tokens, + output_tokens=output_tokens, + request_duration_ms=float(compute_time) * 1000, + managed_service_id=PROVIDER, + ) + + scope3_ctx = Scope3AI.get_instance().submit_impact(scope3_row) + result = TranslationOutput(**asdict(response)) + result.scope3ai = scope3_ctx + return result + + +async def huggingface_text_to_image_wrapper_async( + wrapped: Callable, instance: AsyncInferenceClient, args: Any, kwargs: Any +) -> TranslationOutput: + return huggingface_translation_wrapper_async_non_stream( + wrapped, instance, args, kwargs + ) + + def huggingface_text_to_image_wrapper( wrapped: Callable, instance: InferenceClient, args: Any, kwargs: Any ) -> TranslationOutput: diff --git a/tests/cassettes/test_huggingface_hub_speech_to_text_async.yaml b/tests/cassettes/test_huggingface_hub_speech_to_text_async.yaml new file mode 100644 index 0000000..185f3b2 --- /dev/null +++ b/tests/cassettes/test_huggingface_hub_speech_to_text_async.yaml @@ -0,0 +1,2604 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + X-Amzn-Trace-Id: + - eeaf6ce1-de3b-4bba-b1f7-a13f4b009cfb + authorization: + - DUMMY + user-agent: + - unknown/None; hf_hub/0.26.5; python/3.12.8 + method: GET + uri: https://huggingface.co/api/tasks + response: + body: + string: "{\"any-to-any\":{\"datasets\":[],\"demo\":{\"inputs\":[],\"outputs\":[]},\"isPlaceholder\":true,\"metrics\":[],\"models\":[],\"spaces\":[],\"summary\":\"\",\"widgetModels\":[],\"id\":\"any-to-any\",\"label\":\"Any-to-Any\",\"libraries\":[\"transformers\"]},\"audio-classification\":{\"datasets\":[{\"description\":\"A + benchmark of 10 different audio tasks.\",\"id\":\"s3prl/superb\"},{\"description\":\"A + dataset of YouTube clips and their sound categories.\",\"id\":\"agkphysics/AudioSet\"}],\"demo\":{\"inputs\":[{\"filename\":\"audio.wav\",\"type\":\"audio\"}],\"outputs\":[{\"data\":[{\"label\":\"Up\",\"score\":0.2},{\"label\":\"Down\",\"score\":0.8}],\"type\":\"chart\"}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"\",\"id\":\"f1\"}],\"models\":[{\"description\":\"An + easy-to-use model for command recognition.\",\"id\":\"speechbrain/google_speech_command_xvector\"},{\"description\":\"An + emotion recognition model.\",\"id\":\"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\"},{\"description\":\"A + language identification model.\",\"id\":\"facebook/mms-lid-126\"}],\"spaces\":[{\"description\":\"An + application that can classify music into different genre.\",\"id\":\"kurianbenoy/audioclassification\"}],\"summary\":\"Audio + classification is the task of assigning a label or class to a given audio. + It can be used for recognizing which command a user is giving or the emotion + of a statement, as well as identifying a speaker.\",\"widgetModels\":[\"MIT/ast-finetuned-audioset-10-10-0.4593\"],\"youtubeId\":\"KWwzcmG98Ds\",\"id\":\"audio-classification\",\"label\":\"Audio + Classification\",\"libraries\":[\"speechbrain\",\"transformers\",\"transformers.js\"]},\"audio-to-audio\":{\"datasets\":[{\"description\":\"512-element + X-vector embeddings of speakers from CMU ARCTIC dataset.\",\"id\":\"Matthijs/cmu-arctic-xvectors\"}],\"demo\":{\"inputs\":[{\"filename\":\"input.wav\",\"type\":\"audio\"}],\"outputs\":[{\"filename\":\"label-0.wav\",\"type\":\"audio\"},{\"filename\":\"label-1.wav\",\"type\":\"audio\"}]},\"metrics\":[{\"description\":\"The + Signal-to-Noise ratio is the relationship between the target signal level + and the background noise level. It is calculated as the logarithm of the target + signal divided by the background noise, in decibels.\",\"id\":\"snri\"},{\"description\":\"The + Signal-to-Distortion ratio is the relationship between the target signal and + the sum of noise, interference, and artifact errors\",\"id\":\"sdri\"}],\"models\":[{\"description\":\"A + solid model of audio source separation.\",\"id\":\"speechbrain/sepformer-wham\"},{\"description\":\"A + speech enhancement model.\",\"id\":\"ResembleAI/resemble-enhance\"},{\"description\":\"A + model that can change the voice in a speech recording.\",\"id\":\"microsoft/speecht5_vc\"}],\"spaces\":[{\"description\":\"An + application for speech separation.\",\"id\":\"younver/speechbrain-speech-separation\"},{\"description\":\"An + application for audio style transfer.\",\"id\":\"nakas/audio-diffusion_style_transfer\"}],\"summary\":\"Audio-to-Audio + is a family of tasks in which the input is an audio and the output is one + or multiple generated audios. Some example tasks are speech enhancement and + source separation.\",\"widgetModels\":[\"speechbrain/sepformer-wham\"],\"youtubeId\":\"iohj7nCCYoM\",\"id\":\"audio-to-audio\",\"label\":\"Audio-to-Audio\",\"libraries\":[\"asteroid\",\"fairseq\",\"speechbrain\"]},\"audio-text-to-text\":{\"datasets\":[],\"demo\":{\"inputs\":[],\"outputs\":[]},\"isPlaceholder\":true,\"metrics\":[],\"models\":[],\"spaces\":[],\"summary\":\"\",\"widgetModels\":[],\"id\":\"audio-text-to-text\",\"label\":\"Audio-Text-to-Text\",\"libraries\":[]},\"automatic-speech-recognition\":{\"datasets\":[{\"description\":\"31,175 + hours of multilingual audio-text dataset in 108 languages.\",\"id\":\"mozilla-foundation/common_voice_17_0\"},{\"description\":\"Multilingual + and diverse audio dataset with 101k hours of audio.\",\"id\":\"amphion/Emilia-Dataset\"},{\"description\":\"A + dataset with 44.6k hours of English speaker data and 6k hours of other language + speakers.\",\"id\":\"parler-tts/mls_eng\"},{\"description\":\"A multilingual + audio dataset with 370K hours of audio.\",\"id\":\"espnet/yodas\"}],\"demo\":{\"inputs\":[{\"filename\":\"input.flac\",\"type\":\"audio\"}],\"outputs\":[{\"label\":\"Transcript\",\"content\":\"Going + along slushy country roads and speaking to damp audiences in...\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"\",\"id\":\"wer\"},{\"description\":\"\",\"id\":\"cer\"}],\"models\":[{\"description\":\"A + powerful ASR model by OpenAI.\",\"id\":\"openai/whisper-large-v3\"},{\"description\":\"A + good generic speech model by MetaAI for fine-tuning.\",\"id\":\"facebook/w2v-bert-2.0\"},{\"description\":\"An + end-to-end model that performs ASR and Speech Translation by MetaAI.\",\"id\":\"facebook/seamless-m4t-v2-large\"},{\"description\":\"A + powerful multilingual ASR and Speech Translation model by Nvidia.\",\"id\":\"nvidia/canary-1b\"},{\"description\":\"Powerful + speaker diarization model.\",\"id\":\"pyannote/speaker-diarization-3.1\"}],\"spaces\":[{\"description\":\"A + powerful general-purpose speech recognition application.\",\"id\":\"hf-audio/whisper-large-v3\"},{\"description\":\"Latest + ASR model from Useful Sensors.\",\"id\":\"mrfakename/Moonshinex\"},{\"description\":\"A + high quality speech and text translation model by Meta.\",\"id\":\"facebook/seamless_m4t\"},{\"description\":\"A + powerful multilingual ASR and Speech Translation model by Nvidia\",\"id\":\"nvidia/canary-1b\"}],\"summary\":\"Automatic + Speech Recognition (ASR), also known as Speech to Text (STT), is the task + of transcribing a given audio to text. It has many applications, such as voice + user interfaces.\",\"widgetModels\":[\"openai/whisper-large-v3\"],\"youtubeId\":\"TksaY_FDgnk\",\"id\":\"automatic-speech-recognition\",\"label\":\"Automatic + Speech Recognition\",\"libraries\":[\"espnet\",\"nemo\",\"speechbrain\",\"transformers\",\"transformers.js\"]},\"depth-estimation\":{\"datasets\":[{\"description\":\"NYU + Depth V2 Dataset: Video dataset containing both RGB and depth sensor data.\",\"id\":\"sayakpaul/nyu_depth_v2\"},{\"description\":\"Monocular + depth estimation benchmark based without noise and errors.\",\"id\":\"depth-anything/DA-2K\"}],\"demo\":{\"inputs\":[{\"filename\":\"depth-estimation-input.jpg\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"depth-estimation-output.png\",\"type\":\"img\"}]},\"metrics\":[],\"models\":[{\"description\":\"Cutting-edge + depth estimation model.\",\"id\":\"depth-anything/Depth-Anything-V2-Large\"},{\"description\":\"A + strong monocular depth estimation model.\",\"id\":\"jingheya/lotus-depth-g-v1-0\"},{\"description\":\"A + depth estimation model that predicts depth in videos.\",\"id\":\"tencent/DepthCrafter\"},{\"description\":\"A + robust depth estimation model.\",\"id\":\"apple/DepthPro\"}],\"spaces\":[{\"description\":\"An + application that predicts the depth of an image and then reconstruct the 3D + model as voxels.\",\"id\":\"radames/dpt-depth-estimation-3d-voxels\"},{\"description\":\"An + application for bleeding-edge depth estimation.\",\"id\":\"akhaliq/depth-pro\"},{\"description\":\"An + application on cutting-edge depth estimation in videos.\",\"id\":\"tencent/DepthCrafter\"},{\"description\":\"A + human-centric depth estimation application.\",\"id\":\"facebook/sapiens-depth\"}],\"summary\":\"Depth + estimation is the task of predicting depth of the objects present in an image.\",\"widgetModels\":[\"\"],\"youtubeId\":\"\",\"id\":\"depth-estimation\",\"label\":\"Depth + Estimation\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"document-question-answering\":{\"datasets\":[{\"description\":\"Largest + document understanding dataset.\",\"id\":\"HuggingFaceM4/Docmatix\"},{\"description\":\"Dataset + from the 2020 DocVQA challenge. The documents are taken from the UCSF Industry + Documents Library.\",\"id\":\"eliolio/docvqa\"}],\"demo\":{\"inputs\":[{\"label\":\"Question\",\"content\":\"What + is the idea behind the consumer relations efficiency team?\",\"type\":\"text\"},{\"filename\":\"document-question-answering-input.png\",\"type\":\"img\"}],\"outputs\":[{\"label\":\"Answer\",\"content\":\"Balance + cost efficiency with quality customer service\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"The + evaluation metric for the DocVQA challenge is the Average Normalized Levenshtein + Similarity (ANLS). This metric is flexible to character regognition errors + and compares the predicted answer with the ground truth answer.\",\"id\":\"anls\"},{\"description\":\"Exact + Match is a metric based on the strict character match of the predicted answer + and the right answer. For answers predicted correctly, the Exact Match will + be 1. Even if only one character is different, Exact Match will be 0\",\"id\":\"exact-match\"}],\"models\":[{\"description\":\"A + robust document question answering model.\",\"id\":\"impira/layoutlm-document-qa\"},{\"description\":\"A + document question answering model specialized in invoices.\",\"id\":\"impira/layoutlm-invoices\"},{\"description\":\"A + special model for OCR-free document question answering.\",\"id\":\"microsoft/udop-large\"},{\"description\":\"A + powerful model for document question answering.\",\"id\":\"google/pix2struct-docvqa-large\"}],\"spaces\":[{\"description\":\"A + robust document question answering application.\",\"id\":\"impira/docquery\"},{\"description\":\"An + application that can answer questions from invoices.\",\"id\":\"impira/invoices\"},{\"description\":\"An + application to compare different document question answering models.\",\"id\":\"merve/compare_docvqa_models\"}],\"summary\":\"Document + Question Answering (also known as Document Visual Question Answering) is the + task of answering questions on document images. Document question answering + models take a (document, question) pair as input and return an answer in natural + language. Models usually rely on multi-modal features, combining text, position + of words (bounding-boxes) and image.\",\"widgetModels\":[\"impira/layoutlm-invoices\"],\"youtubeId\":\"\",\"id\":\"document-question-answering\",\"label\":\"Document + Question Answering\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"feature-extraction\":{\"datasets\":[{\"description\":\"Wikipedia + dataset containing cleaned articles of all languages. Can be used to train + `feature-extraction` models.\",\"id\":\"wikipedia\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"India, + officially the Republic of India, is a country in South Asia.\",\"type\":\"text\"}],\"outputs\":[{\"table\":[[\"Dimension + 1\",\"Dimension 2\",\"Dimension 3\"],[\"2.583383083343506\",\"2.757075071334839\",\"0.9023529887199402\"],[\"8.29393482208252\",\"1.1071064472198486\",\"2.03399395942688\"],[\"-0.7754912972450256\",\"-1.647324562072754\",\"-0.6113331913948059\"],[\"0.07087723910808563\",\"1.5942802429199219\",\"1.4610432386398315\"]],\"type\":\"tabular\"}]},\"metrics\":[],\"models\":[{\"description\":\"A + powerful feature extraction model for natural language processing tasks.\",\"id\":\"thenlper/gte-large\"},{\"description\":\"A + strong feature extraction model for retrieval.\",\"id\":\"Alibaba-NLP/gte-Qwen1.5-7B-instruct\"}],\"spaces\":[{\"description\":\"A + leaderboard to rank text feature extraction models based on a benchmark.\",\"id\":\"mteb/leaderboard\"},{\"description\":\"A + leaderboard to rank best feature extraction models based on human feedback.\",\"id\":\"mteb/arena\"}],\"summary\":\"Feature + extraction is the task of extracting features learnt in a model.\",\"widgetModels\":[\"facebook/bart-base\"],\"id\":\"feature-extraction\",\"label\":\"Feature + Extraction\",\"libraries\":[\"sentence-transformers\",\"transformers\",\"transformers.js\"]},\"fill-mask\":{\"datasets\":[{\"description\":\"A + common dataset that is used to train models for many languages.\",\"id\":\"wikipedia\"},{\"description\":\"A + large English dataset with text crawled from the web.\",\"id\":\"c4\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"The + barked at me\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"wolf\",\"score\":0.487},{\"label\":\"dog\",\"score\":0.061},{\"label\":\"cat\",\"score\":0.058},{\"label\":\"fox\",\"score\":0.047},{\"label\":\"squirrel\",\"score\":0.025}]}]},\"metrics\":[{\"description\":\"Cross + Entropy is a metric that calculates the difference between two probability + distributions. Each probability distribution is the distribution of predicted + words\",\"id\":\"cross_entropy\"},{\"description\":\"Perplexity is the exponential + of the cross-entropy loss. It evaluates the probabilities assigned to the + next word by the model. Lower perplexity indicates better performance\",\"id\":\"perplexity\"}],\"models\":[{\"description\":\"The + famous BERT model.\",\"id\":\"google-bert/bert-base-uncased\"},{\"description\":\"A + multilingual model trained on 100 languages.\",\"id\":\"FacebookAI/xlm-roberta-base\"}],\"spaces\":[],\"summary\":\"Masked + language modeling is the task of masking some of the words in a sentence and + predicting which words should replace those masks. These models are useful + when we want to get a statistical understanding of the language in which the + model is trained in.\",\"widgetModels\":[\"distilroberta-base\"],\"youtubeId\":\"mqElG5QJWUg\",\"id\":\"fill-mask\",\"label\":\"Fill-Mask\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"image-classification\":{\"datasets\":[{\"description\":\"Benchmark + dataset used for image classification with images that belong to 100 classes.\",\"id\":\"cifar100\"},{\"description\":\"Dataset + consisting of images of garments.\",\"id\":\"fashion_mnist\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-classification-input.jpeg\",\"type\":\"img\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"Egyptian + cat\",\"score\":0.514},{\"label\":\"Tabby cat\",\"score\":0.193},{\"label\":\"Tiger + cat\",\"score\":0.068}]}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"\",\"id\":\"f1\"}],\"models\":[{\"description\":\"A + strong image classification model.\",\"id\":\"google/vit-base-patch16-224\"},{\"description\":\"A + robust image classification model.\",\"id\":\"facebook/deit-base-distilled-patch16-224\"},{\"description\":\"A + strong image classification model.\",\"id\":\"facebook/convnext-large-224\"}],\"spaces\":[{\"description\":\"An + application that classifies what a given image is about.\",\"id\":\"nielsr/perceiver-image-classification\"}],\"summary\":\"Image + classification is the task of assigning a label or class to an entire image. + Images are expected to have only one class for each image. Image classification + models take an image as input and return a prediction about which class the + image belongs to.\",\"widgetModels\":[\"google/vit-base-patch16-224\"],\"youtubeId\":\"tjAIM7BOYhw\",\"id\":\"image-classification\",\"label\":\"Image + Classification\",\"libraries\":[\"keras\",\"timm\",\"transformers\",\"transformers.js\"]},\"image-feature-extraction\":{\"datasets\":[{\"description\":\"ImageNet-1K + is a image classification dataset in which images are used to train image-feature-extraction + models.\",\"id\":\"imagenet-1k\"}],\"demo\":{\"inputs\":[{\"filename\":\"mask-generation-input.png\",\"type\":\"img\"}],\"outputs\":[{\"table\":[[\"Dimension + 1\",\"Dimension 2\",\"Dimension 3\"],[\"0.21236686408519745\",\"1.0919708013534546\",\"0.8512550592422485\"],[\"0.809657871723175\",\"-0.18544459342956543\",\"-0.7851548194885254\"],[\"1.3103108406066895\",\"-0.2479034662246704\",\"-0.9107287526130676\"],[\"1.8536205291748047\",\"-0.36419737339019775\",\"0.09717650711536407\"]],\"type\":\"tabular\"}]},\"metrics\":[],\"models\":[{\"description\":\"A + powerful image feature extraction model.\",\"id\":\"timm/vit_large_patch14_dinov2.lvd142m\"},{\"description\":\"A + strong image feature extraction model.\",\"id\":\"nvidia/MambaVision-T-1K\"},{\"description\":\"A + robust image feature extraction model.\",\"id\":\"facebook/dino-vitb16\"},{\"description\":\"Strong + image feature extraction model made for information retrieval from documents.\",\"id\":\"vidore/colpali\"},{\"description\":\"Strong + image feature extraction model that can be used on images and documents.\",\"id\":\"OpenGVLab/InternViT-6B-448px-V1-2\"}],\"spaces\":[],\"summary\":\"Image + feature extraction is the task of extracting features learnt in a computer + vision model.\",\"widgetModels\":[],\"id\":\"image-feature-extraction\",\"label\":\"Image + Feature Extraction\",\"libraries\":[\"timm\",\"transformers\"]},\"image-segmentation\":{\"datasets\":[{\"description\":\"Scene + segmentation dataset.\",\"id\":\"scene_parse_150\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-segmentation-input.jpeg\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"image-segmentation-output.png\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"Average + Precision (AP) is the Area Under the PR Curve (AUC-PR). It is calculated for + each semantic class separately\",\"id\":\"Average Precision\"},{\"description\":\"Mean + Average Precision (mAP) is the overall average of the AP values\",\"id\":\"Mean + Average Precision\"},{\"description\":\"Intersection over Union (IoU) is the + overlap of segmentation masks. Mean IoU is the average of the IoU of all semantic + classes\",\"id\":\"Mean Intersection over Union\"},{\"description\":\"AP\u03B1 + is the Average Precision at the IoU threshold of a \u03B1 value, for example, + AP50 and AP75\",\"id\":\"AP\u03B1\"}],\"models\":[{\"description\":\"Solid + semantic segmentation model trained on ADE20k.\",\"id\":\"openmmlab/upernet-convnext-small\"},{\"description\":\"Background + removal model.\",\"id\":\"briaai/RMBG-1.4\"},{\"description\":\"A multipurpose + image segmentation model for high resolution images.\",\"id\":\"ZhengPeng7/BiRefNet\"},{\"description\":\"Powerful + human-centric image segmentation model.\",\"id\":\"facebook/sapiens-seg-1b\"},{\"description\":\"Panoptic + segmentation model trained on the COCO (common objects) dataset.\",\"id\":\"facebook/mask2former-swin-large-coco-panoptic\"}],\"spaces\":[{\"description\":\"A + semantic segmentation application that can predict unseen instances out of + the box.\",\"id\":\"facebook/ov-seg\"},{\"description\":\"One of the strongest + segmentation applications.\",\"id\":\"jbrinkma/segment-anything\"},{\"description\":\"A + human-centric segmentation model.\",\"id\":\"facebook/sapiens-pose\"},{\"description\":\"An + instance segmentation application to predict neuronal cell types from microscopy + images.\",\"id\":\"rashmi/sartorius-cell-instance-segmentation\"},{\"description\":\"An + application that segments videos.\",\"id\":\"ArtGAN/Segment-Anything-Video\"},{\"description\":\"An + panoptic segmentation application built for outdoor environments.\",\"id\":\"segments/panoptic-segment-anything\"}],\"summary\":\"Image + Segmentation divides an image into segments where each pixel in the image + is mapped to an object. This task has multiple variants such as instance segmentation, + panoptic segmentation and semantic segmentation.\",\"widgetModels\":[\"nvidia/segformer-b0-finetuned-ade-512-512\"],\"youtubeId\":\"dKE8SIt9C-w\",\"id\":\"image-segmentation\",\"label\":\"Image + Segmentation\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"image-to-image\":{\"datasets\":[{\"description\":\"Synthetic + dataset, for image relighting\",\"id\":\"VIDIT\"},{\"description\":\"Multiple + images of celebrities, used for facial expression translation\",\"id\":\"huggan/CelebA-faces\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-to-image-input.jpeg\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"image-to-image-output.png\",\"type\":\"img\"}]},\"isPlaceholder\":false,\"metrics\":[{\"description\":\"Peak + Signal to Noise Ratio (PSNR) is an approximation of the human perception, + considering the ratio of the absolute intensity with respect to the variations. + Measured in dB, a high value indicates a high fidelity.\",\"id\":\"PSNR\"},{\"description\":\"Structural + Similarity Index (SSIM) is a perceptual metric which compares the luminance, + contrast and structure of two images. The values of SSIM range between -1 + and 1, and higher values indicate closer resemblance to the original image.\",\"id\":\"SSIM\"},{\"description\":\"Inception + Score (IS) is an analysis of the labels predicted by an image classification + model when presented with a sample of the generated images.\",\"id\":\"IS\"}],\"models\":[{\"description\":\"An + image-to-image model to improve image resolution.\",\"id\":\"fal/AuraSR-v2\"},{\"description\":\"A + model that increases the resolution of an image.\",\"id\":\"keras-io/super-resolution\"},{\"description\":\"A + model that creates a set of variations of the input image in the style of + DALL-E using Stable Diffusion.\",\"id\":\"lambdalabs/sd-image-variations-diffusers\"},{\"description\":\"A + model that generates images based on segments in the input image and the text + prompt.\",\"id\":\"mfidabel/controlnet-segment-anything\"},{\"description\":\"A + model that takes an image and an instruction to edit the image.\",\"id\":\"timbrooks/instruct-pix2pix\"}],\"spaces\":[{\"description\":\"Image + enhancer application for low light.\",\"id\":\"keras-io/low-light-image-enhancement\"},{\"description\":\"Style + transfer application.\",\"id\":\"keras-io/neural-style-transfer\"},{\"description\":\"An + application that generates images based on segment control.\",\"id\":\"mfidabel/controlnet-segment-anything\"},{\"description\":\"Image + generation application that takes image control and text prompt.\",\"id\":\"hysts/ControlNet\"},{\"description\":\"Colorize + any image using this app.\",\"id\":\"ioclab/brightness-controlnet\"},{\"description\":\"Edit + images with instructions.\",\"id\":\"timbrooks/instruct-pix2pix\"}],\"summary\":\"Image-to-image + is the task of transforming an input image through a variety of possible manipulations + and enhancements, such as super-resolution, image inpainting, colorization, + and more.\",\"widgetModels\":[\"stabilityai/stable-diffusion-2-inpainting\"],\"youtubeId\":\"\",\"id\":\"image-to-image\",\"label\":\"Image-to-Image\",\"libraries\":[\"diffusers\",\"transformers\",\"transformers.js\"]},\"image-text-to-text\":{\"datasets\":[{\"description\":\"Instructions + composed of image and text.\",\"id\":\"liuhaotian/LLaVA-Instruct-150K\"},{\"description\":\"Conversation + turns where questions involve image and text.\",\"id\":\"liuhaotian/LLaVA-Pretrain\"},{\"description\":\"A + collection of datasets made for model fine-tuning.\",\"id\":\"HuggingFaceM4/the_cauldron\"},{\"description\":\"Screenshots + of websites with their HTML/CSS codes.\",\"id\":\"HuggingFaceM4/WebSight\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-text-to-text-input.png\",\"type\":\"img\"},{\"label\":\"Text + Prompt\",\"content\":\"Describe the position of the bee in detail.\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Answer\",\"content\":\"The + bee is sitting on a pink flower, surrounded by other flowers. The bee is positioned + in the center of the flower, with its head and front legs sticking out.\",\"type\":\"text\"}]},\"metrics\":[],\"models\":[{\"description\":\"Powerful + vision language model with great visual understanding and reasoning capabilities.\",\"id\":\"meta-llama/Llama-3.2-11B-Vision-Instruct\"},{\"description\":\"Cutting-edge + vision language models.\",\"id\":\"allenai/Molmo-7B-D-0924\"},{\"description\":\"Small + yet powerful model.\",\"id\":\"vikhyatk/moondream2\"},{\"description\":\"Strong + image-text-to-text model.\",\"id\":\"Qwen/Qwen2-VL-7B-Instruct\"},{\"description\":\"Strong + image-text-to-text model.\",\"id\":\"mistralai/Pixtral-12B-2409\"},{\"description\":\"Strong + image-text-to-text model focused on documents.\",\"id\":\"stepfun-ai/GOT-OCR2_0\"}],\"spaces\":[{\"description\":\"Leaderboard + to evaluate vision language models.\",\"id\":\"opencompass/open_vlm_leaderboard\"},{\"description\":\"Vision + language models arena, where models are ranked by votes of users.\",\"id\":\"WildVision/vision-arena\"},{\"description\":\"Powerful + vision-language model assistant.\",\"id\":\"akhaliq/Molmo-7B-D-0924\"},{\"description\":\"An + image-text-to-text application focused on documents.\",\"id\":\"stepfun-ai/GOT_official_online_demo\"},{\"description\":\"An + application to compare outputs of different vision language models.\",\"id\":\"merve/compare_VLMs\"},{\"description\":\"An + application for chatting with an image-text-to-text model.\",\"id\":\"GanymedeNil/Qwen2-VL-7B\"}],\"summary\":\"Image-text-to-text + models take in an image and text prompt and output text. These models are + also called vision-language models, or VLMs. The difference from image-to-text + models is that these models take an additional text input, not restricting + the model to certain use cases like image captioning, and may also be trained + to accept a conversation as input.\",\"widgetModels\":[\"meta-llama/Llama-3.2-11B-Vision-Instruct\"],\"youtubeId\":\"IoGaGfU1CIg\",\"id\":\"image-text-to-text\",\"label\":\"Image-Text-to-Text\",\"libraries\":[\"transformers\"]},\"image-to-text\":{\"datasets\":[{\"description\":\"Dataset + from 12M image-text of Reddit\",\"id\":\"red_caps\"},{\"description\":\"Dataset + from 3.3M images of Google\",\"id\":\"datasets/conceptual_captions\"}],\"demo\":{\"inputs\":[{\"filename\":\"savanna.jpg\",\"type\":\"img\"}],\"outputs\":[{\"label\":\"Detailed + description\",\"content\":\"a herd of giraffes and zebras grazing in a field\",\"type\":\"text\"}]},\"metrics\":[],\"models\":[{\"description\":\"A + robust image captioning model.\",\"id\":\"Salesforce/blip2-opt-2.7b\"},{\"description\":\"A + powerful and accurate image-to-text model that can also localize concepts + in images.\",\"id\":\"microsoft/kosmos-2-patch14-224\"},{\"description\":\"A + strong optical character recognition model.\",\"id\":\"facebook/nougat-base\"},{\"description\":\"A + powerful model that lets you have a conversation with the image.\",\"id\":\"llava-hf/llava-1.5-7b-hf\"}],\"spaces\":[{\"description\":\"An + application that compares various image captioning models.\",\"id\":\"nielsr/comparing-captioning-models\"},{\"description\":\"A + robust image captioning application.\",\"id\":\"flax-community/image-captioning\"},{\"description\":\"An + application that transcribes handwritings into text.\",\"id\":\"nielsr/TrOCR-handwritten\"},{\"description\":\"An + application that can caption images and answer questions about a given image.\",\"id\":\"Salesforce/BLIP\"},{\"description\":\"An + application that can caption images and answer questions with a conversational + agent.\",\"id\":\"Salesforce/BLIP2\"},{\"description\":\"An image captioning + application that demonstrates the effect of noise on captions.\",\"id\":\"johko/capdec-image-captioning\"}],\"summary\":\"Image + to text models output a text from a given image. Image captioning or optical + character recognition can be considered as the most common applications of + image to text.\",\"widgetModels\":[\"Salesforce/blip-image-captioning-large\"],\"youtubeId\":\"\",\"id\":\"image-to-text\",\"label\":\"Image-to-Text\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"keypoint-detection\":{\"datasets\":[{\"description\":\"A + dataset of hand keypoints of over 500k examples.\",\"id\":\"Vincent-luo/hagrid-mediapipe-hands\"}],\"demo\":{\"inputs\":[{\"filename\":\"keypoint-detection-input.png\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"keypoint-detection-output.png\",\"type\":\"img\"}]},\"metrics\":[],\"models\":[{\"description\":\"A + robust keypoint detection model.\",\"id\":\"magic-leap-community/superpoint\"},{\"description\":\"Strong + keypoint detection model used to detect human pose.\",\"id\":\"facebook/sapiens-pose-1b\"}],\"spaces\":[{\"description\":\"An + application that detects hand keypoints in real-time.\",\"id\":\"datasciencedojo/Hand-Keypoint-Detection-Realtime\"},{\"description\":\"An + application to try a universal keypoint detection model.\",\"id\":\"merve/SuperPoint\"}],\"summary\":\"Keypoint + detection is the task of identifying meaningful distinctive points or features + in an image.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"keypoint-detection\",\"label\":\"Keypoint + Detection\",\"libraries\":[\"transformers\"]},\"mask-generation\":{\"datasets\":[{\"description\":\"Widely + used benchmark dataset for multiple Vision tasks.\",\"id\":\"merve/coco2017\"},{\"description\":\"Medical + Imaging dataset of the Human Brain for segmentation and mask generating tasks\",\"id\":\"rocky93/BraTS_segmentation\"}],\"demo\":{\"inputs\":[{\"filename\":\"mask-generation-input.png\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"mask-generation-output.png\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"IoU + is used to measure the overlap between predicted mask and the ground truth + mask.\",\"id\":\"Intersection over Union (IoU)\"}],\"models\":[{\"description\":\"Small + yet powerful mask generation model.\",\"id\":\"Zigeng/SlimSAM-uniform-50\"},{\"description\":\"Very + strong mask generation model.\",\"id\":\"facebook/sam2-hiera-large\"}],\"spaces\":[{\"description\":\"An + application that combines a mask generation model with a zero-shot object + detection model for text-guided image segmentation.\",\"id\":\"merve/OWLSAM2\"},{\"description\":\"An + application that compares the performance of a large and a small mask generation + model.\",\"id\":\"merve/slimsam\"},{\"description\":\"An application based + on an improved mask generation model.\",\"id\":\"SkalskiP/segment-anything-model-2\"},{\"description\":\"An + application to remove objects from videos using mask generation models.\",\"id\":\"SkalskiP/SAM_and_ProPainter\"}],\"summary\":\"Mask + generation is the task of generating masks that identify a specific object + or region of interest in a given image. Masks are often used in segmentation + tasks, where they provide a precise way to isolate the object of interest + for further processing or analysis.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"mask-generation\",\"label\":\"Mask + Generation\",\"libraries\":[\"transformers\"]},\"object-detection\":{\"datasets\":[{\"description\":\"Widely + used benchmark dataset for multiple vision tasks.\",\"id\":\"merve/coco2017\"},{\"description\":\"Multi-task + computer vision benchmark.\",\"id\":\"merve/pascal-voc\"}],\"demo\":{\"inputs\":[{\"filename\":\"object-detection-input.jpg\",\"type\":\"img\"}],\"outputs\":[{\"filename\":\"object-detection-output.jpg\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"The + Average Precision (AP) metric is the Area Under the PR Curve (AUC-PR). It + is calculated for each class separately\",\"id\":\"Average Precision\"},{\"description\":\"The + Mean Average Precision (mAP) metric is the overall average of the AP values\",\"id\":\"Mean + Average Precision\"},{\"description\":\"The AP\u03B1 metric is the Average + Precision at the IoU threshold of a \u03B1 value, for example, AP50 and AP75\",\"id\":\"AP\u03B1\"}],\"models\":[{\"description\":\"Solid + object detection model pre-trained on the COCO 2017 dataset.\",\"id\":\"facebook/detr-resnet-50\"},{\"description\":\"Real-time + and accurate object detection model.\",\"id\":\"jameslahm/yolov10x\"},{\"description\":\"Fast + and accurate object detection model trained on COCO and Object365 datasets.\",\"id\":\"PekingU/rtdetr_r18vd_coco_o365\"}],\"spaces\":[{\"description\":\"Leaderboard + to compare various object detection models across several metrics.\",\"id\":\"hf-vision/object_detection_leaderboard\"},{\"description\":\"An + application that contains various object detection models to try from.\",\"id\":\"Gradio-Blocks/Object-Detection-With-DETR-and-YOLOS\"},{\"description\":\"An + application that shows multiple cutting edge techniques for object detection + and tracking.\",\"id\":\"kadirnar/torchyolo\"},{\"description\":\"An object + tracking, segmentation and inpainting application.\",\"id\":\"VIPLab/Track-Anything\"},{\"description\":\"Very + fast object tracking application based on object detection.\",\"id\":\"merve/RT-DETR-tracking-coco\"}],\"summary\":\"Object + Detection models allow users to identify objects of certain defined classes. + Object detection models receive an image as input and output the images with + bounding boxes and labels on detected objects.\",\"widgetModels\":[\"facebook/detr-resnet-50\"],\"youtubeId\":\"WdAeKSOpxhw\",\"id\":\"object-detection\",\"label\":\"Object + Detection\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"video-classification\":{\"datasets\":[{\"description\":\"Benchmark + dataset used for video classification with videos that belong to 400 classes.\",\"id\":\"kinetics400\"}],\"demo\":{\"inputs\":[{\"filename\":\"video-classification-input.gif\",\"type\":\"img\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"Playing + Guitar\",\"score\":0.514},{\"label\":\"Playing Tennis\",\"score\":0.193},{\"label\":\"Cooking\",\"score\":0.068}]}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"\",\"id\":\"f1\"}],\"models\":[{\"description\":\"Strong + Video Classification model trained on the Kinetics 400 dataset.\",\"id\":\"google/vivit-b-16x2-kinetics400\"},{\"description\":\"Strong + Video Classification model trained on the Kinetics 400 dataset.\",\"id\":\"microsoft/xclip-base-patch32\"}],\"spaces\":[{\"description\":\"An + application that classifies video at different timestamps.\",\"id\":\"nateraw/lavila\"},{\"description\":\"An + application that classifies video.\",\"id\":\"fcakyon/video-classification\"}],\"summary\":\"Video + classification is the task of assigning a label or class to an entire video. + Videos are expected to have only one class for each video. Video classification + models take a video as input and return a prediction about which class the + video belongs to.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"video-classification\",\"label\":\"Video + Classification\",\"libraries\":[\"transformers\"]},\"question-answering\":{\"datasets\":[{\"description\":\"A + famous question answering dataset based on English articles from Wikipedia.\",\"id\":\"squad_v2\"},{\"description\":\"A + dataset of aggregated anonymized actual queries issued to the Google search + engine.\",\"id\":\"natural_questions\"}],\"demo\":{\"inputs\":[{\"label\":\"Question\",\"content\":\"Which + name is also used to describe the Amazon rainforest in English?\",\"type\":\"text\"},{\"label\":\"Context\",\"content\":\"The + Amazon rainforest, also known in English as Amazonia or the Amazon Jungle\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Answer\",\"content\":\"Amazonia\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"Exact + Match is a metric based on the strict character match of the predicted answer + and the right answer. For answers predicted correctly, the Exact Match will + be 1. Even if only one character is different, Exact Match will be 0\",\"id\":\"exact-match\"},{\"description\":\" + The F1-Score metric is useful if we value both false positives and false negatives + equally. The F1-Score is calculated on each word in the predicted sequence + against the correct answer\",\"id\":\"f1\"}],\"models\":[{\"description\":\"A + robust baseline model for most question answering domains.\",\"id\":\"deepset/roberta-base-squad2\"},{\"description\":\"Small + yet robust model that can answer questions.\",\"id\":\"distilbert/distilbert-base-cased-distilled-squad\"},{\"description\":\"A + special model that can answer questions from tables.\",\"id\":\"google/tapas-base-finetuned-wtq\"}],\"spaces\":[{\"description\":\"An + application that can answer a long question from Wikipedia.\",\"id\":\"deepset/wikipedia-assistant\"}],\"summary\":\"Question + Answering models can retrieve the answer to a question from a given text, + which is useful for searching for an answer in a document. Some question answering + models can generate answers without context!\",\"widgetModels\":[\"deepset/roberta-base-squad2\"],\"youtubeId\":\"ajPx5LwJD-I\",\"id\":\"question-answering\",\"label\":\"Question + Answering\",\"libraries\":[\"adapter-transformers\",\"allennlp\",\"transformers\",\"transformers.js\"]},\"reinforcement-learning\":{\"datasets\":[{\"description\":\"A + curation of widely used datasets for Data Driven Deep Reinforcement Learning + (D4RL)\",\"id\":\"edbeeching/decision_transformer_gym_replay\"}],\"demo\":{\"inputs\":[{\"label\":\"State\",\"content\":\"Red + traffic light, pedestrians are about to pass.\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Action\",\"content\":\"Stop + the car.\",\"type\":\"text\"},{\"label\":\"Next State\",\"content\":\"Yellow + light, pedestrians have crossed.\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"Accumulated + reward across all time steps discounted by a factor that ranges between 0 + and 1 and determines how much the agent optimizes for future relative to immediate + rewards. Measures how good is the policy ultimately found by a given algorithm + considering uncertainty over the future.\",\"id\":\"Discounted Total Reward\"},{\"description\":\"Average + return obtained after running the policy for a certain number of evaluation + episodes. As opposed to total reward, mean reward considers how much reward + a given algorithm receives while learning.\",\"id\":\"Mean Reward\"},{\"description\":\"Measures + how good a given algorithm is after a predefined time. Some algorithms may + be guaranteed to converge to optimal behavior across many time steps. However, + an agent that reaches an acceptable level of optimality after a given time + horizon may be preferable to one that ultimately reaches optimality but takes + a long time.\",\"id\":\"Level of Performance After Some Time\"}],\"models\":[{\"description\":\"A + Reinforcement Learning model trained on expert data from the Gym Hopper environment\",\"id\":\"edbeeching/decision-transformer-gym-hopper-expert\"},{\"description\":\"A + PPO agent playing seals/CartPole-v0 using the stable-baselines3 library and + the RL Zoo.\",\"id\":\"HumanCompatibleAI/ppo-seals-CartPole-v0\"}],\"spaces\":[{\"description\":\"An + application for a cute puppy agent learning to catch a stick.\",\"id\":\"ThomasSimonini/Huggy\"},{\"description\":\"An + application to play Snowball Fight with a reinforcement learning agent.\",\"id\":\"ThomasSimonini/SnowballFight\"}],\"summary\":\"Reinforcement + learning is the computational approach of learning from action by interacting + with an environment through trial and error and receiving rewards (negative + or positive) as feedback\",\"widgetModels\":[],\"youtubeId\":\"q0BiUn5LiBc\",\"id\":\"reinforcement-learning\",\"label\":\"Reinforcement + Learning\",\"libraries\":[\"transformers\",\"stable-baselines3\",\"ml-agents\",\"sample-factory\"]},\"sentence-similarity\":{\"datasets\":[{\"description\":\"Bing + queries with relevant passages from various web sources.\",\"id\":\"ms_marco\"}],\"demo\":{\"inputs\":[{\"label\":\"Source + sentence\",\"content\":\"Machine learning is so easy.\",\"type\":\"text\"},{\"label\":\"Sentences + to compare to\",\"content\":\"Deep learning is so straightforward.\",\"type\":\"text\"},{\"label\":\"\",\"content\":\"This + is so difficult, like rocket science.\",\"type\":\"text\"},{\"label\":\"\",\"content\":\"I + can't believe how much I struggled with this.\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"Deep + learning is so straightforward.\",\"score\":0.623},{\"label\":\"This is so + difficult, like rocket science.\",\"score\":0.413},{\"label\":\"I can't believe + how much I struggled with this.\",\"score\":0.256}]}]},\"metrics\":[{\"description\":\"Reciprocal + Rank is a measure used to rank the relevancy of documents given a set of documents. + Reciprocal Rank is the reciprocal of the rank of the document retrieved, meaning, + if the rank is 3, the Reciprocal Rank is 0.33. If the rank is 1, the Reciprocal + Rank is 1\",\"id\":\"Mean Reciprocal Rank\"},{\"description\":\"The similarity + of the embeddings is evaluated mainly on cosine similarity. It is calculated + as the cosine of the angle between two vectors. It is particularly useful + when your texts are not the same length\",\"id\":\"Cosine Similarity\"}],\"models\":[{\"description\":\"This + model works well for sentences and paragraphs and can be used for clustering/grouping + and semantic searches.\",\"id\":\"sentence-transformers/all-mpnet-base-v2\"},{\"description\":\"A + multilingual robust sentence similarity model..\",\"id\":\"BAAI/bge-m3\"}],\"spaces\":[{\"description\":\"An + application that leverages sentence similarity to answer questions from YouTube + videos.\",\"id\":\"Gradio-Blocks/Ask_Questions_To_YouTube_Videos\"},{\"description\":\"An + application that retrieves relevant PubMed abstracts for a given online article + which can be used as further references.\",\"id\":\"Gradio-Blocks/pubmed-abstract-retriever\"},{\"description\":\"An + application that leverages sentence similarity to summarize text.\",\"id\":\"nickmuchi/article-text-summarizer\"},{\"description\":\"A + guide that explains how Sentence Transformers can be used for semantic search.\",\"id\":\"sentence-transformers/Sentence_Transformers_for_semantic_search\"}],\"summary\":\"Sentence + Similarity is the task of determining how similar two texts are. Sentence + similarity models convert input texts into vectors (embeddings) that capture + semantic information and calculate how close (similar) they are between them. + This task is particularly useful for information retrieval and clustering/grouping.\",\"widgetModels\":[\"BAAI/bge-small-en-v1.5\"],\"youtubeId\":\"VCZq5AkbNEU\",\"id\":\"sentence-similarity\",\"label\":\"Sentence + Similarity\",\"libraries\":[\"sentence-transformers\",\"spacy\",\"transformers.js\"]},\"summarization\":{\"canonicalId\":\"text2text-generation\",\"datasets\":[{\"description\":\"News + articles in five different languages along with their summaries. Widely used + for benchmarking multilingual summarization models.\",\"id\":\"mlsum\"},{\"description\":\"English + conversations and their summaries. Useful for benchmarking conversational + agents.\",\"id\":\"samsum\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"The + tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey + building, and the tallest structure in Paris. Its base is square, measuring + 125 metres (410 ft) on each side. It was the first structure to reach a height + of 300 metres. Excluding transmitters, the Eiffel Tower is the second tallest + free-standing structure in France after the Millau Viaduct.\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Output\",\"content\":\"The + tower is 324 metres (1,063 ft) tall, about the same height as an 81-storey + building. It was the first structure to reach a height of 300 metres.\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"The + generated sequence is compared against its summary, and the overlap of tokens + are counted. ROUGE-N refers to overlap of N subsequent tokens, ROUGE-1 refers + to overlap of single tokens and ROUGE-2 is the overlap of two subsequent tokens.\",\"id\":\"rouge\"}],\"models\":[{\"description\":\"A + strong summarization model trained on English news articles. Excels at generating + factual summaries.\",\"id\":\"facebook/bart-large-cnn\"},{\"description\":\"A + summarization model trained on medical articles.\",\"id\":\"Falconsai/medical_summarization\"}],\"spaces\":[{\"description\":\"An + application that can summarize long paragraphs.\",\"id\":\"pszemraj/summarize-long-text\"},{\"description\":\"A + much needed summarization application for terms and conditions.\",\"id\":\"ml6team/distilbart-tos-summarizer-tosdr\"},{\"description\":\"An + application that summarizes long documents.\",\"id\":\"pszemraj/document-summarization\"},{\"description\":\"An + application that can detect errors in abstractive summarization.\",\"id\":\"ml6team/post-processing-summarization\"}],\"summary\":\"Summarization + is the task of producing a shorter version of a document while preserving + its important information. Some models can extract text from the original + input, while other models can generate entirely new text.\",\"widgetModels\":[\"facebook/bart-large-cnn\"],\"youtubeId\":\"yHnr5Dk2zCI\",\"id\":\"summarization\",\"label\":\"Summarization\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"table-question-answering\":{\"datasets\":[{\"description\":\"The + WikiTableQuestions dataset is a large-scale dataset for the task of question + answering on semi-structured tables.\",\"id\":\"wikitablequestions\"},{\"description\":\"WikiSQL + is a dataset of 80654 hand-annotated examples of questions and SQL queries + distributed across 24241 tables from Wikipedia.\",\"id\":\"wikisql\"}],\"demo\":{\"inputs\":[{\"table\":[[\"Rank\",\"Name\",\"No.of + reigns\",\"Combined days\"],[\"1\",\"lou Thesz\",\"3\",\"3749\"],[\"2\",\"Ric + Flair\",\"8\",\"3103\"],[\"3\",\"Harley Race\",\"7\",\"1799\"]],\"type\":\"tabular\"},{\"label\":\"Question\",\"content\":\"What + is the number of reigns for Harley Race?\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Result\",\"content\":\"7\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"Checks + whether the predicted answer(s) is the same as the ground-truth answer(s).\",\"id\":\"Denotation + Accuracy\"}],\"models\":[{\"description\":\"A table question answering model + that is capable of neural SQL execution, i.e., employ TAPEX to execute a SQL + query on a given table.\",\"id\":\"microsoft/tapex-base\"},{\"description\":\"A + robust table question answering model.\",\"id\":\"google/tapas-base-finetuned-wtq\"}],\"spaces\":[{\"description\":\"An + application that answers questions based on table CSV files.\",\"id\":\"katanaml/table-query\"}],\"summary\":\"Table + Question Answering (Table QA) is the answering a question about an information + on a given table.\",\"widgetModels\":[\"google/tapas-base-finetuned-wtq\"],\"id\":\"table-question-answering\",\"label\":\"Table + Question Answering\",\"libraries\":[\"transformers\"]},\"tabular-classification\":{\"datasets\":[{\"description\":\"A + comprehensive curation of datasets covering all benchmarks.\",\"id\":\"inria-soda/tabular-benchmark\"}],\"demo\":{\"inputs\":[{\"table\":[[\"Glucose\",\"Blood + Pressure \",\"Skin Thickness\",\"Insulin\",\"BMI\"],[\"148\",\"72\",\"35\",\"0\",\"33.6\"],[\"150\",\"50\",\"30\",\"0\",\"35.1\"],[\"141\",\"60\",\"29\",\"1\",\"39.2\"]],\"type\":\"tabular\"}],\"outputs\":[{\"table\":[[\"Diabetes\"],[\"1\"],[\"1\"],[\"0\"]],\"type\":\"tabular\"}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"\",\"id\":\"f1\"}],\"models\":[{\"description\":\"Breast + cancer prediction model based on decision trees.\",\"id\":\"scikit-learn/cancer-prediction-trees\"}],\"spaces\":[{\"description\":\"An + application that can predict defective products on a production line.\",\"id\":\"scikit-learn/tabular-playground\"},{\"description\":\"An + application that compares various tabular classification techniques on different + datasets.\",\"id\":\"scikit-learn/classification\"}],\"summary\":\"Tabular + classification is the task of classifying a target category (a group) based + on set of attributes.\",\"widgetModels\":[\"scikit-learn/tabular-playground\"],\"youtubeId\":\"\",\"id\":\"tabular-classification\",\"label\":\"Tabular + Classification\",\"libraries\":[\"sklearn\"]},\"tabular-regression\":{\"datasets\":[{\"description\":\"A + comprehensive curation of datasets covering all benchmarks.\",\"id\":\"inria-soda/tabular-benchmark\"}],\"demo\":{\"inputs\":[{\"table\":[[\"Car + Name\",\"Horsepower\",\"Weight\"],[\"ford torino\",\"140\",\"3,449\"],[\"amc + hornet\",\"97\",\"2,774\"],[\"toyota corolla\",\"65\",\"1,773\"]],\"type\":\"tabular\"}],\"outputs\":[{\"table\":[[\"MPG + (miles per gallon)\"],[\"17\"],[\"18\"],[\"31\"]],\"type\":\"tabular\"}]},\"metrics\":[{\"description\":\"\",\"id\":\"mse\"},{\"description\":\"Coefficient + of determination (or R-squared) is a measure of how well the model fits the + data. Higher R-squared is considered a better fit.\",\"id\":\"r-squared\"}],\"models\":[{\"description\":\"Fish + weight prediction based on length measurements and species.\",\"id\":\"scikit-learn/Fish-Weight\"}],\"spaces\":[{\"description\":\"An + application that can predict weight of a fish based on set of attributes.\",\"id\":\"scikit-learn/fish-weight-prediction\"}],\"summary\":\"Tabular + regression is the task of predicting a numerical value given a set of attributes.\",\"widgetModels\":[\"scikit-learn/Fish-Weight\"],\"youtubeId\":\"\",\"id\":\"tabular-regression\",\"label\":\"Tabular + Regression\",\"libraries\":[\"sklearn\"]},\"text-classification\":{\"datasets\":[{\"description\":\"A + widely used dataset used to benchmark multiple variants of text classification.\",\"id\":\"nyu-mll/glue\"},{\"description\":\"A + text classification dataset used to benchmark natural language inference models\",\"id\":\"stanfordnlp/snli\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"I + love Hugging Face!\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"POSITIVE\",\"score\":0.9},{\"label\":\"NEUTRAL\",\"score\":0.1},{\"label\":\"NEGATIVE\",\"score\":0}]}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"The + F1 metric is the harmonic mean of the precision and recall. It can be calculated + as: F1 = 2 * (precision * recall) / (precision + recall)\",\"id\":\"f1\"}],\"models\":[{\"description\":\"A + robust model trained for sentiment analysis.\",\"id\":\"distilbert/distilbert-base-uncased-finetuned-sst-2-english\"},{\"description\":\"A + sentiment analysis model specialized in financial sentiment.\",\"id\":\"ProsusAI/finbert\"},{\"description\":\"A + sentiment analysis model specialized in analyzing tweets.\",\"id\":\"cardiffnlp/twitter-roberta-base-sentiment-latest\"},{\"description\":\"A + model that can classify languages.\",\"id\":\"papluca/xlm-roberta-base-language-detection\"},{\"description\":\"A + model that can classify text generation attacks.\",\"id\":\"meta-llama/Prompt-Guard-86M\"}],\"spaces\":[{\"description\":\"An + application that can classify financial sentiment.\",\"id\":\"IoannisTr/Tech_Stocks_Trading_Assistant\"},{\"description\":\"A + dashboard that contains various text classification tasks.\",\"id\":\"miesnerjacob/Multi-task-NLP\"},{\"description\":\"An + application that analyzes user reviews in healthcare.\",\"id\":\"spacy/healthsea-demo\"}],\"summary\":\"Text + Classification is the task of assigning a label or class to a given text. + Some use cases are sentiment analysis, natural language inference, and assessing + grammatical correctness.\",\"widgetModels\":[\"distilbert/distilbert-base-uncased-finetuned-sst-2-english\"],\"youtubeId\":\"leNG9fN9FQU\",\"id\":\"text-classification\",\"label\":\"Text + Classification\",\"libraries\":[\"adapter-transformers\",\"setfit\",\"spacy\",\"transformers\",\"transformers.js\"]},\"text-generation\":{\"datasets\":[{\"description\":\"A + large multilingual dataset of text crawled from the web.\",\"id\":\"mc4\"},{\"description\":\"Diverse + open-source data consisting of 22 smaller high-quality datasets. It was used + to train GPT-Neo.\",\"id\":\"the_pile\"},{\"description\":\"Truly open-source, + curated and cleaned dialogue dataset.\",\"id\":\"HuggingFaceH4/ultrachat_200k\"},{\"description\":\"An + instruction dataset with preference ratings on responses.\",\"id\":\"openbmb/UltraFeedback\"},{\"description\":\"A + large synthetic dataset for alignment of text generation models.\",\"id\":\"argilla/magpie-ultra-v0.1\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"Once + upon a time,\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Output\",\"content\":\"Once + upon a time, we knew that our ancestors were on the verge of extinction. The + great explorers and poets of the Old World, from Alexander the Great to Chaucer, + are dead and gone. A good many of our ancient explorers and poets have\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"Cross + Entropy is a metric that calculates the difference between two probability + distributions. Each probability distribution is the distribution of predicted + words\",\"id\":\"Cross Entropy\"},{\"description\":\"The Perplexity metric + is the exponential of the cross-entropy loss. It evaluates the probabilities + assigned to the next word by the model. Lower perplexity indicates better + performance\",\"id\":\"Perplexity\"}],\"models\":[{\"description\":\"A text-generation + model trained to follow instructions.\",\"id\":\"google/gemma-2-2b-it\"},{\"description\":\"Very + powerful text generation model trained to follow instructions.\",\"id\":\"meta-llama/Meta-Llama-3.1-8B-Instruct\"},{\"description\":\"Small + yet powerful text generation model.\",\"id\":\"microsoft/Phi-3-mini-4k-instruct\"},{\"description\":\"A + very powerful model that can solve mathematical problems.\",\"id\":\"AI-MO/NuminaMath-7B-TIR\"},{\"description\":\"Strong + text generation model to follow instructions.\",\"id\":\"Qwen/Qwen2.5-7B-Instruct\"},{\"description\":\"Very + strong open-source large language model.\",\"id\":\"nvidia/Llama-3.1-Nemotron-70B-Instruct\"}],\"spaces\":[{\"description\":\"A + leaderboard to compare different open-source text generation models based + on various benchmarks.\",\"id\":\"open-llm-leaderboard/open_llm_leaderboard\"},{\"description\":\"A + leaderboard for comparing chain-of-thought performance of models.\",\"id\":\"logikon/open_cot_leaderboard\"},{\"description\":\"An + text generation based application based on a very powerful LLaMA2 model.\",\"id\":\"ysharma/Explore_llamav2_with_TGI\"},{\"description\":\"An + text generation based application to converse with Zephyr model.\",\"id\":\"HuggingFaceH4/zephyr-chat\"},{\"description\":\"A + leaderboard that ranks text generation models based on blind votes from people.\",\"id\":\"lmsys/chatbot-arena-leaderboard\"},{\"description\":\"An + chatbot to converse with a very powerful text generation model.\",\"id\":\"mlabonne/phixtral-chat\"}],\"summary\":\"Generating + text is the task of generating new text given another text. These models can, + for example, fill in incomplete text or paraphrase.\",\"widgetModels\":[\"mistralai/Mistral-Nemo-Instruct-2407\"],\"youtubeId\":\"e9gNEAlsOvU\",\"id\":\"text-generation\",\"label\":\"Text + Generation\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"text-to-image\":{\"datasets\":[{\"description\":\"RedCaps + is a large-scale dataset of 12M image-text pairs collected from Reddit.\",\"id\":\"red_caps\"},{\"description\":\"Conceptual + Captions is a dataset consisting of ~3.3M images annotated with captions.\",\"id\":\"conceptual_captions\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"A + city above clouds, pastel colors, Victorian style\",\"type\":\"text\"}],\"outputs\":[{\"filename\":\"image.jpeg\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"The + Inception Score (IS) measure assesses diversity and meaningfulness. It uses + a generated image sample to predict its label. A higher score signifies more + diverse and meaningful images.\",\"id\":\"IS\"},{\"description\":\"The Fr\xE9chet + Inception Distance (FID) calculates the distance between distributions between + synthetic and real samples. A lower FID score indicates better similarity + between the distributions of real and generated images.\",\"id\":\"FID\"},{\"description\":\"R-precision + assesses how the generated image aligns with the provided text description. + It uses the generated images as queries to retrieve relevant text descriptions. + The top 'r' relevant descriptions are selected and used to calculate R-precision + as r/R, where 'R' is the number of ground truth descriptions associated with + the generated images. A higher R-precision value indicates a better model.\",\"id\":\"R-Precision\"}],\"models\":[{\"description\":\"One + of the most powerful image generation models that can generate realistic outputs.\",\"id\":\"black-forest-labs/FLUX.1-dev\"},{\"description\":\"A + powerful yet fast image generation model.\",\"id\":\"latent-consistency/lcm-lora-sdxl\"},{\"description\":\"Text-to-image + model for photorealistic generation.\",\"id\":\"Kwai-Kolors/Kolors\"},{\"description\":\"A + powerful text-to-image model.\",\"id\":\"stabilityai/stable-diffusion-3-medium-diffusers\"}],\"spaces\":[{\"description\":\"A + powerful text-to-image application.\",\"id\":\"stabilityai/stable-diffusion-3-medium\"},{\"description\":\"A + text-to-image application to generate comics.\",\"id\":\"jbilcke-hf/ai-comic-factory\"},{\"description\":\"An + application to match multiple custom image generation models.\",\"id\":\"multimodalart/flux-lora-lab\"},{\"description\":\"A + powerful yet very fast image generation application.\",\"id\":\"latent-consistency/lcm-lora-for-sdxl\"},{\"description\":\"A + gallery to explore various text-to-image models.\",\"id\":\"multimodalart/LoraTheExplorer\"},{\"description\":\"An + application for `text-to-image`, `image-to-image` and image inpainting.\",\"id\":\"ArtGAN/Stable-Diffusion-ControlNet-WebUI\"},{\"description\":\"An + application to generate realistic images given photos of a person and a prompt.\",\"id\":\"InstantX/InstantID\"}],\"summary\":\"Text-to-image + is the task of generating images from input text. These pipelines can also + be used to modify and edit images based on text prompts.\",\"widgetModels\":[\"black-forest-labs/FLUX.1-dev\"],\"youtubeId\":\"\",\"id\":\"text-to-image\",\"label\":\"Text-to-Image\",\"libraries\":[\"diffusers\"]},\"text-to-speech\":{\"canonicalId\":\"text-to-audio\",\"datasets\":[{\"description\":\"10K + hours of multi-speaker English dataset.\",\"id\":\"parler-tts/mls_eng_10k\"},{\"description\":\"Multi-speaker + English dataset.\",\"id\":\"mythicinfinity/libritts_r\"},{\"description\":\"Mulit-lingual + dataset.\",\"id\":\"facebook/multilingual_librispeech\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"I + love audio models on the Hub!\",\"type\":\"text\"}],\"outputs\":[{\"filename\":\"audio.wav\",\"type\":\"audio\"}]},\"metrics\":[{\"description\":\"The + Mel Cepstral Distortion (MCD) metric is used to calculate the quality of generated + speech.\",\"id\":\"mel cepstral distortion\"}],\"models\":[{\"description\":\"A + prompt based, powerful TTS model.\",\"id\":\"parler-tts/parler-tts-large-v1\"},{\"description\":\"A + powerful TTS model that supports English and Chinese.\",\"id\":\"SWivid/F5-TTS\"},{\"description\":\"A + massively multi-lingual TTS model.\",\"id\":\"coqui/XTTS-v2\"},{\"description\":\"A + powerful TTS model.\",\"id\":\"amphion/MaskGCT\"},{\"description\":\"A Llama + based TTS model.\",\"id\":\"OuteAI/OuteTTS-0.1-350M\"}],\"spaces\":[{\"description\":\"An + application for generate highly realistic, multilingual speech.\",\"id\":\"suno/bark\"},{\"description\":\"An + application on XTTS, a voice generation model that lets you clone voices into + different languages.\",\"id\":\"coqui/xtts\"},{\"description\":\"An application + that generates speech in different styles in English and Chinese.\",\"id\":\"mrfakename/E2-F5-TTS\"},{\"description\":\"An + application that synthesizes emotional speech for diverse speaker prompts.\",\"id\":\"parler-tts/parler-tts-expresso\"}],\"summary\":\"Text-to-Speech + (TTS) is the task of generating natural sounding speech given text input. + TTS models can be extended to have a single model that generates speech for + multiple speakers and multiple languages.\",\"widgetModels\":[\"suno/bark\"],\"youtubeId\":\"NW62DpzJ274\",\"id\":\"text-to-speech\",\"label\":\"Text-to-Speech\",\"libraries\":[\"espnet\",\"tensorflowtts\",\"transformers\",\"transformers.js\"]},\"text-to-video\":{\"datasets\":[{\"description\":\"Microsoft + Research Video to Text is a large-scale dataset for open domain video captioning\",\"id\":\"iejMac/CLIP-MSR-VTT\"},{\"description\":\"UCF101 + Human Actions dataset consists of 13,320 video clips from YouTube, with 101 + classes.\",\"id\":\"quchenyuan/UCF101-ZIP\"},{\"description\":\"A high-quality + dataset for human action recognition in YouTube videos.\",\"id\":\"nateraw/kinetics\"},{\"description\":\"A + dataset of video clips of humans performing pre-defined basic actions with + everyday objects.\",\"id\":\"HuggingFaceM4/something_something_v2\"},{\"description\":\"This + dataset consists of text-video pairs and contains noisy samples with irrelevant + video descriptions\",\"id\":\"HuggingFaceM4/webvid\"},{\"description\":\"A + dataset of short Flickr videos for the temporal localization of events with + descriptions.\",\"id\":\"iejMac/CLIP-DiDeMo\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"Darth + Vader is surfing on the waves.\",\"type\":\"text\"}],\"outputs\":[{\"filename\":\"text-to-video-output.gif\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"Inception + Score uses an image classification model that predicts class labels and evaluates + how distinct and diverse the images are. A higher score indicates better video + generation.\",\"id\":\"is\"},{\"description\":\"Frechet Inception Distance + uses an image classification model to obtain image embeddings. The metric + compares mean and standard deviation of the embeddings of real and generated + images. A smaller score indicates better video generation.\",\"id\":\"fid\"},{\"description\":\"Frechet + Video Distance uses a model that captures coherence for changes in frames + and the quality of each frame. A smaller score indicates better video generation.\",\"id\":\"fvd\"},{\"description\":\"CLIPSIM + measures similarity between video frames and text using an image-text similarity + model. A higher score indicates better video generation.\",\"id\":\"clipsim\"}],\"models\":[{\"description\":\"A + strong model for consistent video generation.\",\"id\":\"rain1011/pyramid-flow-sd3\"},{\"description\":\"A + robust model for text-to-video generation.\",\"id\":\"VideoCrafter/VideoCrafter2\"},{\"description\":\"A + cutting-edge text-to-video generation model.\",\"id\":\"TIGER-Lab/T2V-Turbo-V2\"}],\"spaces\":[{\"description\":\"An + application that generates video from text.\",\"id\":\"VideoCrafter/VideoCrafter\"},{\"description\":\"Consistent + video generation application.\",\"id\":\"TIGER-Lab/T2V-Turbo-V2\"},{\"description\":\"A + cutting edge video generation application.\",\"id\":\"Pyramid-Flow/pyramid-flow\"}],\"summary\":\"Text-to-video + models can be used in any application that requires generating consistent + sequence of images from text. \",\"widgetModels\":[],\"id\":\"text-to-video\",\"label\":\"Text-to-Video\",\"libraries\":[\"diffusers\"]},\"token-classification\":{\"datasets\":[{\"description\":\"A + widely used dataset useful to benchmark named entity recognition models.\",\"id\":\"eriktks/conll2003\"},{\"description\":\"A + multilingual dataset of Wikipedia articles annotated for named entity recognition + in over 150 different languages.\",\"id\":\"unimelb-nlp/wikiann\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"My + name is Omar and I live in Z\xFCrich.\",\"type\":\"text\"}],\"outputs\":[{\"text\":\"My + name is Omar and I live in Z\xFCrich.\",\"tokens\":[{\"type\":\"PERSON\",\"start\":11,\"end\":15},{\"type\":\"GPE\",\"start\":30,\"end\":36}],\"type\":\"text-with-tokens\"}]},\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"\",\"id\":\"recall\"},{\"description\":\"\",\"id\":\"precision\"},{\"description\":\"\",\"id\":\"f1\"}],\"models\":[{\"description\":\"A + robust performance model to identify people, locations, organizations and + names of miscellaneous entities.\",\"id\":\"dslim/bert-base-NER\"},{\"description\":\"A + strong model to identify people, locations, organizations and names in multiple + languages.\",\"id\":\"FacebookAI/xlm-roberta-large-finetuned-conll03-english\"},{\"description\":\"A + token classification model specialized on medical entity recognition.\",\"id\":\"blaze999/Medical-NER\"},{\"description\":\"Flair + models are typically the state of the art in named entity recognition tasks.\",\"id\":\"flair/ner-english\"}],\"spaces\":[{\"description\":\"An + application that can recognizes entities, extracts noun chunks and recognizes + various linguistic features of each token.\",\"id\":\"spacy/gradio_pipeline_visualizer\"}],\"summary\":\"Token + classification is a natural language understanding task in which a label is + assigned to some tokens in a text. Some popular token classification subtasks + are Named Entity Recognition (NER) and Part-of-Speech (PoS) tagging. NER models + could be trained to identify specific entities in a text, such as dates, individuals + and places; and PoS tagging would identify, for example, which words in a + text are verbs, nouns, and punctuation marks.\",\"widgetModels\":[\"FacebookAI/xlm-roberta-large-finetuned-conll03-english\"],\"youtubeId\":\"wVHdVlPScxA\",\"id\":\"token-classification\",\"label\":\"Token + Classification\",\"libraries\":[\"adapter-transformers\",\"flair\",\"spacy\",\"span-marker\",\"stanza\",\"transformers\",\"transformers.js\"]},\"translation\":{\"canonicalId\":\"text2text-generation\",\"datasets\":[{\"description\":\"A + dataset of copyright-free books translated into 16 different languages.\",\"id\":\"Helsinki-NLP/opus_books\"},{\"description\":\"An + example of translation between programming languages. This dataset consists + of functions in Java and C#.\",\"id\":\"google/code_x_glue_cc_code_to_code_trans\"}],\"demo\":{\"inputs\":[{\"label\":\"Input\",\"content\":\"My + name is Omar and I live in Z\xFCrich.\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Output\",\"content\":\"Mein + Name ist Omar und ich wohne in Z\xFCrich.\",\"type\":\"text\"}]},\"metrics\":[{\"description\":\"BLEU + score is calculated by counting the number of shared single or subsequent + tokens between the generated sequence and the reference. Subsequent n tokens + are called \u201Cn-grams\u201D. Unigram refers to a single token while bi-gram + refers to token pairs and n-grams refer to n subsequent tokens. The score + ranges from 0 to 1, where 1 means the translation perfectly matched and 0 + did not match at all\",\"id\":\"bleu\"},{\"description\":\"\",\"id\":\"sacrebleu\"}],\"models\":[{\"description\":\"Very + powerful model that can translate many languages between each other, especially + low-resource languages.\",\"id\":\"facebook/nllb-200-1.3B\"},{\"description\":\"A + general-purpose Transformer that can be used to translate from English to + German, French, or Romanian.\",\"id\":\"google-t5/t5-base\"}],\"spaces\":[{\"description\":\"An + application that can translate between 100 languages.\",\"id\":\"Iker/Translate-100-languages\"},{\"description\":\"An + application that can translate between many languages.\",\"id\":\"Geonmo/nllb-translation-demo\"}],\"summary\":\"Translation + is the task of converting text from one language to another.\",\"widgetModels\":[\"facebook/mbart-large-50-many-to-many-mmt\"],\"youtubeId\":\"1JvfrvZgi6c\",\"id\":\"translation\",\"label\":\"Translation\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"unconditional-image-generation\":{\"datasets\":[{\"description\":\"The + CIFAR-100 dataset consists of 60000 32x32 colour images in 100 classes, with + 600 images per class.\",\"id\":\"cifar100\"},{\"description\":\"Multiple images + of celebrities, used for facial expression translation.\",\"id\":\"CelebA\"}],\"demo\":{\"inputs\":[{\"label\":\"Seed\",\"content\":\"42\",\"type\":\"text\"},{\"label\":\"Number + of images to generate:\",\"content\":\"4\",\"type\":\"text\"}],\"outputs\":[{\"filename\":\"unconditional-image-generation-output.jpeg\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"The + inception score (IS) evaluates the quality of generated images. It measures + the diversity of the generated images (the model predictions are evenly distributed + across all possible labels) and their 'distinction' or 'sharpness' (the model + confidently predicts a single label for each image).\",\"id\":\"Inception + score (IS)\"},{\"description\":\"The Fr\xE9chet Inception Distance (FID) evaluates + the quality of images created by a generative model by calculating the distance + between feature vectors for real and generated images.\",\"id\":\"Fre\u0107het + Inception Distance (FID)\"}],\"models\":[{\"description\":\"High-quality image + generation model trained on the CIFAR-10 dataset. It synthesizes images of + the ten classes presented in the dataset using diffusion probabilistic models, + a class of latent variable models inspired by considerations from nonequilibrium + thermodynamics.\",\"id\":\"google/ddpm-cifar10-32\"},{\"description\":\"High-quality + image generation model trained on the 256x256 CelebA-HQ dataset. It synthesizes + images of faces using diffusion probabilistic models, a class of latent variable + models inspired by considerations from nonequilibrium thermodynamics.\",\"id\":\"google/ddpm-celebahq-256\"}],\"spaces\":[{\"description\":\"An + application that can generate realistic faces.\",\"id\":\"CompVis/celeba-latent-diffusion\"}],\"summary\":\"Unconditional + image generation is the task of generating images with no condition in any + context (like a prompt text or another image). Once trained, the model will + create images that resemble its training data distribution.\",\"widgetModels\":[\"\"],\"youtubeId\":\"\",\"id\":\"unconditional-image-generation\",\"label\":\"Unconditional + Image Generation\",\"libraries\":[\"diffusers\"]},\"video-text-to-text\":{\"datasets\":[{\"description\":\"Multiple-choice + questions and answers about videos.\",\"id\":\"lmms-lab/Video-MME\"},{\"description\":\"A + dataset of instructions and question-answer pairs about videos.\",\"id\":\"lmms-lab/VideoChatGPT\"},{\"description\":\"Large + video understanding dataset.\",\"id\":\"HuggingFaceFV/finevideo\"}],\"demo\":{\"inputs\":[{\"filename\":\"video-text-to-text-input.gif\",\"type\":\"img\"},{\"label\":\"Text + Prompt\",\"content\":\"What is happening in this video?\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Answer\",\"content\":\"The + video shows a series of images showing a fountain with water jets and a variety + of colorful flowers and butterflies in the background.\",\"type\":\"text\"}]},\"metrics\":[],\"models\":[{\"description\":\"A + robust video-text-to-text model that can take in image and video inputs.\",\"id\":\"llava-hf/llava-onevision-qwen2-72b-ov-hf\"},{\"description\":\"Large + and powerful video-text-to-text model that can take in image and video inputs.\",\"id\":\"llava-hf/LLaVA-NeXT-Video-34B-hf\"}],\"spaces\":[{\"description\":\"An + application to chat with a video-text-to-text model.\",\"id\":\"llava-hf/video-llava\"},{\"description\":\"A + leaderboard for various video-text-to-text models.\",\"id\":\"opencompass/openvlm_video_leaderboard\"}],\"summary\":\"Video-text-to-text + models take in a video and a text prompt and output text. These models are + also called video-language models.\",\"widgetModels\":[\"\"],\"youtubeId\":\"\",\"id\":\"video-text-to-text\",\"label\":\"Video-Text-to-Text\",\"libraries\":[\"transformers\"]},\"visual-question-answering\":{\"datasets\":[{\"description\":\"A + widely used dataset containing questions (with answers) about images.\",\"id\":\"Graphcore/vqa\"},{\"description\":\"A + dataset to benchmark visual reasoning based on text in images.\",\"id\":\"facebook/textvqa\"}],\"demo\":{\"inputs\":[{\"filename\":\"elephant.jpeg\",\"type\":\"img\"},{\"label\":\"Question\",\"content\":\"What + is in this image?\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"elephant\",\"score\":0.97},{\"label\":\"elephants\",\"score\":0.06},{\"label\":\"animal\",\"score\":0.003}]}]},\"isPlaceholder\":false,\"metrics\":[{\"description\":\"\",\"id\":\"accuracy\"},{\"description\":\"Measures + how much a predicted answer differs from the ground truth based on the difference + in their semantic meaning.\",\"id\":\"wu-palmer similarity\"}],\"models\":[{\"description\":\"A + visual question answering model trained to convert charts and plots to text.\",\"id\":\"google/deplot\"},{\"description\":\"A + visual question answering model trained for mathematical reasoning and chart + derendering from images.\",\"id\":\"google/matcha-base\"},{\"description\":\"A + strong visual question answering that answers questions from book covers.\",\"id\":\"google/pix2struct-ocrvqa-large\"}],\"spaces\":[{\"description\":\"An + application that compares visual question answering models across different + tasks.\",\"id\":\"merve/pix2struct\"},{\"description\":\"An application that + can answer questions based on images.\",\"id\":\"nielsr/vilt-vqa\"},{\"description\":\"An + application that can caption images and answer questions about a given image. + \",\"id\":\"Salesforce/BLIP\"},{\"description\":\"An application that can + caption images and answer questions about a given image. \",\"id\":\"vumichien/Img2Prompt\"}],\"summary\":\"Visual + Question Answering is the task of answering open-ended questions based on + an image. They output natural language responses to natural language questions.\",\"widgetModels\":[\"dandelin/vilt-b32-finetuned-vqa\"],\"youtubeId\":\"\",\"id\":\"visual-question-answering\",\"label\":\"Visual + Question Answering\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"zero-shot-classification\":{\"datasets\":[{\"description\":\"A + widely used dataset used to benchmark multiple variants of text classification.\",\"id\":\"nyu-mll/glue\"},{\"description\":\"The + Multi-Genre Natural Language Inference (MultiNLI) corpus is a crowd-sourced + collection of 433k sentence pairs annotated with textual entailment information.\",\"id\":\"nyu-mll/multi_nli\"},{\"description\":\"FEVER + is a publicly available dataset for fact extraction and verification against + textual sources.\",\"id\":\"fever/fever\"}],\"demo\":{\"inputs\":[{\"label\":\"Text + Input\",\"content\":\"Dune is the best movie ever.\",\"type\":\"text\"},{\"label\":\"Candidate + Labels\",\"content\":\"CINEMA, ART, MUSIC\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"CINEMA\",\"score\":0.9},{\"label\":\"ART\",\"score\":0.1},{\"label\":\"MUSIC\",\"score\":0}]}]},\"metrics\":[],\"models\":[{\"description\":\"Powerful + zero-shot text classification model.\",\"id\":\"facebook/bart-large-mnli\"},{\"description\":\"Powerful + zero-shot multilingual text classification model that can accomplish multiple + tasks.\",\"id\":\"MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7\"}],\"spaces\":[],\"summary\":\"Zero-shot + text classification is a task in natural language processing where a model + is trained on a set of labeled examples but is then able to classify new examples + from previously unseen classes.\",\"widgetModels\":[\"facebook/bart-large-mnli\"],\"id\":\"zero-shot-classification\",\"label\":\"Zero-Shot + Classification\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"zero-shot-image-classification\":{\"datasets\":[{\"description\":\"\",\"id\":\"\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-classification-input.jpeg\",\"type\":\"img\"},{\"label\":\"Classes\",\"content\":\"cat, + dog, bird\",\"type\":\"text\"}],\"outputs\":[{\"type\":\"chart\",\"data\":[{\"label\":\"Cat\",\"score\":0.664},{\"label\":\"Dog\",\"score\":0.329},{\"label\":\"Bird\",\"score\":0.008}]}]},\"metrics\":[{\"description\":\"Computes + the number of times the correct label appears in top K labels predicted\",\"id\":\"top-K + accuracy\"}],\"models\":[{\"description\":\"Robust image classification model + trained on publicly available image-caption data.\",\"id\":\"openai/clip-vit-base-patch16\"},{\"description\":\"Strong + zero-shot image classification model.\",\"id\":\"google/siglip-so400m-patch14-224\"},{\"description\":\"Small + yet powerful zero-shot image classification model that can run on edge devices.\",\"id\":\"apple/MobileCLIP-S1-OpenCLIP\"},{\"description\":\"Strong + image classification model for biomedical domain.\",\"id\":\"microsoft/BiomedCLIP-PubMedBERT_256-vit_base_patch16_224\"}],\"spaces\":[{\"description\":\"An + application that leverages zero-shot image classification to find best captions + to generate an image. \",\"id\":\"pharma/CLIP-Interrogator\"},{\"description\":\"An + application to compare different zero-shot image classification models. \",\"id\":\"merve/compare_clip_siglip\"}],\"summary\":\"Zero-shot + image classification is the task of classifying previously unseen classes + during training of a model.\",\"widgetModels\":[\"google/siglip-so400m-patch14-224\"],\"youtubeId\":\"\",\"id\":\"zero-shot-image-classification\",\"label\":\"Zero-Shot + Image Classification\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"zero-shot-object-detection\":{\"datasets\":[],\"demo\":{\"inputs\":[{\"filename\":\"zero-shot-object-detection-input.jpg\",\"type\":\"img\"},{\"label\":\"Classes\",\"content\":\"cat, + dog, bird\",\"type\":\"text\"}],\"outputs\":[{\"filename\":\"zero-shot-object-detection-output.jpg\",\"type\":\"img\"}]},\"metrics\":[{\"description\":\"The + Average Precision (AP) metric is the Area Under the PR Curve (AUC-PR). It + is calculated for each class separately\",\"id\":\"Average Precision\"},{\"description\":\"The + Mean Average Precision (mAP) metric is the overall average of the AP values\",\"id\":\"Mean + Average Precision\"},{\"description\":\"The AP\u03B1 metric is the Average + Precision at the IoU threshold of a \u03B1 value, for example, AP50 and AP75\",\"id\":\"AP\u03B1\"}],\"models\":[{\"description\":\"Solid + zero-shot object detection model.\",\"id\":\"IDEA-Research/grounding-dino-base\"},{\"description\":\"Cutting-edge + zero-shot object detection model.\",\"id\":\"google/owlv2-base-patch16-ensemble\"}],\"spaces\":[{\"description\":\"A + demo to try the state-of-the-art zero-shot object detection model, OWLv2.\",\"id\":\"merve/owlv2\"},{\"description\":\"A + demo that combines a zero-shot object detection and mask generation model + for zero-shot segmentation.\",\"id\":\"merve/OWLSAM\"}],\"summary\":\"Zero-shot + object detection is a computer vision task to detect objects and their classes + in images, without any prior training or knowledge of the classes. Zero-shot + object detection models receive an image as input, as well as a list of candidate + classes, and output the bounding boxes and labels where the objects have been + detected.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"zero-shot-object-detection\",\"label\":\"Zero-Shot + Object Detection\",\"libraries\":[\"transformers\",\"transformers.js\"]},\"text-to-3d\":{\"datasets\":[{\"description\":\"A + large dataset of over 10 million 3D objects.\",\"id\":\"allenai/objaverse-xl\"},{\"description\":\"Descriptive + captions for 3D objects in Objaverse.\",\"id\":\"tiange/Cap3D\"}],\"demo\":{\"inputs\":[{\"label\":\"Prompt\",\"content\":\"a + cat statue\",\"type\":\"text\"}],\"outputs\":[{\"label\":\"Result\",\"content\":\"text-to-3d-3d-output-filename.glb\",\"type\":\"text\"}]},\"metrics\":[],\"models\":[{\"description\":\"Text-to-3D + mesh model by OpenAI\",\"id\":\"openai/shap-e\"},{\"description\":\"Generative + 3D gaussian splatting model.\",\"id\":\"ashawkey/LGM\"}],\"spaces\":[{\"description\":\"Text-to-3D + demo with mesh outputs.\",\"id\":\"hysts/Shap-E\"},{\"description\":\"Text/image-to-3D + demo with splat outputs.\",\"id\":\"ashawkey/LGM\"}],\"summary\":\"Text-to-3D + models take in text input and produce 3D output.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"text-to-3d\",\"label\":\"Text-to-3D\",\"libraries\":[\"diffusers\"]},\"image-to-3d\":{\"datasets\":[{\"description\":\"A + large dataset of over 10 million 3D objects.\",\"id\":\"allenai/objaverse-xl\"},{\"description\":\"A + dataset of isolated object images for evaluating image-to-3D models.\",\"id\":\"dylanebert/iso3d\"}],\"demo\":{\"inputs\":[{\"filename\":\"image-to-3d-image-input.png\",\"type\":\"img\"}],\"outputs\":[{\"label\":\"Result\",\"content\":\"image-to-3d-3d-output-filename.glb\",\"type\":\"text\"}]},\"metrics\":[],\"models\":[{\"description\":\"Fast + image-to-3D mesh model by Tencent.\",\"id\":\"TencentARC/InstantMesh\"},{\"description\":\"Fast + image-to-3D mesh model by StabilityAI\",\"id\":\"stabilityai/TripoSR\"},{\"description\":\"A + scaled up image-to-3D mesh model derived from TripoSR.\",\"id\":\"hwjiang/Real3D\"},{\"description\":\"Generative + 3D gaussian splatting model.\",\"id\":\"ashawkey/LGM\"}],\"spaces\":[{\"description\":\"Leaderboard + to evaluate image-to-3D models.\",\"id\":\"dylanebert/3d-arena\"},{\"description\":\"Image-to-3D + demo with mesh outputs.\",\"id\":\"TencentARC/InstantMesh\"},{\"description\":\"Image-to-3D + demo with mesh outputs.\",\"id\":\"stabilityai/TripoSR\"},{\"description\":\"Image-to-3D + demo with mesh outputs.\",\"id\":\"hwjiang/Real3D\"},{\"description\":\"Image-to-3D + demo with splat outputs.\",\"id\":\"dylanebert/LGM-mini\"}],\"summary\":\"Image-to-3D + models take in image input and produce 3D output.\",\"widgetModels\":[],\"youtubeId\":\"\",\"id\":\"image-to-3d\",\"label\":\"Image-to-3D\",\"libraries\":[\"diffusers\"]}}" + headers: + Access-Control-Allow-Origin: + - https://huggingface.co + Access-Control-Expose-Headers: + - X-Repo-Commit,X-Request-Id,X-Error-Code,X-Error-Message,X-Total-Count,ETag,Link,Accept-Ranges,Content-Range,X-Xet-Access-Token,X-Xet-Token-Expiration,X-Xet-Refresh-Route,X-Xet-Cas-Url,X-Xet-Hash + Connection: + - keep-alive + Content-Length: + - '74829' + Content-Type: + - application/json; charset=utf-8 + Date: + - Tue, 07 Jan 2025 17:56:14 GMT + ETag: + - W/"1244d-rY02FKAQRZwcoD2xI/AqH93OPBg" + Referrer-Policy: + - strict-origin-when-cross-origin + Vary: + - Origin + Via: + - 1.1 00e72a1b4c017d7801d19ad924a1b104.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - M7y7PvsG3zevC41QiIkwM9Sp4qY6Y_vvL5qBRt11O-Eqz-emYoYrZw== + X-Amz-Cf-Pop: + - BOG50-C1 + X-Cache: + - Miss from cloudfront + X-Powered-By: + - huggingface-moon + X-Request-Id: + - Root=1-677d6abe-46e651bd7afd54197d6c56fc;eeaf6ce1-de3b-4bba-b1f7-a13f4b009cfb + cross-origin-opener-policy: + - same-origin + status: + code: 200 + message: OK +- request: + body: !!python/object/new:_io.BytesIO + state: !!python/tuple + - !!binary | + ZkxhQwAAACISABIAAAAQADbXCsRDcAAA6gBED+yst/MbV3Uvher5vEX0BAAALg0AAABMYXZmNTgu + NzYuMTAwAQAAABUAAABlbmNvZGVyPUxhdmY1OC43Ni4xMDCBACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+FmsAHBOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5xEb + mThSJ9NAuYQEohYMeCgP//////////////////////////////////////////////B///////// + //////////////////////////////////////+D//////////////////////////////////// + ///////////8H///////////////////////////////////////////////4P////////////// + /////////////////////////////////wf///////////////////////////////////////// + //////g////////////////////////////////////////////////B//////////////////// + ///////////////////////////+D///////////////////////////0zJJ/9r5lJMJJMz8z0/m + STlJJykz+ZyT+STMmfwZJPJJzMzM8kkymSSSdsk5T+ZmSTJ/kkk5nJknJzLJDJ35mZJOUmeZ5mZM + zPMzMzM5kkycymGcpmZM8knmSTJzCnKFOU/JJ5nySSQZlmZkk5QpnmEkz8wpnMyYSc/5mSZlkmT8 + yZJyf5JMpM8z5mZmcySScnlPMzMyZJ8z8knkkz/JJnMuZJOUzDJmfySZSZyTMz5gPzMwkknlJJ5k + wzPOTz/mZhmZJOyT5mEkzSnkk5OTmUlPMJOeTPJLZMk35O5CTnTMk5IeZ9KSZhpOGbMk85yklIad + MgSw5WGYXJKCHhpK1ElKpJJNy8kIqQ0L4SeX2ICzRMQIwyBJmiugpiJkI4uJpIpBGacFjCJQgkei + m+SUeQQUy2IElQSZnmMQjCBIRFSbIQ+OSVWECjaEsoyXzOBAqWEBMOETHoITGIAk29FSI4CCS2RJ + hwlVNFIQbEpJNoyAIYYSgQhUBBUAwZMMRCWoIaL4QiNFrGj213EQFhoMZWE8sYvM6BlQGc6T5V8I + 1cowBqAqg0F0FYSmCVmcrAmBeBO6L0WGtEi5Gr6Sq7GmnQRv/Grxs02/phuPicwTn8VM/ExTAZio + 0SF0PSavTWif5WGLTLTISFZqS4y8yMzurtV3mUQQroMDcFmYj4kIJ2q5VCEo4UIGLyimiiJmFwlx + kEg6IrSiyl7+GG0Swgg0flMDHKh4IiQLBghBzmvNHwhKtVsUQJzvjYYEVGBS0PBsIlYXooQGtzxS + iStSIPo6NhMw2RBRDCkGWilv0OYZSY/yGiIpoFQysIjEkyKW2Mxo+ruLwiVH0KxM3wNMEKFwgmcl + U3O2wmUFByE7NRAQ1gnA6CHPG0RxRAiyKEEaFEBl5ugzleCZcbO+bM65bVZH4cCsykpZgha3pwhm + VJYne2kLbpNlXcErdkhiv69qlLtC4FQTE1yASCwIDjEaz4We4lEm3dFfOktW5CurXnOCxb0bW3+s + tJJVZfLlcEnCwkQ1tddl38raUSUQjFJKF///tQsSeU5qPZ0UcxeH29wjOUL73W2J61v/XyqsmDRR + YoaxOloJq2qrVdtDis0FPU0tT3mzK7pn5IMAkKNLWrrSffvsps72RJrpzLDSULguA6CIdDMgkBgB + wNCB5DTDGESoyGcpdlI3wwvw4TDJmQQBgDwCQpsXAmEypP58Fz6cAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAc0Qo26QXx6eIY7f0IJLhoFQH/////////////////////////////////////////// + ///g////////////////////////////////////////////////B/////////////////////// + ////////////////////////+D///////////////////////////////////////////////8H/ + //////////////////////////////////////////////4P//////////////////////////// + ///////////////////wf///////////////////////////////////////////////g/////// + /////////////////////////////////////////B///////////////////////////6UzJ/8p + ylJhhSmZOUKES5JPOGEmTMJJzyZkhM5kwoZMzlmQTmQkkwyk8wkknMPMzMzMwzP5hncz5JCSZmeh + QoZPTJlOSGemZJIQkzJgUKcp55ycJDOGZyZJnz4ZmGEkJJJT5JMiZJM+mZacwzLWmSGZJCT4KZIT + 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 + qZmIbFfMTVXNh3CIRAkGHkIif6hIizVCx/BEJRFAhD/YGycFIQgKdzNCgRDQFrGTIFoSbMQKJtdO + FvxcFsiaSFFUztIkJBY7ynhQQkEJCnE89aKSk4iEt8VoSWi0nJKggiTQEoj7XiKIIS7DRNEJLURH + IylBBFoVo0JiI8KVtoTGQt5JAk8AiBzJQIBEITDLoZMGBUoQg4FQwkCVgECZJQSQIYJIyDCE3Qs5 + oZDJhPhoQmSQ4jJnDiWiIgYhAgDCJgQjoGkM2MIpKQnJmEKywhEGQhlykw2BzMgWHiZiECYQpkyB + jIiGhCJWpAyoiwhO7QCZIaTQmabCwkJsgWEwJT2TJps+MLKwhCWPkKWmQ4aSMMzIkMkK9KSYU5yZ + KCZ5ySpIXpJSTM7ctmEJnyfklPGyZOZJIhQk0k8ykzJ/znkyf8wBJ+UIeT5oZmTJ85k+ZhSkplLD + MuWGWZJQyc55JylM+ZyZTJJJuUIOTz55M+eTmZcnOULM+TOZTnKUnmZ5OU5mcyhTnPJMspeZkBOU + vymZJT8phzKGcy5mST9lLKZ//lMycyZSUyZkpmTP/34D588z85lPlM8yhlKeYZQzOc/M5mc/nklJ + z5mTM5mTzOeCeZz+UyZQ/mZJyhmcpmcyh/8zJPz5lMzPJzymZJJP2ZnMoAzJQpmZk85ymTM5TJ/M + 4eTzyZlDLPyh8zM8pMy/Mocyn+fgPMkzz8zMyZQyZzMknfymZJkyZlmU5mSfMyT5mcynKU/PJMyQ + aULkmXlOczMyZTyZ+f8zMzJSZmfKZM55mST/9PJMyf7mAySf/pmTP/ZzMmUzJn//9MyZ//////// + //B///////////////////////+D///////////////////////8H/////////////////////// + 4P///////////////////////wf///////////////////////g////////////////////////B + ///////////////////////+D///////////////////////8H///////////////////////4P/ + //////////////////////0oAABEAAAEAAAEAABj//////9rnK9zGVmZL8//WwQkqEuVI2LqjCVC + 339f/wmEfsEHjAg1bZNfll2VfpYX8UJtjhSdRV0QYVw8tsnHEYI79uQh5t8nNSVPWQUtXMO9S9wh + Ur2skmcub28wWKXhM672HoNOO74RR5EkkyQeJ55/aKPCRogktJOH8tQKyS3dTlLTvNO/q/qnQ4SW + KJZfFxV28kChQo9KDXTv7eSlqX4849pGi3JI7SWy6vedUlq1QQrtGHs7cS/u8XPT6vH37pKPJXvP + Gk/0hGklMZ5xONb4lolitpSxLGBsY0JFhKRAKAoomeXyCy0EZLHM5J7Z8t+FCEYQyEKyCSySyB2E + CrSePYI/nL/mCAgQkebaNFycQ7m6kTtUcFDqejBK4U7WAUKnRI8lLDJm8EM9KaYn1QS+qLbGHCuR + 33Vw3zCu7ESJ0Uwl8WW2GDHJT9oY5mwRf0v+imRBhyJaem2qCsXS2qtrGKMxRnpVHml9JvOopGqy + 5hwp2MhZ59xN3yFCILUz9PG4gor4KpUFoUWjkkYLuSROdzAQBBoRwquURJuYYp6t+AxC4oLVPrAD + AjzixcGaDErjhSoGx6hmKQQHcgU6CAQIQEaEClBkdrqFVinUIBq5oQStQPAnrFoQRxfyuwMGVAmY + xV3aVoYERY913Or03gRC+hAQgyKp+JqSoy5HW1DuDEoxNjlamMt15z3BAGCSXYpUT5rkV7+iREdf + NKYIYxldp0xR3QIDCbuXyRkjIqkJoEbbOAgEoIcCGYRwAmwhAggGB4PIITQCMaNAoiMUMBCZWJwC + MNSjEEIQwax7EEcJhAIMOGxCCBEIImGAw2ICFpXEAQjba2RTcqyBENthmgQQEIQRDGaTrxElSXqi + yFsRLauaWQUWDIINlCIxFqDtRCKZmS0IgS6pSlaKiUzyjRBEjOWQkibLtiBDxJbAhmEDwhpJroSW + wmQjJyELZR5IEg5CGkyGJJCYwnmpAgQkxxQsgTjOGZCU5w5YUlIZK6nCcpNhA9CWfJ55NMlJCn0k + POTyc8meZD8pynyaSSZ5JeHJaQckMSHMOwnDaGSTc78yQ55DpOTKS5zDJnc8z9JMlyTk8uQlw0wz + D5zNPD8zPMnPJLPJMznkPLMkpTyTnkz+TM2fPJPPnPJPAeTk8ySaeZJMn7PJMm0JmfmSckvPMknz + mUynmeTk5knJlJSTk+ZJLM88nMmScnJPOc8zJ8/5kkyemUz55kyTmSZ5OSeeSXAeSWfKZJzySmbl + MkknvmSSynPJ/5JJNnkznk5knMzJMzlMp5M8meTmTMySZPZ5knJyfPJyZnzyfKSck8pmZJzyfmSc + mc8mCTkzyTJSn5kmeTPJnkzKf/MyZ5M8nMkzKf/JMymXMzySmef/kknPJyS55Mzcpk5Jk/c/MklM + vOcynMpzLzJOZZmZnLMB5zKZymfOZTPM5ZnmZP0ylJ5JkpnzyZlOeSZznkmcy55JZlM8yz5nPJLm + czMzlmfM8ySUzc/MklM+ZeZJzPMvkk5mZmBOeZJLM88kszmUzzLMyf7MznPJMzLMzOZZmT////// + ///////////////////////wf///////////////////////////////////////////////g/// + /////////////////////////////////////////////B////////////////////////////// + /////////////////+D///////////////////////////////////////////////8H//////// + ///////////////////////////////////////4VMn/+FkcCQAAAAAAAAAAALsn//hZHAoJAAAA + AAAAAAAue//4WRwLDgAAAAAAAAAAXU//+FkcDBsAAAAAAAAAAITG + - 0 + - null + headers: + authorization: + - DUMMY + user-agent: + - unknown/None; hf_hub/0.26.5; python/3.12.8 + method: POST + uri: https://api-inference.huggingface.co/models/openai/whisper-large-v3 + response: + body: + string: '{"error":["Error in `parameters`: field required","Error in `inputs`: + field required"]}' + headers: + Access-Control-Allow-Credentials: + - 'true' + Connection: + - keep-alive + Content-Type: + - application/json + Date: + - Tue, 07 Jan 2025 17:56:28 GMT + Server: + - uvicorn + Transfer-Encoding: + - chunked + Vary: + - Origin, Access-Control-Request-Method, Access-Control-Request-Headers + x-request-id: + - bavOcGSVB1eT5DAjBsbp_ + x-sha: + - 06f233fe06e710322aca913c1bc4249a0d71fce1 + status: + code: 400 + message: Bad Request +version: 1 diff --git a/tests/cassettes/test_huggingface_hub_translation_async.yaml b/tests/cassettes/test_huggingface_hub_translation_async.yaml new file mode 100644 index 0000000..001a0cf --- /dev/null +++ b/tests/cassettes/test_huggingface_hub_translation_async.yaml @@ -0,0 +1,76 @@ +interactions: +- request: + body: null + headers: + authorization: + - DUMMY + user-agent: + - unknown/None; hf_hub/0.26.5; python/3.12.8 + method: POST + uri: https://api-inference.huggingface.co/models/Helsinki-NLP/opus-mt-en-fr + response: + body: + string: '{"error":"Model Helsinki-NLP/opus-mt-en-fr is currently loading","estimated_time":20.0}' + headers: + Access-Control-Allow-Credentials: + - 'true' + Connection: + - keep-alive + Content-Length: + - '87' + Content-Type: + - application/json + Date: + - Tue, 07 Jan 2025 19:08:44 GMT + Vary: + - Origin, Access-Control-Request-Method, Access-Control-Request-Headers + x-request-id: + - Su6nvtXXHEXyewukRfXwn + status: + code: 503 + message: Service Unavailable +- request: + body: null + headers: + X-wait-for-model: + - '1' + authorization: + - DUMMY + user-agent: + - unknown/None; hf_hub/0.26.5; python/3.12.8 + method: POST + uri: https://api-inference.huggingface.co/models/Helsinki-NLP/opus-mt-en-fr + response: + body: + string: "[{\"translation_text\":\"Je m'appelle Wolfgang et je vis \xE0 Berlin.\"}]" + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - x-compute-type, x-compute-time + Connection: + - keep-alive + Content-Type: + - application/json + Date: + - Tue, 07 Jan 2025 19:08:53 GMT + Server: + - uvicorn + Transfer-Encoding: + - chunked + Vary: + - Origin, Access-Control-Request-Method, Access-Control-Request-Headers + x-compute-characters: + - '40' + x-compute-time: + - '0.262' + x-compute-type: + - cpu + x-request-id: + - CM71z_JrLHrX6ZxukkOHf + x-sha: + - dd7f6540a7a48a7f4db59e5c0b9c42c8eea67f18 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/data/hello_there.flac b/tests/data/hello_there.flac new file mode 100644 index 0000000..f67a33e Binary files /dev/null and b/tests/data/hello_there.flac differ diff --git a/tests/test_huggingface_tracer.py b/tests/test_huggingface_tracer.py index 02acfc7..1b74e65 100644 --- a/tests/test_huggingface_tracer.py +++ b/tests/test_huggingface_tracer.py @@ -52,10 +52,9 @@ async def test_huggingface_hub_async_stream_chat(tracer_init): @pytest.mark.vcr -@pytest.mark.asyncio -async def test_huggingface_hub_image_generation_async(tracer_init): - client = AsyncInferenceClient() - response = await client.text_to_image("An astronaut riding a horse on the moon.") +def test_huggingface_hub_image_generation(tracer_init): + client = InferenceClient() + response = client.text_to_image(prompt="An astronaut riding a horse on the moon.") assert response.image assert getattr(response, "scope3ai") is not None assert response.scope3ai.request.input_tokens == 9 @@ -65,9 +64,10 @@ async def test_huggingface_hub_image_generation_async(tracer_init): @pytest.mark.vcr -def test_huggingface_hub_image_generation(tracer_init): - client = InferenceClient() - response = client.text_to_image(prompt="An astronaut riding a horse on the moon.") +@pytest.mark.asyncio +async def test_huggingface_hub_image_generation_async(tracer_init): + client = AsyncInferenceClient() + response = await client.text_to_image("An astronaut riding a horse on the moon.") assert response.image assert getattr(response, "scope3ai") is not None assert response.scope3ai.request.input_tokens == 9 @@ -77,6 +77,7 @@ def test_huggingface_hub_image_generation(tracer_init): @pytest.mark.vcr +@pytest.mark.asyncio def test_huggingface_hub_translation(tracer_init): client = InferenceClient() client.translation( @@ -84,6 +85,17 @@ def test_huggingface_hub_translation(tracer_init): ) +@pytest.mark.vcr +@pytest.mark.asyncio +async def test_huggingface_hub_translation_async(tracer_init): + client = AsyncInferenceClient() + response = await client.translation( + "My name is Wolfgang and I live in Berlin", model="Helsinki-NLP/opus-mt-en-fr" + ) + assert response.scope3ai.impact is None + assert response.scope3ai.request.request_duration_ms == 262 + + @pytest.mark.vcr def test_huggingface_hub_speech_to_text(tracer_init): datadir = Path(__file__).parent / "data"