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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions js/src/lib/interfaces/Libraries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ export enum ModelLibrary {
"allennlp" = "allenNLP",
"asteroid" = "Asteroid",
"diffusers" = "Diffusers",
"doctr" = "docTR",
"espnet" = "ESPnet",
"fairseq" = "Fairseq",
"flair" = "Flair",
"keras" = "Keras",
"k2" = "K2",
"nemo" = "NeMo",
"paddlenlp" = "PaddleNLP",
"pyannote-audio" = "pyannote.audio",
Expand All @@ -32,7 +34,12 @@ export enum ModelLibrary {
"pythae" = "Pythae",
}

export const ALL_MODEL_LIBRARY_KEYS = Object.keys(ModelLibrary) as (keyof typeof ModelLibrary)[];
export type ModelLibraryKey = keyof typeof ModelLibrary;
export const ALL_MODEL_LIBRARY_KEYS = Object.keys(ModelLibrary) as ModelLibraryKey[];

const EXCLUDE_THOSE_LIBRARIES_FROM_DISPLAY: ModelLibraryKey[] = ["doctr", "k2"];

export const ALL_DISPLAY_MODEL_LIBRARY_KEYS = ALL_MODEL_LIBRARY_KEYS.filter(k => !EXCLUDE_THOSE_LIBRARIES_FROM_DISPLAY.includes(k));


/**
Expand Down Expand Up @@ -390,7 +397,7 @@ model = AutoModel.load_from_hf_hub("${model.id}")`;



export const MODEL_LIBRARIES_UI_ELEMENTS: { [key in keyof typeof ModelLibrary]?: LibraryUiElement } = {
export const MODEL_LIBRARIES_UI_ELEMENTS: Partial<Record<ModelLibraryKey, LibraryUiElement>> = {
// ^^ TODO(remove the optional ? marker when Stanza snippet is available)
"adapter-transformers": {
btnLabel: "Adapter Transformers",
Expand Down
64 changes: 31 additions & 33 deletions js/src/lib/interfaces/Types.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import type { ModelLibraryKey } from "./Libraries";

// Warning: order of modalities here determine how they are listed on the /tasks page
export const MODALITIES = [
"cv",
Expand Down Expand Up @@ -758,88 +760,84 @@ export interface TransformersInfo {
* This mapping is generated automatically by "python-api-export-tasks" action in huggingface/api-inference-community repo upon merge.
* Ref: https://github.com/huggingface/api-inference-community/pull/158
*/
export const LIBRARY_TASK_MAPPING_EXCLUDING_TRANSFORMERS: Record<string, Array<string>> = {
"adapter_transformers": [
export const LIBRARY_TASK_MAPPING_EXCLUDING_TRANSFORMERS: Partial<Record<ModelLibraryKey, PipelineType[]>> = {
"adapter-transformers": [
"question-answering",
"text-classification",
"token-classification"
"token-classification",
],
"allennlp": [
"question-answering"
"question-answering",
],
"asteroid": [
"audio-source-separation",
"audio-to-audio"
// "audio-source-separation",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(not a valid pipeline tag)

"audio-to-audio",
],
"diffusers": [
"text-to-image"
"text-to-image",
],
"doctr": [
"object-detection"
"object-detection",
],
"espnet": [
"text-to-speech",
"automatic-speech-recognition"
"automatic-speech-recognition",
],
"fairseq": [
"text-to-speech",
"audio-to-audio"
"audio-to-audio",
],
"fastai": [
"image-classification"
"image-classification",
],
"fasttext": [
"feature-extraction",
"text-classification"
"text-classification",
],
"flair": [
"token-classification"
"token-classification",
],
"k2_sherpa": [
"automatic-speech-recognition"
"k2": [
"automatic-speech-recognition",
],
"keras": [
"image-classification"
"image-classification",
],
"nemo": [
"automatic-speech-recognition"
"automatic-speech-recognition",
],
"paddlenlp": [
"conversational",
"fill-mask"
"fill-mask",
],
"pyannote_audio": [
"automatic-speech-recognition"
"pyannote-audio": [
"automatic-speech-recognition",
],
"sentence_transformers": [
"sentence-transformers": [
"feature-extraction",
"sentence-similarity"
"sentence-similarity",
],
"sklearn": [
"tabular-classification",
"tabular-regression",
"text-classification"
"text-classification",
],
"spacy": [
"token-classification",
"text-classification",
"sentence-similarity"
"sentence-similarity",
],
"speechbrain": [
"audio-classification",
"audio-to-audio",
"automatic-speech-recognition",
"text-to-speech",
"text2text-generation"
"text2text-generation",
],
"stanza": [
"token-classification"
],
"superb": [
"automatic-speech-recognition",
"speech-segmentation"
"token-classification",
],
"timm": [
"image-classification"
]
}
"image-classification",
],
};
4 changes: 2 additions & 2 deletions tasks/src/Types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { ModelLibrary } from "../../js/src/lib/interfaces/Libraries";
import type { ModelLibraryKey } from "../../js/src/lib/interfaces/Libraries";
import type { PipelineType } from "../../js/src/lib/interfaces/Types";

export interface ExampleRepo {
Expand Down Expand Up @@ -46,7 +46,7 @@ export interface TaskData {
id: PipelineType;
isPlaceholder?: boolean;
label: string;
libraries: Array<keyof typeof ModelLibrary>;
libraries: ModelLibraryKey[];
metrics: ExampleRepo[];
models: ExampleRepo[];
summary: string;
Expand Down
4 changes: 2 additions & 2 deletions tasks/src/const.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { ModelLibrary } from "../../js/src/lib/interfaces/Libraries";
import type { ModelLibraryKey } from "../../js/src/lib/interfaces/Libraries";
import type { PipelineType } from "../../js/src/lib/interfaces/Types";

/*
* Model libraries compatible with each ML task
*/
export const TASKS_MODEL_LIBRARIES: Record<PipelineType, Array<keyof typeof ModelLibrary>> = {
export const TASKS_MODEL_LIBRARIES: Record<PipelineType, ModelLibraryKey[]> = {
"audio-classification": ["speechbrain", "transformers"],
"audio-to-audio": ["asteroid", "speechbrain"],
"automatic-speech-recognition": ["espnet", "nemo", "speechbrain", "transformers"],
Expand Down