From cd7f1a693df9eebb56f57e445a03b15ce2f4ee7b Mon Sep 17 00:00:00 2001 From: Craig Dennis Date: Thu, 10 Apr 2025 15:48:56 +0100 Subject: [PATCH 1/3] Adds Batch Pill and Feature --- src/components/models/ModelBadges.tsx | 7 + src/components/models/ModelFeatures.tsx | 6 + .../workers-ai-models/bart-large-cnn.json | 10 ++ .../workers-ai-models/bge-base-en-v1.5.json | 152 +++++++++++++---- .../workers-ai-models/bge-large-en-v1.5.json | 154 ++++++++++++++---- src/content/workers-ai-models/bge-m3.json | 95 +++++++++++ .../workers-ai-models/bge-reranker-base.json | 13 +- .../workers-ai-models/bge-small-en-v1.5.json | 152 +++++++++++++---- .../deepseek-r1-distill-qwen-32b.json | 8 + .../workers-ai-models/detr-resnet-50.json | 10 ++ .../llama-3.2-11b-vision-instruct.json | 4 + .../llama-3.3-70b-instruct-fp8-fast.json | 8 +- .../llama-4-scout-17b-16e-instruct.json | 90 ++++++++-- .../workers-ai-models/llama-guard-3-8b.json | 4 + .../workers-ai-models/m2m100-1.2b.json | 101 +++++++++--- src/content/workers-ai-models/melotts.json | 13 +- .../stable-diffusion-v1-5-img2img.json | 10 ++ .../stable-diffusion-v1-5-inpainting.json | 10 ++ .../stable-diffusion-xl-base-1.0.json | 10 ++ .../stable-diffusion-xl-lightning.json | 10 ++ 20 files changed, 725 insertions(+), 142 deletions(-) diff --git a/src/components/models/ModelBadges.tsx b/src/components/models/ModelBadges.tsx index 8babe92155375fa..8b3c751dfebbc01 100644 --- a/src/components/models/ModelBadges.tsx +++ b/src/components/models/ModelBadges.tsx @@ -16,6 +16,13 @@ const ModelBadges = ({ model }: { model: WorkersAIModelsSchema }) => { }; } + if (property_id === "async_queue" && value === "true") { + return { + variant: "note", + text: "Batch", + }; + } + if (property_id === "planned_deprecation_date") { const timestamp = Math.floor(new Date(value as string).getTime() / 1000); diff --git a/src/components/models/ModelFeatures.tsx b/src/components/models/ModelFeatures.tsx index 989c39301957978..a5ffe34acd66028 100644 --- a/src/components/models/ModelFeatures.tsx +++ b/src/components/models/ModelFeatures.tsx @@ -110,6 +110,12 @@ const ModelFeatures = ({ model }: { model: WorkersAIModelsSchema }) => { Yes )} + {properties.async_queue && ( + + Batch + Yes + + )} {properties.price && properties.price.length > 0 && ( Unit Pricing diff --git a/src/content/workers-ai-models/bart-large-cnn.json b/src/content/workers-ai-models/bart-large-cnn.json index e6918212ab67d87..96685f5a515cf92 100644 --- a/src/content/workers-ai-models/bart-large-cnn.json +++ b/src/content/workers-ai-models/bart-large-cnn.json @@ -14,6 +14,16 @@ { "property_id": "beta", "value": "true" + }, + { + "property_id": "price", + "value": [ + { + "unit": "per M input tokens", + "price": 0, + "currency": "USD" + } + ] } ], "schema": { diff --git a/src/content/workers-ai-models/bge-base-en-v1.5.json b/src/content/workers-ai-models/bge-base-en-v1.5.json index 0436c5e9269d49e..0f11c5adee81a2f 100644 --- a/src/content/workers-ai-models/bge-base-en-v1.5.json +++ b/src/content/workers-ai-models/bge-base-en-v1.5.json @@ -11,6 +11,10 @@ "created_at": "2023-09-25 19:21:11.898", "tags": [], "properties": [ + { + "property_id": "async_queue", + "value": "true" + }, { "property_id": "price", "value": [ @@ -37,53 +41,135 @@ "schema": { "input": { "type": "object", - "properties": { - "text": { - "oneOf": [ - { - "type": "string", - "description": "The text to embed", - "minLength": 1 + "oneOf": [ + { + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] }, - { + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + }, + { + "properties": { + "requests": { "type": "array", - "description": "Batch of text values to embed", + "description": "Batch of the embeddings requests to run using async-queue", "items": { - "type": "string", - "description": "The text to embed", - "minLength": 1 - }, - "maxItems": 100 + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + } } + }, + "required": [ + "requests" ] } - }, - "required": [ - "text" ] }, "output": { - "type": "object", - "contentType": "application/json", - "properties": { - "shape": { - "type": "array", - "items": { - "type": "number" + "oneOf": [ + { + "type": "object", + "contentType": "application/json", + "properties": { + "shape": { + "type": "array", + "items": { + "type": "number" + } + }, + "data": { + "type": "array", + "description": "Embeddings of the requested text values", + "items": { + "type": "array", + "description": "Floating point embedding representation shaped by the embedding model", + "items": { + "type": "number" + } + } + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "description": "The pooling method used in the embedding process." + } } }, - "data": { - "type": "array", - "description": "Embeddings of the requested text values", - "items": { - "type": "array", - "description": "Floating point embedding representation shaped by the embedding model", - "items": { - "type": "number" + { + "type": "object", + "contentType": "application/json", + "title": "Async response", + "properties": { + "request_id": { + "type": "string", + "description": "The async request id that can be used to obtain the results." } } } - } + ] } } } \ No newline at end of file diff --git a/src/content/workers-ai-models/bge-large-en-v1.5.json b/src/content/workers-ai-models/bge-large-en-v1.5.json index a12d446087784af..fb514b587d41dc0 100644 --- a/src/content/workers-ai-models/bge-large-en-v1.5.json +++ b/src/content/workers-ai-models/bge-large-en-v1.5.json @@ -11,6 +11,10 @@ "created_at": "2023-11-07 15:43:58.042", "tags": [], "properties": [ + { + "property_id": "async_queue", + "value": "true" + }, { "property_id": "price", "value": [ @@ -23,7 +27,7 @@ }, { "property_id": "info", - "value": "https://huggingface.co/BAAI/bge-base-en-v1.5" + "value": "https://huggingface.co/BAAI/bge-large-en-v1.5" }, { "property_id": "max_input_tokens", @@ -37,53 +41,135 @@ "schema": { "input": { "type": "object", - "properties": { - "text": { - "oneOf": [ - { - "type": "string", - "description": "The text to embed", - "minLength": 1 + "oneOf": [ + { + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] }, - { + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + }, + { + "properties": { + "requests": { "type": "array", - "description": "Batch of text values to embed", + "description": "Batch of the embeddings requests to run using async-queue", "items": { - "type": "string", - "description": "The text to embed", - "minLength": 1 - }, - "maxItems": 100 + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + } } + }, + "required": [ + "requests" ] } - }, - "required": [ - "text" ] }, "output": { - "type": "object", - "contentType": "application/json", - "properties": { - "shape": { - "type": "array", - "items": { - "type": "number" + "oneOf": [ + { + "type": "object", + "contentType": "application/json", + "properties": { + "shape": { + "type": "array", + "items": { + "type": "number" + } + }, + "data": { + "type": "array", + "description": "Embeddings of the requested text values", + "items": { + "type": "array", + "description": "Floating point embedding representation shaped by the embedding model", + "items": { + "type": "number" + } + } + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "description": "The pooling method used in the embedding process." + } } }, - "data": { - "type": "array", - "description": "Embeddings of the requested text values", - "items": { - "type": "array", - "description": "Floating point embedding representation shaped by the embedding model", - "items": { - "type": "number" + { + "type": "object", + "contentType": "application/json", + "title": "Async response", + "properties": { + "request_id": { + "type": "string", + "description": "The async request id that can be used to obtain the results." } } } - } + ] } } } \ No newline at end of file diff --git a/src/content/workers-ai-models/bge-m3.json b/src/content/workers-ai-models/bge-m3.json index 5020665ee9eec90..02420e31c02c727 100644 --- a/src/content/workers-ai-models/bge-m3.json +++ b/src/content/workers-ai-models/bge-m3.json @@ -11,6 +11,10 @@ "created_at": "2024-05-22 19:27:09.781", "tags": [], "properties": [ + { + "property_id": "async_queue", + "value": "true" + }, { "property_id": "price", "value": [ @@ -89,6 +93,86 @@ "required": [ "text" ] + }, + { + "properties": { + "requests": { + "type": "array", + "description": "Batch of the embeddings requests to run using async-queue", + "items": { + "type": "object", + "oneOf": [ + { + "title": "BGE M3 Input Query and Contexts", + "properties": { + "query": { + "type": "string", + "minLength": 1, + "description": "A query you wish to perform against the provided contexts. If no query is provided the model with respond with embeddings for contexts" + }, + "contexts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "minLength": 1, + "description": "One of the provided context content" + } + } + }, + "description": "List of provided contexts. Note that the index in this array is important, as the response will refer to it." + }, + "truncate_inputs": { + "type": "boolean", + "default": false, + "description": "When provided with too long context should the model error out or truncate the context to fit?" + } + }, + "required": [ + "contexts" + ] + }, + { + "title": "BGE M3 Input Embedding", + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] + }, + "truncate_inputs": { + "type": "boolean", + "default": false, + "description": "When provided with too long context should the model error out or truncate the context to fit?" + } + }, + "required": [ + "text" + ] + } + ] + } + } + }, + "required": [ + "requests" + ] } ] }, @@ -174,6 +258,17 @@ "description": "The pooling method used in the embedding process." } } + }, + { + "type": "object", + "contentType": "application/json", + "title": "Async response", + "properties": { + "request_id": { + "type": "string", + "description": "The async request id that can be used to obtain the results." + } + } } ] } diff --git a/src/content/workers-ai-models/bge-reranker-base.json b/src/content/workers-ai-models/bge-reranker-base.json index 2a6b997ae93a53f..68f1cc2e25aa2b3 100644 --- a/src/content/workers-ai-models/bge-reranker-base.json +++ b/src/content/workers-ai-models/bge-reranker-base.json @@ -10,7 +10,18 @@ }, "created_at": "2025-02-14 12:28:19.009", "tags": [], - "properties": [], + "properties": [ + { + "property_id": "price", + "value": [ + { + "unit": "per M input tokens", + "price": 0.0031, + "currency": "USD" + } + ] + } + ], "schema": { "input": { "type": "object", diff --git a/src/content/workers-ai-models/bge-small-en-v1.5.json b/src/content/workers-ai-models/bge-small-en-v1.5.json index 90a04f9672920f0..13203c5a65b5b07 100644 --- a/src/content/workers-ai-models/bge-small-en-v1.5.json +++ b/src/content/workers-ai-models/bge-small-en-v1.5.json @@ -11,6 +11,10 @@ "created_at": "2023-11-07 15:43:58.042", "tags": [], "properties": [ + { + "property_id": "async_queue", + "value": "true" + }, { "property_id": "price", "value": [ @@ -37,53 +41,135 @@ "schema": { "input": { "type": "object", - "properties": { - "text": { - "oneOf": [ - { - "type": "string", - "description": "The text to embed", - "minLength": 1 + "oneOf": [ + { + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] }, - { + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + }, + { + "properties": { + "requests": { "type": "array", - "description": "Batch of text values to embed", + "description": "Batch of the embeddings requests to run using async-queue", "items": { - "type": "string", - "description": "The text to embed", - "minLength": 1 - }, - "maxItems": 100 + "properties": { + "text": { + "oneOf": [ + { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + { + "type": "array", + "description": "Batch of text values to embed", + "items": { + "type": "string", + "description": "The text to embed", + "minLength": 1 + }, + "maxItems": 100 + } + ] + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "default": "mean", + "description": "The pooling method used in the embedding process. `cls` pooling will generate more accurate embeddings on larger inputs - however, embeddings created with cls pooling are not compatible with embeddings generated with mean pooling. The default pooling method is `mean` in order for this to not be a breaking change, but we highly suggest using the new `cls` pooling for better accuracy." + } + }, + "required": [ + "text" + ] + } } + }, + "required": [ + "requests" ] } - }, - "required": [ - "text" ] }, "output": { - "type": "object", - "contentType": "application/json", - "properties": { - "shape": { - "type": "array", - "items": { - "type": "number" + "oneOf": [ + { + "type": "object", + "contentType": "application/json", + "properties": { + "shape": { + "type": "array", + "items": { + "type": "number" + } + }, + "data": { + "type": "array", + "description": "Embeddings of the requested text values", + "items": { + "type": "array", + "description": "Floating point embedding representation shaped by the embedding model", + "items": { + "type": "number" + } + } + }, + "pooling": { + "type": "string", + "enum": [ + "mean", + "cls" + ], + "description": "The pooling method used in the embedding process." + } } }, - "data": { - "type": "array", - "description": "Embeddings of the requested text values", - "items": { - "type": "array", - "description": "Floating point embedding representation shaped by the embedding model", - "items": { - "type": "number" + { + "type": "object", + "contentType": "application/json", + "title": "Async response", + "properties": { + "request_id": { + "type": "string", + "description": "The async request id that can be used to obtain the results." } } } - } + ] } } } \ No newline at end of file diff --git a/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json b/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json index 957c5d62de8fdaa..57470636e4c1a65 100644 --- a/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json +++ b/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json @@ -11,6 +11,10 @@ "created_at": "2025-01-22 19:48:55.776", "tags": [], "properties": [ + { + "property_id": "context_window", + "value": "80000" + }, { "property_id": "price", "value": [ @@ -26,6 +30,10 @@ } ] }, + { + "property_id": "lora", + "value": "true" + }, { "property_id": "terms", "value": "https://github.com/deepseek-ai/DeepSeek-R1/blob/main/LICENSE" diff --git a/src/content/workers-ai-models/detr-resnet-50.json b/src/content/workers-ai-models/detr-resnet-50.json index de6068019228c27..ae6dbfa8fa7742e 100644 --- a/src/content/workers-ai-models/detr-resnet-50.json +++ b/src/content/workers-ai-models/detr-resnet-50.json @@ -14,6 +14,16 @@ { "property_id": "beta", "value": "true" + }, + { + "property_id": "price", + "value": [ + { + "unit": "per inference request", + "price": 0.0000075, + "currency": "USD" + } + ] } ], "schema": { diff --git a/src/content/workers-ai-models/llama-3.2-11b-vision-instruct.json b/src/content/workers-ai-models/llama-3.2-11b-vision-instruct.json index 19413dd77819ce7..c767b1a5c863244 100644 --- a/src/content/workers-ai-models/llama-3.2-11b-vision-instruct.json +++ b/src/content/workers-ai-models/llama-3.2-11b-vision-instruct.json @@ -26,6 +26,10 @@ } ] }, + { + "property_id": "lora", + "value": "true" + }, { "property_id": "terms", "value": "https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/LICENSE" diff --git a/src/content/workers-ai-models/llama-3.3-70b-instruct-fp8-fast.json b/src/content/workers-ai-models/llama-3.3-70b-instruct-fp8-fast.json index 4835f933d7d11f0..fcd30b094e9b37a 100644 --- a/src/content/workers-ai-models/llama-3.3-70b-instruct-fp8-fast.json +++ b/src/content/workers-ai-models/llama-3.3-70b-instruct-fp8-fast.json @@ -11,6 +11,10 @@ "created_at": "2024-12-06 17:09:18.338", "tags": [], "properties": [ + { + "property_id": "context_window", + "value": "24000" + }, { "property_id": "price", "value": [ @@ -26,10 +30,6 @@ } ] }, - { - "property_id": "context_window", - "value": "24000" - }, { "property_id": "function_calling", "value": "true" diff --git a/src/content/workers-ai-models/llama-4-scout-17b-16e-instruct.json b/src/content/workers-ai-models/llama-4-scout-17b-16e-instruct.json index 1f9e754c18bd5fc..a7db2042ed7a150 100644 --- a/src/content/workers-ai-models/llama-4-scout-17b-16e-instruct.json +++ b/src/content/workers-ai-models/llama-4-scout-17b-16e-instruct.json @@ -11,17 +11,21 @@ "created_at": "2025-04-05 20:25:56.137", "tags": [], "properties": [ + { + "property_id": "context_window", + "value": "131000" + }, { "property_id": "price", "value": [ { "unit": "per M input tokens", - "price": 0.27, + "price": 0, "currency": "USD" }, { "unit": "per M output tokens", - "price": 0.85, + "price": 0, "currency": "USD" } ] @@ -43,9 +47,9 @@ "minLength": 1, "description": "The input text prompt for the model to generate a response." }, - "lora": { - "type": "string", - "description": "Name of the LoRA (Low-Rank Adaptation) model to fine-tune the base model." + "guided_json": { + "type": "object", + "description": "JSON schema that should be fulfilled for the response." }, "response_format": { "title": "JSON Mode", @@ -78,7 +82,7 @@ }, "temperature": { "type": "number", - "default": 0.6, + "default": 0.15, "minimum": 0, "maximum": 5, "description": "Controls the randomness of the output; higher values produce more random results." @@ -137,15 +141,67 @@ "type": "string", "description": "The role of the message sender (e.g., 'user', 'assistant', 'system', 'tool')." }, - "content": { + "tool_call_id": { "type": "string", - "description": "The content of the message as a string." + "description": "The tool call id. Must be supplied for tool calls for Mistral-3. If you don't know what to put here you can fall back to 000000001", + "pattern": "[a-zA-Z0-9]{9}" + }, + "content": { + "oneOf": [ + { + "type": "string", + "description": "The content of the message as a string." + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the content provided" + }, + "text": { + "type": "string" + }, + "image_url": { + "type": "object", + "properties": { + "url": { + "type": "string", + "pattern": "^data:*", + "description": "image uri with data (e.g. data:image/jpeg;base64,/9j/...). HTTP URL will not be accepted" + } + } + } + } + } + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the content provided" + }, + "text": { + "type": "string" + }, + "image_url": { + "type": "object", + "properties": { + "url": { + "type": "string", + "pattern": "^data:*", + "description": "image uri with data (e.g. data:image/jpeg;base64,/9j/...). HTTP URL will not be accepted" + } + } + } + } + } + ] } - }, - "required": [ - "role", - "content" - ] + } } }, "functions": { @@ -321,6 +377,10 @@ "json_schema": {} } }, + "guided_json": { + "type": "object", + "description": "JSON schema that should be fufilled for the response." + }, "raw": { "type": "boolean", "default": false, @@ -338,7 +398,7 @@ }, "temperature": { "type": "number", - "default": 0.6, + "default": 0.15, "minimum": 0, "maximum": 5, "description": "Controls the randomness of the output; higher values produce more random results." @@ -390,6 +450,7 @@ "oneOf": [ { "type": "object", + "contentType": "application/json", "properties": { "response": { "type": "string", @@ -440,6 +501,7 @@ }, { "type": "string", + "contentType": "text/event-stream", "format": "binary" } ] diff --git a/src/content/workers-ai-models/llama-guard-3-8b.json b/src/content/workers-ai-models/llama-guard-3-8b.json index 77b1872ea2d9e00..5f5d39495289ca8 100644 --- a/src/content/workers-ai-models/llama-guard-3-8b.json +++ b/src/content/workers-ai-models/llama-guard-3-8b.json @@ -25,6 +25,10 @@ "currency": "USD" } ] + }, + { + "property_id": "lora", + "value": "true" } ], "schema": { diff --git a/src/content/workers-ai-models/m2m100-1.2b.json b/src/content/workers-ai-models/m2m100-1.2b.json index e3bcfdace56ea91..022b7dcca7897ac 100644 --- a/src/content/workers-ai-models/m2m100-1.2b.json +++ b/src/content/workers-ai-models/m2m100-1.2b.json @@ -11,6 +11,10 @@ "created_at": "2023-09-25 19:21:11.898", "tags": [], "properties": [ + { + "property_id": "async_queue", + "value": "true" + }, { "property_id": "price", "value": [ @@ -42,36 +46,89 @@ "schema": { "input": { "type": "object", - "properties": { - "text": { - "type": "string", - "minLength": 1, - "description": "The text to be translated" - }, - "source_lang": { - "type": "string", - "default": "en", - "description": "The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified" + "oneOf": [ + { + "properties": { + "text": { + "type": "string", + "minLength": 1, + "description": "The text to be translated" + }, + "source_lang": { + "type": "string", + "default": "en", + "description": "The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified" + }, + "target_lang": { + "type": "string", + "description": "The language code to translate the text into (e.g., 'es' for Spanish)" + } + }, + "required": [ + "text", + "target_lang" + ] }, - "target_lang": { - "type": "string", - "description": "The language code to translate the text into (e.g., 'es' for Spanish)" + { + "properties": { + "requests": { + "type": "array", + "description": "Batch of the embeddings requests to run using async-queue", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "minLength": 1, + "description": "The text to be translated" + }, + "source_lang": { + "type": "string", + "default": "en", + "description": "The language code of the source text (e.g., 'en' for English). Defaults to 'en' if not specified" + }, + "target_lang": { + "type": "string", + "description": "The language code to translate the text into (e.g., 'es' for Spanish)" + } + }, + "required": [ + "text", + "target_lang" + ] + } + } + }, + "required": [ + "requests" + ] } - }, - "required": [ - "text", - "target_lang" ] }, "output": { "type": "object", "contentType": "application/json", - "properties": { - "translated_text": { - "type": "string", - "description": "The translated text in the target language" + "oneOf": [ + { + "properties": { + "translated_text": { + "type": "string", + "description": "The translated text in the target language" + } + } + }, + { + "type": "object", + "contentType": "application/json", + "title": "Async response", + "properties": { + "request_id": { + "type": "string", + "description": "The async request id that can be used to obtain the results." + } + } } - } + ] } } } \ No newline at end of file diff --git a/src/content/workers-ai-models/melotts.json b/src/content/workers-ai-models/melotts.json index 63e9a49a80b9526..55d9cc3a9bd1445 100644 --- a/src/content/workers-ai-models/melotts.json +++ b/src/content/workers-ai-models/melotts.json @@ -10,7 +10,18 @@ }, "created_at": "2024-07-19 15:51:04.819", "tags": [], - "properties": [], + "properties": [ + { + "property_id": "price", + "value": [ + { + "unit": "per audio minute", + "price": 0.0002, + "currency": "USD" + } + ] + } + ], "schema": { "input": { "type": "object", diff --git a/src/content/workers-ai-models/stable-diffusion-v1-5-img2img.json b/src/content/workers-ai-models/stable-diffusion-v1-5-img2img.json index 14e21b3b6101d27..493f47248141cf3 100644 --- a/src/content/workers-ai-models/stable-diffusion-v1-5-img2img.json +++ b/src/content/workers-ai-models/stable-diffusion-v1-5-img2img.json @@ -15,6 +15,16 @@ "property_id": "beta", "value": "true" }, + { + "property_id": "price", + "value": [ + { + "unit": "per step", + "price": 0, + "currency": "USD" + } + ] + }, { "property_id": "info", "value": "https://huggingface.co/runwayml/stable-diffusion-v1-5" diff --git a/src/content/workers-ai-models/stable-diffusion-v1-5-inpainting.json b/src/content/workers-ai-models/stable-diffusion-v1-5-inpainting.json index ab7347ee61cf92c..22188f1a18d884d 100644 --- a/src/content/workers-ai-models/stable-diffusion-v1-5-inpainting.json +++ b/src/content/workers-ai-models/stable-diffusion-v1-5-inpainting.json @@ -15,6 +15,16 @@ "property_id": "beta", "value": "true" }, + { + "property_id": "price", + "value": [ + { + "unit": "per step", + "price": 0, + "currency": "USD" + } + ] + }, { "property_id": "info", "value": "https://huggingface.co/runwayml/stable-diffusion-inpainting" diff --git a/src/content/workers-ai-models/stable-diffusion-xl-base-1.0.json b/src/content/workers-ai-models/stable-diffusion-xl-base-1.0.json index 029b714cc1e44c1..bfeb09a16a161e0 100644 --- a/src/content/workers-ai-models/stable-diffusion-xl-base-1.0.json +++ b/src/content/workers-ai-models/stable-diffusion-xl-base-1.0.json @@ -15,6 +15,16 @@ "property_id": "beta", "value": "true" }, + { + "property_id": "price", + "value": [ + { + "unit": "per step", + "price": 0, + "currency": "USD" + } + ] + }, { "property_id": "info", "value": "https://stability.ai/stable-diffusion" diff --git a/src/content/workers-ai-models/stable-diffusion-xl-lightning.json b/src/content/workers-ai-models/stable-diffusion-xl-lightning.json index 0f0ac46b754b7ea..19e57d6388975d3 100644 --- a/src/content/workers-ai-models/stable-diffusion-xl-lightning.json +++ b/src/content/workers-ai-models/stable-diffusion-xl-lightning.json @@ -15,6 +15,16 @@ "property_id": "beta", "value": "true" }, + { + "property_id": "price", + "value": [ + { + "unit": "per step", + "price": 0, + "currency": "USD" + } + ] + }, { "property_id": "info", "value": "https://huggingface.co/ByteDance/SDXL-Lightning" From 202c0f6f6d727635777bf22dcf6849cf7288203c Mon Sep 17 00:00:00 2001 From: kodster28 Date: Thu, 10 Apr 2025 10:12:53 -0500 Subject: [PATCH 2/3] Added filters --- src/components/ModelCatalog.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/ModelCatalog.tsx b/src/components/ModelCatalog.tsx index e1b1837eb87e4b4..31164f0330054c6 100644 --- a/src/components/ModelCatalog.tsx +++ b/src/components/ModelCatalog.tsx @@ -80,6 +80,10 @@ const ModelCatalog = ({ models }: { models: WorkersAIModelsSchema[] }) => { return "Function calling"; } + if (property_id === "async_queue" && value === "true") { + return "Batch"; + } + return []; }) .filter((p) => Boolean(p)), @@ -102,6 +106,10 @@ const ModelCatalog = ({ models }: { models: WorkersAIModelsSchema[] }) => { return "Function calling"; } + if (property_id === "async_queue" && value === "true") { + return "Batch"; + } + return []; }) .filter((p) => Boolean(p)), From 676d562659e7cdaee0346dd93df68431508f639b Mon Sep 17 00:00:00 2001 From: kodster28 Date: Thu, 10 Apr 2025 17:26:05 -0500 Subject: [PATCH 3/3] docs gen update --- .../workers-ai-models/deepseek-r1-distill-qwen-32b.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json b/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json index 57470636e4c1a65..18959db015dcd3a 100644 --- a/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json +++ b/src/content/workers-ai-models/deepseek-r1-distill-qwen-32b.json @@ -30,10 +30,6 @@ } ] }, - { - "property_id": "lora", - "value": "true" - }, { "property_id": "terms", "value": "https://github.com/deepseek-ai/DeepSeek-R1/blob/main/LICENSE"