diff --git a/packages/tasks/README.md b/packages/tasks/README.md index 67285ef19d3f8a36cc57f8cd8f9022b5a7308c50..3c5639b5d7547b6abd4c8549e2999de161998249 100644 --- a/packages/tasks/README.md +++ b/packages/tasks/README.md @@ -9,7 +9,7 @@ The Task pages are made to lower the barrier of entry to understand a task that The task pages avoid jargon to let everyone understand the documentation, and if specific terminology is needed, it is explained on the most basic level possible. This is important to understand before contributing to Tasks: at the end of every task page, the user is expected to be able to find and pull a model from the Hub and use it on their data and see if it works for their use case to come up with a proof of concept. ## How to Contribute -You can open a pull request to contribute a new documentation about a new task. Under `src` we have a folder for every task that contains two files, `about.md` and `data.ts`. `about.md` contains the markdown part of the page, use cases, resources and minimal code block to infer a model that belongs to the task. `data.ts` contains redirections to canonical models and datasets, metrics, the schema of the task and the information the inference widget needs. +You can open a pull request to contribute a new documentation about a new task. Under `src/tasks` we have a folder for every task that contains two files, `about.md` and `data.ts`. `about.md` contains the markdown part of the page, use cases, resources and minimal code block to infer a model that belongs to the task. `data.ts` contains redirections to canonical models and datasets, metrics, the schema of the task and the information the inference widget needs. ![Anatomy of a Task Page](https://huggingface.co/datasets/huggingfacejs/tasks/resolve/main/contribution-guide/anatomy.png) @@ -17,4 +17,18 @@ We have a [`dataset`](https://huggingface.co/datasets/huggingfacejs/tasks) that ![Libraries of a Task](https://huggingface.co/datasets/huggingfacejs/tasks/resolve/main/contribution-guide/libraries.png) -This might seem overwhelming, but you don't necessarily need to add all of these in one pull request or on your own, you can simply contribute one section. Feel free to ask for help whenever you need. \ No newline at end of file +This might seem overwhelming, but you don't necessarily need to add all of these in one pull request or on your own, you can simply contribute one section. Feel free to ask for help whenever you need. + +## Other data + +This package contains the definition files (written in Typescript) for the huggingface.co hub's: + +- **pipeline types** a.k.a. **task types** (used to determine which widget to display on the model page, and which inference API to run) +- **default widget inputs** (when they aren't provided in the model card) +- definitions and UI elements for **third party libraries**. + +Please add to any of those definitions by opening a PR. Thanks ๐Ÿ”ฅ + +โš ๏ธ The hub's definitive doc is at https://huggingface.co/docs/hub. + +## Feedback (feature requests, bugs, etc.) is super welcome ๐Ÿ’™๐Ÿ’š๐Ÿ’›๐Ÿ’œโ™ฅ๏ธ๐Ÿงก diff --git a/packages/tasks/package.json b/packages/tasks/package.json index a40ff74c923a6ba825fc59d5922b18ce1e7cea7d..85985246c4b6b04b49f9a037166ff2bb985724b0 100644 --- a/packages/tasks/package.json +++ b/packages/tasks/package.json @@ -1,7 +1,7 @@ { "name": "@huggingface/tasks", "packageManager": "pnpm@8.10.5", - "version": "0.0.6", + "version": "0.0.7", "description": "List of ML tasks for huggingface.co/tasks", "repository": "https://github.com/huggingface/huggingface.js.git", "publishConfig": { diff --git a/packages/tasks/src/Types.ts b/packages/tasks/src/Types.ts deleted file mode 100644 index 0824893f11271a7fe7873a2a0ddc803c8cdc1017..0000000000000000000000000000000000000000 --- a/packages/tasks/src/Types.ts +++ /dev/null @@ -1,64 +0,0 @@ -import type { ModelLibraryKey } from "./modelLibraries"; -import type { PipelineType } from "./pipelines"; - -export interface ExampleRepo { - description: string; - id: string; -} - -export type TaskDemoEntry = - | { - filename: string; - type: "audio"; - } - | { - data: Array<{ - label: string; - score: number; - }>; - type: "chart"; - } - | { - filename: string; - type: "img"; - } - | { - table: string[][]; - type: "tabular"; - } - | { - content: string; - label: string; - type: "text"; - } - | { - text: string; - tokens: Array<{ - end: number; - start: number; - type: string; - }>; - type: "text-with-tokens"; - }; - -export interface TaskDemo { - inputs: TaskDemoEntry[]; - outputs: TaskDemoEntry[]; -} - -export interface TaskData { - datasets: ExampleRepo[]; - demo: TaskDemo; - id: PipelineType; - isPlaceholder?: boolean; - label: string; - libraries: ModelLibraryKey[]; - metrics: ExampleRepo[]; - models: ExampleRepo[]; - spaces: ExampleRepo[]; - summary: string; - widgetModels: string[]; - youtubeId?: string; -} - -export type TaskDataCustom = Omit; diff --git a/packages/tasks/src/const.ts b/packages/tasks/src/const.ts deleted file mode 100644 index 856e15807a7b1b69a7e11dbc1f051135f86f1b7e..0000000000000000000000000000000000000000 --- a/packages/tasks/src/const.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { ModelLibraryKey } from "./modelLibraries"; -import type { PipelineType } from "./pipelines"; - -/** - * Model libraries compatible with each ML task - */ -export const TASKS_MODEL_LIBRARIES: Record = { - "audio-classification": ["speechbrain", "transformers"], - "audio-to-audio": ["asteroid", "speechbrain"], - "automatic-speech-recognition": ["espnet", "nemo", "speechbrain", "transformers", "transformers.js"], - conversational: ["transformers"], - "depth-estimation": ["transformers"], - "document-question-answering": ["transformers"], - "feature-extraction": ["sentence-transformers", "transformers", "transformers.js"], - "fill-mask": ["transformers", "transformers.js"], - "graph-ml": ["transformers"], - "image-classification": ["keras", "timm", "transformers", "transformers.js"], - "image-segmentation": ["transformers", "transformers.js"], - "image-to-image": ["diffusers"], - "image-to-text": ["transformers.js"], - "image-to-video": ["diffusers"], - "video-classification": ["transformers"], - "mask-generation": ["transformers"], - "multiple-choice": ["transformers"], - "object-detection": ["transformers", "transformers.js"], - other: [], - "question-answering": ["adapter-transformers", "allennlp", "transformers", "transformers.js"], - robotics: [], - "reinforcement-learning": ["transformers", "stable-baselines3", "ml-agents", "sample-factory"], - "sentence-similarity": ["sentence-transformers", "spacy", "transformers.js"], - summarization: ["transformers", "transformers.js"], - "table-question-answering": ["transformers"], - "table-to-text": ["transformers"], - "tabular-classification": ["sklearn"], - "tabular-regression": ["sklearn"], - "tabular-to-text": ["transformers"], - "text-classification": ["adapter-transformers", "spacy", "transformers", "transformers.js"], - "text-generation": ["transformers", "transformers.js"], - "text-retrieval": [], - "text-to-image": ["diffusers"], - "text-to-speech": ["espnet", "tensorflowtts", "transformers"], - "text-to-audio": ["transformers"], - "text-to-video": ["diffusers"], - "text2text-generation": ["transformers", "transformers.js"], - "time-series-forecasting": [], - "token-classification": [ - "adapter-transformers", - "flair", - "spacy", - "span-marker", - "stanza", - "transformers", - "transformers.js", - ], - translation: ["transformers", "transformers.js"], - "unconditional-image-generation": ["diffusers"], - "visual-question-answering": ["transformers"], - "voice-activity-detection": [], - "zero-shot-classification": ["transformers", "transformers.js"], - "zero-shot-image-classification": ["transformers", "transformers.js"], - "zero-shot-object-detection": ["transformers"], -}; diff --git a/packages/widgets/src/lib/interfaces/DefaultWidget.ts b/packages/tasks/src/default-widget-inputs.ts similarity index 99% rename from packages/widgets/src/lib/interfaces/DefaultWidget.ts rename to packages/tasks/src/default-widget-inputs.ts index e7ad1962157a8eecf7d88c0b81ae735924fbf3e9..b2c91b8c81e6da11340919ef684609ef69bc15cb 100644 --- a/packages/widgets/src/lib/interfaces/DefaultWidget.ts +++ b/packages/tasks/src/default-widget-inputs.ts @@ -1,5 +1,5 @@ -import type { PipelineType } from "@huggingface/tasks"; -import type { WidgetExample } from "../components/InferenceWidget/shared/WidgetExample.js"; +import type { WidgetExample } from "./model-data"; +import type { PipelineType } from "./pipelines"; type LanguageCode = string; diff --git a/packages/tasks/src/index.ts b/packages/tasks/src/index.ts index e80066ab886e38cbd6ee691cbe6c9dba0cabf17b..8aca76a9c96b03ee1fca4447b40f5d69a3d3df4a 100644 --- a/packages/tasks/src/index.ts +++ b/packages/tasks/src/index.ts @@ -1,5 +1,8 @@ -export type { TaskData, TaskDemo, TaskDemoEntry, ExampleRepo } from "./Types"; -export { TASKS_DATA } from "./tasksData"; +export { LIBRARY_TASK_MAPPING_EXCLUDING_TRANSFORMERS } from "./library-to-tasks"; +export { MODEL_LIBRARIES_UI_ELEMENTS } from "./library-ui-elements"; +export { MAPPING_DEFAULT_WIDGET } from "./default-widget-inputs"; +export type { TaskData, TaskDemo, TaskDemoEntry, ExampleRepo } from "./tasks"; +export * from "./tasks"; export { PIPELINE_DATA, PIPELINE_TYPES, @@ -11,7 +14,35 @@ export { SUBTASK_TYPES, PIPELINE_TYPES_SET, } from "./pipelines"; -export { ModelLibrary, ALL_DISPLAY_MODEL_LIBRARY_KEYS } from "./modelLibraries"; -export type { ModelLibraryKey } from "./modelLibraries"; +export { ModelLibrary, ALL_DISPLAY_MODEL_LIBRARY_KEYS } from "./model-libraries"; +export type { ModelLibraryKey } from "./model-libraries"; +export { + ModelData, + TransformersInfo, + WidgetExample, + WidgetExampleAttribute, + WidgetExampleAssetAndPromptInput, + WidgetExampleAssetAndTextInput, + WidgetExampleAssetAndZeroShotInput, + WidgetExampleAssetInput, + WidgetExampleSentenceSimilarityInput, + WidgetExampleStructuredDataInput, + WidgetExampleTableDataInput, + WidgetExampleTextAndContextInput, + WidgetExampleTextAndTableInput, + WidgetExampleTextInput, + WidgetExampleZeroShotTextInput, + WidgetExampleOutput, + WidgetExampleOutputUrl, + WidgetExampleOutputLabels, + WidgetExampleOutputAnswerScore, + WidgetExampleOutputText, +} from "./model-data"; +export { InferenceDisplayability } from "./model-data"; export { TAG_NFAA_CONTENT, OTHER_TAGS_SUGGESTIONS, TAG_TEXT_GENERATION_INFERENCE, TAG_CUSTOM_CODE } from "./tags"; + +import * as snippets from "./snippets"; +export { snippets }; + +export type { LibraryUiElement } from "./library-ui-elements"; diff --git a/packages/widgets/src/lib/interfaces/LibrariesToTasks.ts b/packages/tasks/src/library-to-tasks.ts similarity index 94% rename from packages/widgets/src/lib/interfaces/LibrariesToTasks.ts rename to packages/tasks/src/library-to-tasks.ts index 780323f9f5514a3eb2d5dc3f6f4afb535c59352e..2865386cbb38b9998871d9676aa6bbaf7c6ecb62 100644 --- a/packages/widgets/src/lib/interfaces/LibrariesToTasks.ts +++ b/packages/tasks/src/library-to-tasks.ts @@ -1,4 +1,5 @@ -import type { ModelLibraryKey, PipelineType } from "@huggingface/tasks"; +import type { ModelLibraryKey } from "./model-libraries"; +import type { PipelineType } from "./pipelines"; /** * Mapping from library name (excluding Transformers) to its supported tasks. diff --git a/packages/widgets/src/lib/interfaces/Libraries.ts b/packages/tasks/src/library-ui-elements.ts similarity index 99% rename from packages/widgets/src/lib/interfaces/Libraries.ts rename to packages/tasks/src/library-ui-elements.ts index 86f1c02d475e2502a28ee69ad33021eaabf87a64..eae52ac8e30eab0a2fe0303d3a14523d0bf11c95 100644 --- a/packages/widgets/src/lib/interfaces/Libraries.ts +++ b/packages/tasks/src/library-ui-elements.ts @@ -1,6 +1,5 @@ -import type { ModelLibraryKey } from "@huggingface/tasks"; -/* eslint-disable @typescript-eslint/naming-convention */ -import type { ModelData } from "./Types.js"; +import type { ModelData } from "./model-data"; +import type { ModelLibraryKey } from "./model-libraries"; /** * Elements configurable by a model library. diff --git a/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetExample.ts b/packages/tasks/src/model-data.ts similarity index 56% rename from packages/widgets/src/lib/components/InferenceWidget/shared/WidgetExample.ts rename to packages/tasks/src/model-data.ts index 6428e7b0a429fd5024b50a034366a31a683db5c1..c8364859d96fc2efa0a99da479aacca5b02ddc16 100644 --- a/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetExample.ts +++ b/packages/tasks/src/model-data.ts @@ -1,3 +1,5 @@ +import type { PipelineType } from "./pipelines"; + type TableData = Record; //#region outputs @@ -112,3 +114,126 @@ export type WidgetExample = type KeysOfUnion = T extends unknown ? keyof T : never; export type WidgetExampleAttribute = KeysOfUnion; + +export enum InferenceDisplayability { + /** + * Yes + */ + Yes = "Yes", + /** + * And then, all the possible reasons why it's no: + */ + ExplicitOptOut = "ExplicitOptOut", + CustomCode = "CustomCode", + LibraryNotDetected = "LibraryNotDetected", + PipelineNotDetected = "PipelineNotDetected", + PipelineLibraryPairNotSupported = "PipelineLibraryPairNotSupported", +} + +/** + * Public interface for model metadata + */ +export interface ModelData { + /** + * id of model (e.g. 'user/repo_name') + */ + id: string; + /** + * Kept for backward compatibility + */ + modelId?: string; + /** + * Whether or not to enable inference widget for this model + */ + inference: InferenceDisplayability; + /** + * is this model private? + */ + private?: boolean; + /** + * this dictionary has useful information about the model configuration + */ + config?: Record & { + adapter_transformers?: { model_class?: string; model_name?: string }; + architectures?: string[]; + sklearn?: { + filename?: string; + model_format?: string; + }; + speechbrain?: { + interface?: string; + }; + peft?: { + base_model_name?: string; + task_type?: string; + }; + }; + /** + * all the model tags + */ + tags?: string[]; + /** + * transformers-specific info to display in the code sample. + */ + transformersInfo?: TransformersInfo; + /** + * Pipeline type + */ + pipeline_tag?: PipelineType | undefined; + /** + * for relevant models, get mask token + */ + mask_token?: string | undefined; + /** + * Example data that will be fed into the widget. + * + * can be set in the model card metadata (under `widget`), + * or by default in `DefaultWidget.ts` + */ + widgetData?: WidgetExample[] | undefined; + /** + * Parameters that will be used by the widget when calling Inference API + * https://huggingface.co/docs/api-inference/detailed_parameters + * + * can be set in the model card metadata (under `inference/parameters`) + * Example: + * inference: + * parameters: + * key: val + */ + cardData?: { + inference?: + | boolean + | { + parameters?: Record; + }; + base_model?: string; + }; + /** + * Library name + * Example: transformers, SpeechBrain, Stanza, etc. + */ + library_name?: string; +} + +/** + * transformers-specific info to display in the code sample. + */ +export interface TransformersInfo { + /** + * e.g. AutoModelForSequenceClassification + */ + auto_model: string; + /** + * if set in config.json's auto_map + */ + custom_class?: string; + /** + * e.g. text-classification + */ + pipeline_tag?: PipelineType; + /** + * e.g. "AutoTokenizer" | "AutoFeatureExtractor" | "AutoProcessor" + */ + processor?: string; +} diff --git a/packages/tasks/src/modelLibraries.ts b/packages/tasks/src/model-libraries.ts similarity index 100% rename from packages/tasks/src/modelLibraries.ts rename to packages/tasks/src/model-libraries.ts diff --git a/packages/widgets/src/lib/inferenceSnippets/serveCurl.ts b/packages/tasks/src/snippets/curl.ts similarity index 95% rename from packages/widgets/src/lib/inferenceSnippets/serveCurl.ts rename to packages/tasks/src/snippets/curl.ts index 7a801e934f84c7843ab074df1f48a7e679d7a36c..3b3f099c4cec194a65e6ab42f89ea48a703eee2d 100644 --- a/packages/widgets/src/lib/inferenceSnippets/serveCurl.ts +++ b/packages/tasks/src/snippets/curl.ts @@ -1,5 +1,5 @@ -import type { PipelineType } from "@huggingface/tasks"; -import type { ModelData } from "../interfaces/Types.js"; +import type { ModelData } from "../model-data.js"; +import type { PipelineType } from "../pipelines.js"; import { getModelInputSnippet } from "./inputs.js"; export const snippetBasic = (model: ModelData, accessToken: string): string => diff --git a/packages/tasks/src/snippets/index.ts b/packages/tasks/src/snippets/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..3cf9b9d236dd2347c76e63300db71a3f964f35dc --- /dev/null +++ b/packages/tasks/src/snippets/index.ts @@ -0,0 +1,6 @@ +import * as inputs from "./inputs"; +import * as curl from "./curl"; +import * as python from "./python"; +import * as js from "./js"; + +export { inputs, curl, python, js }; diff --git a/packages/widgets/src/lib/inferenceSnippets/inputs.ts b/packages/tasks/src/snippets/inputs.ts similarity index 97% rename from packages/widgets/src/lib/inferenceSnippets/inputs.ts rename to packages/tasks/src/snippets/inputs.ts index 64e8c4c4173579dda9f1e3a9f83265b6903bbe96..854aa534577a18f4f53aea620f09840ef5c91ac5 100644 --- a/packages/widgets/src/lib/inferenceSnippets/inputs.ts +++ b/packages/tasks/src/snippets/inputs.ts @@ -1,5 +1,5 @@ -import type { PipelineType } from "@huggingface/tasks"; -import type { ModelData } from "../interfaces/Types.js"; +import type { ModelData } from "../model-data"; +import type { PipelineType } from "../pipelines"; const inputsZeroShotClassification = () => `"Hi, I recently bought a device from your company but it is not working as advertised and I would like to get reimbursed!"`; diff --git a/packages/widgets/src/lib/inferenceSnippets/serveJs.ts b/packages/tasks/src/snippets/js.ts similarity index 97% rename from packages/widgets/src/lib/inferenceSnippets/serveJs.ts rename to packages/tasks/src/snippets/js.ts index ef94c30645a68d6a62f5f4d23427346555d3fd7b..bfb7920e3b3e9aec6070a554ed0f359dbb55db9a 100644 --- a/packages/widgets/src/lib/inferenceSnippets/serveJs.ts +++ b/packages/tasks/src/snippets/js.ts @@ -1,5 +1,5 @@ -import type { PipelineType } from "@huggingface/tasks"; -import type { ModelData } from "../interfaces/Types.js"; +import type { ModelData } from "../model-data.js"; +import type { PipelineType } from "../pipelines.js"; import { getModelInputSnippet } from "./inputs.js"; export const snippetBasic = (model: ModelData, accessToken: string): string => diff --git a/packages/widgets/src/lib/inferenceSnippets/servePython.ts b/packages/tasks/src/snippets/python.ts similarity index 97% rename from packages/widgets/src/lib/inferenceSnippets/servePython.ts rename to packages/tasks/src/snippets/python.ts index 5ddbeabeb178164149565752336d1ede251d1a51..73c8e3dc40d7ed7719e6dd6f726be9e6ac93398a 100644 --- a/packages/widgets/src/lib/inferenceSnippets/servePython.ts +++ b/packages/tasks/src/snippets/python.ts @@ -1,5 +1,5 @@ -import type { PipelineType } from "@huggingface/tasks"; -import type { ModelData } from "../interfaces/Types.js"; +import type { ModelData } from "../model-data.js"; +import type { PipelineType } from "../pipelines.js"; import { getModelInputSnippet } from "./inputs.js"; export const snippetZeroShotClassification = (model: ModelData): string => diff --git a/packages/tasks/src/audio-classification/about.md b/packages/tasks/src/tasks/audio-classification/about.md similarity index 100% rename from packages/tasks/src/audio-classification/about.md rename to packages/tasks/src/tasks/audio-classification/about.md diff --git a/packages/tasks/src/audio-classification/data.ts b/packages/tasks/src/tasks/audio-classification/data.ts similarity index 96% rename from packages/tasks/src/audio-classification/data.ts rename to packages/tasks/src/tasks/audio-classification/data.ts index 4585a71e4252f6483b5bf8d184bfdd0449e10e81..e58bfb6771486e923476f40900259a974c9690ce 100644 --- a/packages/tasks/src/audio-classification/data.ts +++ b/packages/tasks/src/tasks/audio-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/audio-to-audio/about.md b/packages/tasks/src/tasks/audio-to-audio/about.md similarity index 100% rename from packages/tasks/src/audio-to-audio/about.md rename to packages/tasks/src/tasks/audio-to-audio/about.md diff --git a/packages/tasks/src/audio-to-audio/data.ts b/packages/tasks/src/tasks/audio-to-audio/data.ts similarity index 97% rename from packages/tasks/src/audio-to-audio/data.ts rename to packages/tasks/src/tasks/audio-to-audio/data.ts index 56f03188e3e9bbe93d3ebd72b54b06fe1756f8cb..373807a09cd75db6d82acc9b1c0a9f28fef8b71c 100644 --- a/packages/tasks/src/audio-to-audio/data.ts +++ b/packages/tasks/src/tasks/audio-to-audio/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/automatic-speech-recognition/about.md b/packages/tasks/src/tasks/automatic-speech-recognition/about.md similarity index 100% rename from packages/tasks/src/automatic-speech-recognition/about.md rename to packages/tasks/src/tasks/automatic-speech-recognition/about.md diff --git a/packages/tasks/src/automatic-speech-recognition/data.ts b/packages/tasks/src/tasks/automatic-speech-recognition/data.ts similarity index 97% rename from packages/tasks/src/automatic-speech-recognition/data.ts rename to packages/tasks/src/tasks/automatic-speech-recognition/data.ts index a42b61e0760b586eeb71d71c3e949ce4cb1a7e68..bdc44d3975adea70c2988916cf1a207eef5d7467 100644 --- a/packages/tasks/src/automatic-speech-recognition/data.ts +++ b/packages/tasks/src/tasks/automatic-speech-recognition/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/conversational/about.md b/packages/tasks/src/tasks/conversational/about.md similarity index 100% rename from packages/tasks/src/conversational/about.md rename to packages/tasks/src/tasks/conversational/about.md diff --git a/packages/tasks/src/conversational/data.ts b/packages/tasks/src/tasks/conversational/data.ts similarity index 97% rename from packages/tasks/src/conversational/data.ts rename to packages/tasks/src/tasks/conversational/data.ts index 85c4057612b31883e21b208bedf235199055e721..49f213c9252b54f11498741fff0f4e9dc6162841 100644 --- a/packages/tasks/src/conversational/data.ts +++ b/packages/tasks/src/tasks/conversational/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/depth-estimation/about.md b/packages/tasks/src/tasks/depth-estimation/about.md similarity index 100% rename from packages/tasks/src/depth-estimation/about.md rename to packages/tasks/src/tasks/depth-estimation/about.md diff --git a/packages/tasks/src/depth-estimation/data.ts b/packages/tasks/src/tasks/depth-estimation/data.ts similarity index 96% rename from packages/tasks/src/depth-estimation/data.ts rename to packages/tasks/src/tasks/depth-estimation/data.ts index 1a9b0d2a183028679b0f606e84fb07e16f40f8a6..379a4b321338631f8e8b093ee0a03ddabd7afa62 100644 --- a/packages/tasks/src/depth-estimation/data.ts +++ b/packages/tasks/src/tasks/depth-estimation/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/document-question-answering/about.md b/packages/tasks/src/tasks/document-question-answering/about.md similarity index 100% rename from packages/tasks/src/document-question-answering/about.md rename to packages/tasks/src/tasks/document-question-answering/about.md diff --git a/packages/tasks/src/document-question-answering/data.ts b/packages/tasks/src/tasks/document-question-answering/data.ts similarity index 97% rename from packages/tasks/src/document-question-answering/data.ts rename to packages/tasks/src/tasks/document-question-answering/data.ts index 275173fa873a8eea24e6ddb04534a1a6758d16d2..c806792161a8e06bf50474fec6bb60333c735d27 100644 --- a/packages/tasks/src/document-question-answering/data.ts +++ b/packages/tasks/src/tasks/document-question-answering/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/feature-extraction/about.md b/packages/tasks/src/tasks/feature-extraction/about.md similarity index 100% rename from packages/tasks/src/feature-extraction/about.md rename to packages/tasks/src/tasks/feature-extraction/about.md diff --git a/packages/tasks/src/feature-extraction/data.ts b/packages/tasks/src/tasks/feature-extraction/data.ts similarity index 96% rename from packages/tasks/src/feature-extraction/data.ts rename to packages/tasks/src/tasks/feature-extraction/data.ts index 3036e59d78cee1728b1f5a72fea448bb9ad897ca..c06e942d85581d9bd0cec6a2ef38be338915e65d 100644 --- a/packages/tasks/src/feature-extraction/data.ts +++ b/packages/tasks/src/tasks/feature-extraction/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/fill-mask/about.md b/packages/tasks/src/tasks/fill-mask/about.md similarity index 100% rename from packages/tasks/src/fill-mask/about.md rename to packages/tasks/src/tasks/fill-mask/about.md diff --git a/packages/tasks/src/fill-mask/data.ts b/packages/tasks/src/tasks/fill-mask/data.ts similarity index 97% rename from packages/tasks/src/fill-mask/data.ts rename to packages/tasks/src/tasks/fill-mask/data.ts index 4e8204b159ff19257fe19877947236a7e29442bb..45d5d53b9e0f37a36796ad0ce42e54b4cfd13a69 100644 --- a/packages/tasks/src/fill-mask/data.ts +++ b/packages/tasks/src/tasks/fill-mask/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/image-classification/about.md b/packages/tasks/src/tasks/image-classification/about.md similarity index 100% rename from packages/tasks/src/image-classification/about.md rename to packages/tasks/src/tasks/image-classification/about.md diff --git a/packages/tasks/src/image-classification/data.ts b/packages/tasks/src/tasks/image-classification/data.ts similarity index 97% rename from packages/tasks/src/image-classification/data.ts rename to packages/tasks/src/tasks/image-classification/data.ts index 4dcbff4f17ba2f5811d7a1b3421916a5f3aa83aa..875b19742c163bb9f47ae51d1d4436df1846564c 100644 --- a/packages/tasks/src/image-classification/data.ts +++ b/packages/tasks/src/tasks/image-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/image-segmentation/about.md b/packages/tasks/src/tasks/image-segmentation/about.md similarity index 100% rename from packages/tasks/src/image-segmentation/about.md rename to packages/tasks/src/tasks/image-segmentation/about.md diff --git a/packages/tasks/src/image-segmentation/data.ts b/packages/tasks/src/tasks/image-segmentation/data.ts similarity index 98% rename from packages/tasks/src/image-segmentation/data.ts rename to packages/tasks/src/tasks/image-segmentation/data.ts index c6bb835e79575d57b8658b6ae15bd54ec3a7a9b6..93198713b931d6976138640d65d3a475155a5f03 100644 --- a/packages/tasks/src/image-segmentation/data.ts +++ b/packages/tasks/src/tasks/image-segmentation/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/image-to-image/about.md b/packages/tasks/src/tasks/image-to-image/about.md similarity index 100% rename from packages/tasks/src/image-to-image/about.md rename to packages/tasks/src/tasks/image-to-image/about.md diff --git a/packages/tasks/src/image-to-image/data.ts b/packages/tasks/src/tasks/image-to-image/data.ts similarity index 98% rename from packages/tasks/src/image-to-image/data.ts rename to packages/tasks/src/tasks/image-to-image/data.ts index 9688dc249e923dc55661e30ece51c39e7e04510f..5ba7d2f93343b6f28adaf6cefc4f75ace6ec5097 100644 --- a/packages/tasks/src/image-to-image/data.ts +++ b/packages/tasks/src/tasks/image-to-image/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/image-to-text/about.md b/packages/tasks/src/tasks/image-to-text/about.md similarity index 100% rename from packages/tasks/src/image-to-text/about.md rename to packages/tasks/src/tasks/image-to-text/about.md diff --git a/packages/tasks/src/image-to-text/data.ts b/packages/tasks/src/tasks/image-to-text/data.ts similarity index 97% rename from packages/tasks/src/image-to-text/data.ts rename to packages/tasks/src/tasks/image-to-text/data.ts index 6a838ebead9cf02e8104151e88d419d7921581e9..1f9514675a7030da6301bbf81b8f5c126dd45951 100644 --- a/packages/tasks/src/image-to-text/data.ts +++ b/packages/tasks/src/tasks/image-to-text/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/tasksData.ts b/packages/tasks/src/tasks/index.ts similarity index 60% rename from packages/tasks/src/tasksData.ts rename to packages/tasks/src/tasks/index.ts index 0c80e8efda6ac82419f8bd7873b234a6a5d36152..4811c7155b9f423e89c64a818381a093c2404688 100644 --- a/packages/tasks/src/tasksData.ts +++ b/packages/tasks/src/tasks/index.ts @@ -1,5 +1,4 @@ -import { type PipelineType, PIPELINE_DATA } from "./pipelines"; -import type { TaskDataCustom, TaskData } from "./Types"; +import { type PipelineType, PIPELINE_DATA } from "../pipelines"; import audioClassification from "./audio-classification/data"; import audioToAudio from "./audio-to-audio/data"; @@ -34,7 +33,82 @@ import videoClassification from "./video-classification/data"; import visualQuestionAnswering from "./visual-question-answering/data"; import zeroShotClassification from "./zero-shot-classification/data"; import zeroShotImageClassification from "./zero-shot-image-classification/data"; -import { TASKS_MODEL_LIBRARIES } from "./const"; + +import type { ModelLibraryKey } from "../model-libraries"; + +/** + * Model libraries compatible with each ML task + */ +export const TASKS_MODEL_LIBRARIES: Record = { + "audio-classification": ["speechbrain", "transformers"], + "audio-to-audio": ["asteroid", "speechbrain"], + "automatic-speech-recognition": ["espnet", "nemo", "speechbrain", "transformers", "transformers.js"], + conversational: ["transformers"], + "depth-estimation": ["transformers"], + "document-question-answering": ["transformers"], + "feature-extraction": ["sentence-transformers", "transformers", "transformers.js"], + "fill-mask": ["transformers", "transformers.js"], + "graph-ml": ["transformers"], + "image-classification": ["keras", "timm", "transformers", "transformers.js"], + "image-segmentation": ["transformers", "transformers.js"], + "image-to-image": ["diffusers"], + "image-to-text": ["transformers.js"], + "image-to-video": ["diffusers"], + "video-classification": ["transformers"], + "mask-generation": ["transformers"], + "multiple-choice": ["transformers"], + "object-detection": ["transformers", "transformers.js"], + other: [], + "question-answering": ["adapter-transformers", "allennlp", "transformers", "transformers.js"], + robotics: [], + "reinforcement-learning": ["transformers", "stable-baselines3", "ml-agents", "sample-factory"], + "sentence-similarity": ["sentence-transformers", "spacy", "transformers.js"], + summarization: ["transformers", "transformers.js"], + "table-question-answering": ["transformers"], + "table-to-text": ["transformers"], + "tabular-classification": ["sklearn"], + "tabular-regression": ["sklearn"], + "tabular-to-text": ["transformers"], + "text-classification": ["adapter-transformers", "spacy", "transformers", "transformers.js"], + "text-generation": ["transformers", "transformers.js"], + "text-retrieval": [], + "text-to-image": ["diffusers"], + "text-to-speech": ["espnet", "tensorflowtts", "transformers"], + "text-to-audio": ["transformers"], + "text-to-video": ["diffusers"], + "text2text-generation": ["transformers", "transformers.js"], + "time-series-forecasting": [], + "token-classification": [ + "adapter-transformers", + "flair", + "spacy", + "span-marker", + "stanza", + "transformers", + "transformers.js", + ], + translation: ["transformers", "transformers.js"], + "unconditional-image-generation": ["diffusers"], + "visual-question-answering": ["transformers"], + "voice-activity-detection": [], + "zero-shot-classification": ["transformers", "transformers.js"], + "zero-shot-image-classification": ["transformers", "transformers.js"], + "zero-shot-object-detection": ["transformers"], +}; + +/** + * Return the whole TaskData object for a certain task. + * If the partialTaskData argument is left undefined, + * the default placholder data will be used. + */ +function getData(type: PipelineType, partialTaskData: TaskDataCustom = placeholder): TaskData { + return { + ...partialTaskData, + id: type, + label: PIPELINE_DATA[type].name, + libraries: TASKS_MODEL_LIBRARIES[type], + }; +} // To make comparisons easier, task order is the same as in const.ts // Tasks set to undefined won't have an associated task page. @@ -89,16 +163,64 @@ export const TASKS_DATA: Record = { "zero-shot-object-detection": getData("zero-shot-object-detection", placeholder), } as const; -/** - * Return the whole TaskData object for a certain task. - * If the partialTaskData argument is left undefined, - * the default placholder data will be used. - */ -function getData(type: PipelineType, partialTaskData: TaskDataCustom = placeholder): TaskData { - return { - ...partialTaskData, - id: type, - label: PIPELINE_DATA[type].name, - libraries: TASKS_MODEL_LIBRARIES[type], - }; +export interface ExampleRepo { + description: string; + id: string; } + +export type TaskDemoEntry = + | { + filename: string; + type: "audio"; + } + | { + data: Array<{ + label: string; + score: number; + }>; + type: "chart"; + } + | { + filename: string; + type: "img"; + } + | { + table: string[][]; + type: "tabular"; + } + | { + content: string; + label: string; + type: "text"; + } + | { + text: string; + tokens: Array<{ + end: number; + start: number; + type: string; + }>; + type: "text-with-tokens"; + }; + +export interface TaskDemo { + inputs: TaskDemoEntry[]; + outputs: TaskDemoEntry[]; +} + +export interface TaskData { + datasets: ExampleRepo[]; + demo: TaskDemo; + id: PipelineType; + isPlaceholder?: boolean; + label: string; + libraries: ModelLibraryKey[]; + metrics: ExampleRepo[]; + models: ExampleRepo[]; + spaces: ExampleRepo[]; + summary: string; + widgetModels: string[]; + youtubeId?: string; +} + +export type TaskDataCustom = Omit; diff --git a/packages/tasks/src/object-detection/about.md b/packages/tasks/src/tasks/object-detection/about.md similarity index 100% rename from packages/tasks/src/object-detection/about.md rename to packages/tasks/src/tasks/object-detection/about.md diff --git a/packages/tasks/src/object-detection/data.ts b/packages/tasks/src/tasks/object-detection/data.ts similarity index 97% rename from packages/tasks/src/object-detection/data.ts rename to packages/tasks/src/tasks/object-detection/data.ts index 8ffe8ea1b070c7cd89427197093c3e9a18cefbee..dea166a9a5fc5ae8d58fb25b497b40b99bb664a7 100644 --- a/packages/tasks/src/object-detection/data.ts +++ b/packages/tasks/src/tasks/object-detection/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/placeholder/about.md b/packages/tasks/src/tasks/placeholder/about.md similarity index 100% rename from packages/tasks/src/placeholder/about.md rename to packages/tasks/src/tasks/placeholder/about.md diff --git a/packages/tasks/src/placeholder/data.ts b/packages/tasks/src/tasks/placeholder/data.ts similarity index 83% rename from packages/tasks/src/placeholder/data.ts rename to packages/tasks/src/tasks/placeholder/data.ts index 3660b52194e88b0ae1391b34b970d6b6c1e27cc4..0cbc735ad92a29ad51e6db61be1dae02a8bb1dba 100644 --- a/packages/tasks/src/placeholder/data.ts +++ b/packages/tasks/src/tasks/placeholder/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [], diff --git a/packages/tasks/src/question-answering/about.md b/packages/tasks/src/tasks/question-answering/about.md similarity index 100% rename from packages/tasks/src/question-answering/about.md rename to packages/tasks/src/tasks/question-answering/about.md diff --git a/packages/tasks/src/question-answering/data.ts b/packages/tasks/src/tasks/question-answering/data.ts similarity index 97% rename from packages/tasks/src/question-answering/data.ts rename to packages/tasks/src/tasks/question-answering/data.ts index dee5ccf644cb53a148a6a6c0bc4bb398b3bf6c27..f80e138f6bbc362313717bbe727ca0955ad57a32 100644 --- a/packages/tasks/src/question-answering/data.ts +++ b/packages/tasks/src/tasks/question-answering/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/reinforcement-learning/about.md b/packages/tasks/src/tasks/reinforcement-learning/about.md similarity index 100% rename from packages/tasks/src/reinforcement-learning/about.md rename to packages/tasks/src/tasks/reinforcement-learning/about.md diff --git a/packages/tasks/src/reinforcement-learning/data.ts b/packages/tasks/src/tasks/reinforcement-learning/data.ts similarity index 98% rename from packages/tasks/src/reinforcement-learning/data.ts rename to packages/tasks/src/tasks/reinforcement-learning/data.ts index 78731ec20366f3551e0366e3001c7b708c909487..71290d67776c2373b8a20c9f2c434ba75f7b08f5 100644 --- a/packages/tasks/src/reinforcement-learning/data.ts +++ b/packages/tasks/src/tasks/reinforcement-learning/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/sentence-similarity/about.md b/packages/tasks/src/tasks/sentence-similarity/about.md similarity index 100% rename from packages/tasks/src/sentence-similarity/about.md rename to packages/tasks/src/tasks/sentence-similarity/about.md diff --git a/packages/tasks/src/sentence-similarity/data.ts b/packages/tasks/src/tasks/sentence-similarity/data.ts similarity index 98% rename from packages/tasks/src/sentence-similarity/data.ts rename to packages/tasks/src/tasks/sentence-similarity/data.ts index 0f71b39468e209b3faf3690c8d0a1f827d9212c9..6feba5779864dbc99cb71a05233b69c0bc53c8a3 100644 --- a/packages/tasks/src/sentence-similarity/data.ts +++ b/packages/tasks/src/tasks/sentence-similarity/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/summarization/about.md b/packages/tasks/src/tasks/summarization/about.md similarity index 100% rename from packages/tasks/src/summarization/about.md rename to packages/tasks/src/tasks/summarization/about.md diff --git a/packages/tasks/src/summarization/data.ts b/packages/tasks/src/tasks/summarization/data.ts similarity index 98% rename from packages/tasks/src/summarization/data.ts rename to packages/tasks/src/tasks/summarization/data.ts index d0afc85282a6ec9732b9ae56487a4355ca7872c9..b13fa3d163a4116b4b6a6f995ba1e37e28a3854e 100644 --- a/packages/tasks/src/summarization/data.ts +++ b/packages/tasks/src/tasks/summarization/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/table-question-answering/about.md b/packages/tasks/src/tasks/table-question-answering/about.md similarity index 100% rename from packages/tasks/src/table-question-answering/about.md rename to packages/tasks/src/tasks/table-question-answering/about.md diff --git a/packages/tasks/src/table-question-answering/data.ts b/packages/tasks/src/tasks/table-question-answering/data.ts similarity index 97% rename from packages/tasks/src/table-question-answering/data.ts rename to packages/tasks/src/tasks/table-question-answering/data.ts index 6ad9fd0afbe82d4ef0c2454c4fa29b865e62461c..7a4691146623f0f106e062fe96a98d701e104325 100644 --- a/packages/tasks/src/table-question-answering/data.ts +++ b/packages/tasks/src/tasks/table-question-answering/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/tabular-classification/about.md b/packages/tasks/src/tasks/tabular-classification/about.md similarity index 100% rename from packages/tasks/src/tabular-classification/about.md rename to packages/tasks/src/tasks/tabular-classification/about.md diff --git a/packages/tasks/src/tabular-classification/data.ts b/packages/tasks/src/tasks/tabular-classification/data.ts similarity index 96% rename from packages/tasks/src/tabular-classification/data.ts rename to packages/tasks/src/tasks/tabular-classification/data.ts index 5cc3f4b9a98066d9df0c62c8d284f70dfa883db8..c7284cc50e2843ee3515436516687124894ff2d7 100644 --- a/packages/tasks/src/tabular-classification/data.ts +++ b/packages/tasks/src/tasks/tabular-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/tabular-regression/about.md b/packages/tasks/src/tasks/tabular-regression/about.md similarity index 100% rename from packages/tasks/src/tabular-regression/about.md rename to packages/tasks/src/tasks/tabular-regression/about.md diff --git a/packages/tasks/src/tabular-regression/data.ts b/packages/tasks/src/tasks/tabular-regression/data.ts similarity index 96% rename from packages/tasks/src/tabular-regression/data.ts rename to packages/tasks/src/tasks/tabular-regression/data.ts index c5b78753861505113a4a5eab8ab31939dbcf4458..d4f085d24736391e990081104b2aaeb0f713eb98 100644 --- a/packages/tasks/src/tabular-regression/data.ts +++ b/packages/tasks/src/tasks/tabular-regression/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/text-classification/about.md b/packages/tasks/src/tasks/text-classification/about.md similarity index 100% rename from packages/tasks/src/text-classification/about.md rename to packages/tasks/src/tasks/text-classification/about.md diff --git a/packages/tasks/src/text-classification/data.ts b/packages/tasks/src/tasks/text-classification/data.ts similarity index 97% rename from packages/tasks/src/text-classification/data.ts rename to packages/tasks/src/tasks/text-classification/data.ts index 7893753caae5de3036692e32b8135a47f139924b..068785e18d32b01fa145894100103f5a2834c5c5 100644 --- a/packages/tasks/src/text-classification/data.ts +++ b/packages/tasks/src/tasks/text-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/text-generation/about.md b/packages/tasks/src/tasks/text-generation/about.md similarity index 100% rename from packages/tasks/src/text-generation/about.md rename to packages/tasks/src/tasks/text-generation/about.md diff --git a/packages/tasks/src/text-generation/data.ts b/packages/tasks/src/tasks/text-generation/data.ts similarity index 98% rename from packages/tasks/src/text-generation/data.ts rename to packages/tasks/src/tasks/text-generation/data.ts index 277e2009531abb7157c4a305c49afc6dcee7dbd2..d442e247b67b54b191d61d23522507506bc3cbb0 100644 --- a/packages/tasks/src/text-generation/data.ts +++ b/packages/tasks/src/tasks/text-generation/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/text-to-image/about.md b/packages/tasks/src/tasks/text-to-image/about.md similarity index 100% rename from packages/tasks/src/text-to-image/about.md rename to packages/tasks/src/tasks/text-to-image/about.md diff --git a/packages/tasks/src/text-to-image/data.ts b/packages/tasks/src/tasks/text-to-image/data.ts similarity index 98% rename from packages/tasks/src/text-to-image/data.ts rename to packages/tasks/src/tasks/text-to-image/data.ts index 0a6c41ac13abf5149fef865f32fc4afee8f041a1..8724677267b28ee9987bbc2cd83a21ce8829e636 100644 --- a/packages/tasks/src/text-to-image/data.ts +++ b/packages/tasks/src/tasks/text-to-image/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/text-to-speech/about.md b/packages/tasks/src/tasks/text-to-speech/about.md similarity index 100% rename from packages/tasks/src/text-to-speech/about.md rename to packages/tasks/src/tasks/text-to-speech/about.md diff --git a/packages/tasks/src/text-to-speech/data.ts b/packages/tasks/src/tasks/text-to-speech/data.ts similarity index 97% rename from packages/tasks/src/text-to-speech/data.ts rename to packages/tasks/src/tasks/text-to-speech/data.ts index cec5a32c474c9c86760e454a2a48326b7e305416..73560b7afc8e38cc003d1bc60f2af808abc895f1 100644 --- a/packages/tasks/src/text-to-speech/data.ts +++ b/packages/tasks/src/tasks/text-to-speech/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/text-to-video/about.md b/packages/tasks/src/tasks/text-to-video/about.md similarity index 100% rename from packages/tasks/src/text-to-video/about.md rename to packages/tasks/src/tasks/text-to-video/about.md diff --git a/packages/tasks/src/text-to-video/data.ts b/packages/tasks/src/tasks/text-to-video/data.ts similarity index 98% rename from packages/tasks/src/text-to-video/data.ts rename to packages/tasks/src/tasks/text-to-video/data.ts index 17fba749c0eaba78b38ebdc112f55fc60336965e..b9639e1f5a9dfc96607d71604a7f9ef1b9d63904 100644 --- a/packages/tasks/src/text-to-video/data.ts +++ b/packages/tasks/src/tasks/text-to-video/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/token-classification/about.md b/packages/tasks/src/tasks/token-classification/about.md similarity index 100% rename from packages/tasks/src/token-classification/about.md rename to packages/tasks/src/tasks/token-classification/about.md diff --git a/packages/tasks/src/token-classification/data.ts b/packages/tasks/src/tasks/token-classification/data.ts similarity index 97% rename from packages/tasks/src/token-classification/data.ts rename to packages/tasks/src/tasks/token-classification/data.ts index cb3e211df92f7366d1209c194c0ec481cd0380c1..d4510819fd11e9ea38b9e51c43e2fe551d404966 100644 --- a/packages/tasks/src/token-classification/data.ts +++ b/packages/tasks/src/tasks/token-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/translation/about.md b/packages/tasks/src/tasks/translation/about.md similarity index 100% rename from packages/tasks/src/translation/about.md rename to packages/tasks/src/tasks/translation/about.md diff --git a/packages/tasks/src/translation/data.ts b/packages/tasks/src/tasks/translation/data.ts similarity index 97% rename from packages/tasks/src/translation/data.ts rename to packages/tasks/src/tasks/translation/data.ts index 7973a77bd0142c603b5147dcdbf4f97501f8c9fa..c0e4c3a34035806a3321e0c068a9774bb39be044 100644 --- a/packages/tasks/src/translation/data.ts +++ b/packages/tasks/src/tasks/translation/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/unconditional-image-generation/about.md b/packages/tasks/src/tasks/unconditional-image-generation/about.md similarity index 100% rename from packages/tasks/src/unconditional-image-generation/about.md rename to packages/tasks/src/tasks/unconditional-image-generation/about.md diff --git a/packages/tasks/src/unconditional-image-generation/data.ts b/packages/tasks/src/tasks/unconditional-image-generation/data.ts similarity index 98% rename from packages/tasks/src/unconditional-image-generation/data.ts rename to packages/tasks/src/tasks/unconditional-image-generation/data.ts index f9eeac7e45900294fa268234f92a8f7b7f5ff494..8cbf8a016807af5ca14e04d1416175c95d014757 100644 --- a/packages/tasks/src/unconditional-image-generation/data.ts +++ b/packages/tasks/src/tasks/unconditional-image-generation/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/video-classification/about.md b/packages/tasks/src/tasks/video-classification/about.md similarity index 100% rename from packages/tasks/src/video-classification/about.md rename to packages/tasks/src/tasks/video-classification/about.md diff --git a/packages/tasks/src/video-classification/data.ts b/packages/tasks/src/tasks/video-classification/data.ts similarity index 97% rename from packages/tasks/src/video-classification/data.ts rename to packages/tasks/src/tasks/video-classification/data.ts index 2f6e4d93551ddea48d5c64b831d23ac79fbe9e5a..f02d2bbed4c826456b736fddb2e705b13bfce3a3 100644 --- a/packages/tasks/src/video-classification/data.ts +++ b/packages/tasks/src/tasks/video-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/visual-question-answering/about.md b/packages/tasks/src/tasks/visual-question-answering/about.md similarity index 100% rename from packages/tasks/src/visual-question-answering/about.md rename to packages/tasks/src/tasks/visual-question-answering/about.md diff --git a/packages/tasks/src/visual-question-answering/data.ts b/packages/tasks/src/tasks/visual-question-answering/data.ts similarity index 97% rename from packages/tasks/src/visual-question-answering/data.ts rename to packages/tasks/src/tasks/visual-question-answering/data.ts index 83a7e69496945aea9867eadd25d89af4fb9f79c9..be140665d0aa7422f01225523c868ee035fd3a71 100644 --- a/packages/tasks/src/visual-question-answering/data.ts +++ b/packages/tasks/src/tasks/visual-question-answering/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/zero-shot-classification/about.md b/packages/tasks/src/tasks/zero-shot-classification/about.md similarity index 100% rename from packages/tasks/src/zero-shot-classification/about.md rename to packages/tasks/src/tasks/zero-shot-classification/about.md diff --git a/packages/tasks/src/zero-shot-classification/data.ts b/packages/tasks/src/tasks/zero-shot-classification/data.ts similarity index 96% rename from packages/tasks/src/zero-shot-classification/data.ts rename to packages/tasks/src/tasks/zero-shot-classification/data.ts index c949fd0a197936ad37dcb61850703d40771d84e8..0def512406232d8dba2a448d531ca9196deee654 100644 --- a/packages/tasks/src/zero-shot-classification/data.ts +++ b/packages/tasks/src/tasks/zero-shot-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/tasks/src/zero-shot-image-classification/about.md b/packages/tasks/src/tasks/zero-shot-image-classification/about.md similarity index 100% rename from packages/tasks/src/zero-shot-image-classification/about.md rename to packages/tasks/src/tasks/zero-shot-image-classification/about.md diff --git a/packages/tasks/src/zero-shot-image-classification/data.ts b/packages/tasks/src/tasks/zero-shot-image-classification/data.ts similarity index 97% rename from packages/tasks/src/zero-shot-image-classification/data.ts rename to packages/tasks/src/tasks/zero-shot-image-classification/data.ts index be8da73d4c94f7a4b715fb0f8f2ec2851869cb49..2aa252071f50fae32fb46b258e4020acfb57d9b6 100644 --- a/packages/tasks/src/zero-shot-image-classification/data.ts +++ b/packages/tasks/src/tasks/zero-shot-image-classification/data.ts @@ -1,4 +1,4 @@ -import type { TaskDataCustom } from "../Types"; +import type { TaskDataCustom } from ".."; const taskData: TaskDataCustom = { datasets: [ diff --git a/packages/widgets/package.json b/packages/widgets/package.json index ae280861b68509317a4f93c2a93640960a102dac..8490cb450ab3e795a46d5d79105f3f8d1c7a75e0 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -1,7 +1,7 @@ { "name": "@huggingface/widgets", "packageManager": "pnpm@8.10.5", - "version": "0.0.4", + "version": "0.0.15", "publishConfig": { "access": "public" }, diff --git a/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetDropzone/WidgetDropzone.svelte b/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetDropzone/WidgetDropzone.svelte index 3cfb0f007df2465df58dca8dcf24ca1b7e7543b9..bcf052d26b11abb2a9055f7c25f58b9f6c16bf0f 100644 --- a/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetDropzone/WidgetDropzone.svelte +++ b/packages/widgets/src/lib/components/InferenceWidget/shared/WidgetDropzone/WidgetDropzone.svelte @@ -1,5 +1,5 @@