From aad795a8a419bf7d2e6313421dedf3f9d211a533 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Wed, 24 Sep 2025 13:23:21 -0400 Subject: [PATCH 01/59] Adds new directory for service --- content/en/guides/training/_index.md | 7 +++++++ content/en/guides/training/serverless-rl.md | 0 2 files changed, 7 insertions(+) create mode 100644 content/en/guides/training/_index.md create mode 100644 content/en/guides/training/serverless-rl.md diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md new file mode 100644 index 0000000000..71f97f3407 --- /dev/null +++ b/content/en/guides/training/_index.md @@ -0,0 +1,7 @@ +--- +menu: + default: + identifier: training +title: W&B Training +weight: 4 +--- \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md new file mode 100644 index 0000000000..e69de29bb2 From a665ddeaff9f2dff0ac093de2bae44f337ae7207 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 26 Sep 2025 16:05:59 -0400 Subject: [PATCH 02/59] Adds WB training and serverless RL section --- content/en/guides/training/_index.md | 2 +- content/en/guides/training/serverless-rl.md | 23 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 71f97f3407..51ffa18328 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -3,5 +3,5 @@ menu: default: identifier: training title: W&B Training -weight: 4 +weight: 5 --- \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md index e69de29bb2..dd4c92f0e0 100644 --- a/content/en/guides/training/serverless-rl.md +++ b/content/en/guides/training/serverless-rl.md @@ -0,0 +1,23 @@ +--- +description: Learn about Serverless RL and how to start using it. +title: Use Serverless RL +weight: 100 +--- + +W&B Training's Serverless RL (reinforncement learning) allows you to post-train LLMs to extend their knowledge and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. For example, instead of building your own model or retraining an entire model to use HIPAA compliant medical terminology or legal citation formats, you can use Serverless RL to train a small module about these subjects and then integrate it into your existing LLM workflows to extend the existing model's capabilities. + +Serverless RL trains [low-rank adaptors (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adaptors as artifacts stored in your W&B account. + +Serverless RL uses a combination of the following W&B services to operate: + +* [Inference]({{< relref "guides/inference" >}}): To access your models +* [Models]({{< relref "guides/models" >}}): To train the LoRA adaptors +* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adaptors + +We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adaptors. See the [Serverless RL pricing page](#update-link) for more details. + +## Use Serverless RL + +Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about). See the [OpenPipe's Serverless RL quickstart](#update-link) for code examples and workflows. + +See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file From 83423132dd91c8821412bafd5e1c7c472c410f80 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 26 Sep 2025 16:06:37 -0400 Subject: [PATCH 03/59] Adds Serverless RL reference section with redoc integration --- archetypes/api.md | 25 +++++ content/en/ref/training.md | 8 ++ layouts/partials/redoc.html | 58 ++++++++++ layouts/redoc.html | 211 ++++++++++++++++++++++++++++++++++++ 4 files changed, 302 insertions(+) create mode 100644 archetypes/api.md create mode 100644 content/en/ref/training.md create mode 100644 layouts/partials/redoc.html create mode 100644 layouts/redoc.html diff --git a/archetypes/api.md b/archetypes/api.md new file mode 100644 index 0000000000..9816565c99 --- /dev/null +++ b/archetypes/api.md @@ -0,0 +1,25 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: false +layout: "api" +description: "API documentation for {{ replace .Name "-" " " | title }}" +weight: 100 + +# API Specification Configuration +# Option 1: External URL +# api_spec_url: "https://example.com/openapi.yaml" + +# Option 2: Local file (place in static/api-specs/) +# api_spec_file: "api-specs/your-api-spec.yaml" + +# Optional: Redoc configuration +# redoc_options: +# hideDownloadButton: false +# disableSearch: false +# expandResponses: "200,201" +# requiredPropsFirst: true +--- + + + diff --git a/content/en/ref/training.md b/content/en/ref/training.md new file mode 100644 index 0000000000..3c3464482f --- /dev/null +++ b/content/en/ref/training.md @@ -0,0 +1,8 @@ +--- +title: Serverless RL API Reference +description: Generated documentation for W&B APIs +menu: + reference: + identifier: serverless-rl-api-reference +layout: redoc +--- \ No newline at end of file diff --git a/layouts/partials/redoc.html b/layouts/partials/redoc.html new file mode 100644 index 0000000000..60666bebae --- /dev/null +++ b/layouts/partials/redoc.html @@ -0,0 +1,58 @@ +{{/* Redoc partial - handles the core Redoc initialization logic */}} +{{/* Parameters: spec_url or spec_content, container_id, options */}} + +{{ $spec_url := .spec_url }} +{{ $spec_content := .spec_content }} +{{ $container_id := .container_id | default "redoc-container" }} +{{ $options := .options | default (dict "theme" (dict "colors" (dict "primary" (dict "main" "#FF7557")))) }} + + +
+ + + + + diff --git a/layouts/redoc.html b/layouts/redoc.html new file mode 100644 index 0000000000..6d898615aa --- /dev/null +++ b/layouts/redoc.html @@ -0,0 +1,211 @@ + + + + + + {{ .Title }} | {{ .Site.Title }} + + + {{ hugo.Generator }} + {{ range .AlternativeOutputFormats -}} + + {{ end -}} + + + {{ if templates.Exists "partials/favicons.html" }} + {{ partialCached "favicons.html" . }} + {{ else }} + + {{ end }} + + + + + + + + + + + +
+ {{ partial "navbar.html" . }} +
+
+ +
+ {{ partial "footer.html" . }} + {{ partial "scripts.html" . }} + + + + + + + \ No newline at end of file From 5a5558a13156ae99d0ac58f710dbe06f4edcb8db Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 26 Sep 2025 16:15:16 -0400 Subject: [PATCH 04/59] Remove unnecessary files --- archetypes/api.md | 25 ---------------- layouts/partials/redoc.html | 58 ------------------------------------- 2 files changed, 83 deletions(-) delete mode 100644 archetypes/api.md delete mode 100644 layouts/partials/redoc.html diff --git a/archetypes/api.md b/archetypes/api.md deleted file mode 100644 index 9816565c99..0000000000 --- a/archetypes/api.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: false -layout: "api" -description: "API documentation for {{ replace .Name "-" " " | title }}" -weight: 100 - -# API Specification Configuration -# Option 1: External URL -# api_spec_url: "https://example.com/openapi.yaml" - -# Option 2: Local file (place in static/api-specs/) -# api_spec_file: "api-specs/your-api-spec.yaml" - -# Optional: Redoc configuration -# redoc_options: -# hideDownloadButton: false -# disableSearch: false -# expandResponses: "200,201" -# requiredPropsFirst: true ---- - - - diff --git a/layouts/partials/redoc.html b/layouts/partials/redoc.html deleted file mode 100644 index 60666bebae..0000000000 --- a/layouts/partials/redoc.html +++ /dev/null @@ -1,58 +0,0 @@ -{{/* Redoc partial - handles the core Redoc initialization logic */}} -{{/* Parameters: spec_url or spec_content, container_id, options */}} - -{{ $spec_url := .spec_url }} -{{ $spec_content := .spec_content }} -{{ $container_id := .container_id | default "redoc-container" }} -{{ $options := .options | default (dict "theme" (dict "colors" (dict "primary" (dict "main" "#FF7557")))) }} - - -
- - - - - From 1365cee52866f043b8330db50464d6b0bfab6d85 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Thu, 2 Oct 2025 10:02:40 -0400 Subject: [PATCH 05/59] Feedback via D. Corbitt --- content/en/guides/training/_index.md | 31 +++++++++++++++++++-- content/en/guides/training/serverless-rl.md | 23 --------------- 2 files changed, 28 insertions(+), 26 deletions(-) delete mode 100644 content/en/guides/training/serverless-rl.md diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 51ffa18328..111ca46cec 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -1,7 +1,32 @@ --- menu: default: - identifier: training -title: W&B Training + identifier: serverless-rl +title: W&B Serverless RL weight: 5 ---- \ No newline at end of file +--- + +W&B Serverless RL (reinforcement learning) allows you to post-train LLMs to learn new behavior and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. Serverless RL runs your reinforcement learning (RL) jobs on a large, managed cluster of GPUs that give you the freedom to scale your training run up to dozens of GPUs or down to zero instantly. + +Serverless RL is ideal for: + +* + + + +Serverless RL trains [low-rank adapters (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. + +Serverless RL uses a combination of the following W&B services to operate: + +* [Inference]({{< relref "guides/inference" >}}): To run your models +* [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training +* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters +* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop + +We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adapters. See the [Serverless RL pricing page](#update-link) for more details. + +## Use Serverless RL + +Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and a [W&B API](#UPDATE-LINK). See the [OpenPipe's Serverless RL quickstart](#UPDATE-LINK) for code examples and workflows. + +See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md deleted file mode 100644 index dd4c92f0e0..0000000000 --- a/content/en/guides/training/serverless-rl.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -description: Learn about Serverless RL and how to start using it. -title: Use Serverless RL -weight: 100 ---- - -W&B Training's Serverless RL (reinforncement learning) allows you to post-train LLMs to extend their knowledge and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. For example, instead of building your own model or retraining an entire model to use HIPAA compliant medical terminology or legal citation formats, you can use Serverless RL to train a small module about these subjects and then integrate it into your existing LLM workflows to extend the existing model's capabilities. - -Serverless RL trains [low-rank adaptors (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adaptors as artifacts stored in your W&B account. - -Serverless RL uses a combination of the following W&B services to operate: - -* [Inference]({{< relref "guides/inference" >}}): To access your models -* [Models]({{< relref "guides/models" >}}): To train the LoRA adaptors -* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adaptors - -We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adaptors. See the [Serverless RL pricing page](#update-link) for more details. - -## Use Serverless RL - -Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about). See the [OpenPipe's Serverless RL quickstart](#update-link) for code examples and workflows. - -See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file From cda4165be16b3d4612fb7886d010f90441318bf5 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 10:17:17 -0400 Subject: [PATCH 06/59] Updates Serverless RL API page with proper spec --- layouts/redoc.html | 2 +- static/api-specs/serverlessRL.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 static/api-specs/serverlessRL.json diff --git a/layouts/redoc.html b/layouts/redoc.html index 6d898615aa..7e6e27232b 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -91,7 +91,7 @@ {{ partial "navbar.html" . }}
- Date: Fri, 3 Oct 2025 10:21:36 -0400 Subject: [PATCH 07/59] Adds back the Training branding --- content/en/guides/training/_index.md | 25 +----------------- content/en/guides/training/serverless-rl.md | 28 +++++++++++++++++++++ 2 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 content/en/guides/training/serverless-rl.md diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 111ca46cec..3ecf304e7f 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -6,27 +6,4 @@ title: W&B Serverless RL weight: 5 --- -W&B Serverless RL (reinforcement learning) allows you to post-train LLMs to learn new behavior and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. Serverless RL runs your reinforcement learning (RL) jobs on a large, managed cluster of GPUs that give you the freedom to scale your training run up to dozens of GPUs or down to zero instantly. - -Serverless RL is ideal for: - -* - - - -Serverless RL trains [low-rank adapters (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. - -Serverless RL uses a combination of the following W&B services to operate: - -* [Inference]({{< relref "guides/inference" >}}): To run your models -* [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training -* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters -* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop - -We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adapters. See the [Serverless RL pricing page](#update-link) for more details. - -## Use Serverless RL - -Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and a [W&B API](#UPDATE-LINK). See the [OpenPipe's Serverless RL quickstart](#UPDATE-LINK) for code examples and workflows. - -See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file +An introduction to W&B Training suite of products. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md new file mode 100644 index 0000000000..199c84ef31 --- /dev/null +++ b/content/en/guides/training/serverless-rl.md @@ -0,0 +1,28 @@ +--- +description: Learn about Serverless RL and how to start using it. +title: Use Serverless RL +weight: 100 +--- + +W&B Serverless RL (reinforcement learning) allows you to post-train LLMs to learn new behavior and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. Serverless RL runs your reinforcement learning (RL) jobs on a large, managed cluster of GPUs that give you the freedom to scale your training run up to dozens of GPUs or down to zero instantly. + +Serverless RL is ideal for: + +* + +Serverless RL trains [low-rank adapters (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. + +Serverless RL uses a combination of the following W&B services to operate: + +* [Inference]({{< relref "guides/inference" >}}): To run your models +* [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training +* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters +* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop + +We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adapters. See the [Serverless RL pricing page](#update-link) for more details. + +## Use Serverless RL + +Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and a [W&B API](#UPDATE-LINK). See the [OpenPipe's Serverless RL quickstart](#UPDATE-LINK) for code examples and workflows. + +See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file From eac7606f9ee45ecc828bb63f864bad8e2a25e9df Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 10:31:02 -0400 Subject: [PATCH 08/59] Updates front matter with training branding --- content/en/guides/training/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 3ecf304e7f..9b759b5086 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -2,7 +2,7 @@ menu: default: identifier: serverless-rl -title: W&B Serverless RL +title: W&B Training weight: 5 --- From 9d4dfeb22210bf8170d68a019b7d00587e81b906 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 10:33:30 -0400 Subject: [PATCH 09/59] new identifier --- content/en/guides/training/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 9b759b5086..fac0898fc1 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -1,7 +1,7 @@ --- menu: default: - identifier: serverless-rl + identifier: training title: W&B Training weight: 5 --- From cca7cb65faccdfc2a72cd255a4eb5b159dc4ca56 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 10:52:29 -0400 Subject: [PATCH 10/59] use cases --- content/en/guides/training/serverless-rl.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md index 199c84ef31..35e20c69ee 100644 --- a/content/en/guides/training/serverless-rl.md +++ b/content/en/guides/training/serverless-rl.md @@ -6,9 +6,12 @@ weight: 100 W&B Serverless RL (reinforcement learning) allows you to post-train LLMs to learn new behavior and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. Serverless RL runs your reinforcement learning (RL) jobs on a large, managed cluster of GPUs that give you the freedom to scale your training run up to dozens of GPUs or down to zero instantly. -Serverless RL is ideal for: +Serverless RL is ideal for training: -* +* Voice agents +* Deep research assistants +* On-prem models +* Content marketing analysis agents Serverless RL trains [low-rank adapters (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. From 2d40548f6253062cc5d80cb13dbc2c2b12f27980 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 11:35:15 -0400 Subject: [PATCH 11/59] fixes top nav rendering in cloudflare preview --- layouts/partials/navbar.html | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html index 0477e0db25..ab1db87991 100644 --- a/layouts/partials/navbar.html +++ b/layouts/partials/navbar.html @@ -9,11 +9,21 @@
From 2f908da8e0834a1d513c41577b70ad7680d5c6e8 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 11:40:50 -0400 Subject: [PATCH 12/59] Adds static light and dark logos --- static/icons/logo_dark.svg | 34 ++++++++++++++++++++++++++++++++++ static/icons/logo_light.svg | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 static/icons/logo_dark.svg create mode 100644 static/icons/logo_light.svg diff --git a/static/icons/logo_dark.svg b/static/icons/logo_dark.svg new file mode 100644 index 0000000000..c82541476d --- /dev/null +++ b/static/icons/logo_dark.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/icons/logo_light.svg b/static/icons/logo_light.svg new file mode 100644 index 0000000000..9eb4ed3f9a --- /dev/null +++ b/static/icons/logo_light.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5a8ba8e0493ad2c775ff82b7fad28f38778069f3 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 11:54:23 -0400 Subject: [PATCH 13/59] fixes top nav --- layouts/redoc.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/layouts/redoc.html b/layouts/redoc.html index 7e6e27232b..353c4e36a6 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -22,7 +22,13 @@ {{ end }} - + + + + From f9fb079aad30cc58f69cf2d90226e80081e4606a Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 13:04:27 -0400 Subject: [PATCH 14/59] CSS references assets directory now --- layouts/redoc.html | 8 +- static/css/main.css | 1493 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1498 insertions(+), 3 deletions(-) create mode 100644 static/css/main.css diff --git a/layouts/redoc.html b/layouts/redoc.html index 353c4e36a6..08b0389671 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -22,7 +22,9 @@ {{ end }} - + {{ $scss := resources.Get "scss/_variables_project.scss" | toCSS (dict "targetPath" "css/_variables_project.scss") | minify | fingerprint }} + + - --> \ No newline at end of file diff --git a/static/css/main.css b/static/css/main.css new file mode 100644 index 0000000000..edaf1036fe --- /dev/null +++ b/static/css/main.css @@ -0,0 +1,1493 @@ +/* + +Add styles or override variables from the theme here. + +*/ + +@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap'); + +// First define the base color tokens +// Moon (Grayscale) +$moon-white: #ffffff; +$moon-50: #fafafa; +$moon-100: #f5f6f7; +$moon-200: #e4e6eb; +$moon-250: #dfe0e2; +$moon-300: #d3d7de; +$moon-350: #c1c6cf; +$moon-400: #aeb3bd; +$moon-500: #79808a; +$moon-600: #565c66; +$moon-650: #4a4f58; +$moon-700: #3f464f; +$moon-750: #363c44; +$moon-800: #2b3038; +$moon-900: #1a1d24; +$moon-950: #171a1f; + +// Teal colors +$teal-300: #a9edf2; +$teal-400: #58d3db; +$teal-450: #10bfcc; +$teal-500: #13a9ba; +$teal-550: #0e97a7; +$teal-600: #038194; + +// Border colors +$border-default: $moon-200; // Using moon-200 instead of moon-250 +$border-hover: $moon-350; // color/moon/350 +$border-active: $teal-500; // color/teal/500 +$border-subtle: $moon-100; // color/moon/100 +$dark-border-default: $moon-750; // color/moon/750 +$dark-border-hover: $moon-650; // color/moon/650 +$dark-border-subtle: $moon-800; // color/moon/800 + +// Border radius +$border-radius-medium: 8px; // Used for most components +$border-radius-large: 12px; // Used for modals and larger components + +// Then define the semantic color tokens +// Text colors +$text-primary: $moon-800; // color/moon/800 +$text-secondary: $moon-600; // color/moon/600 +$text-tertiary: $moon-500; // color/moon/500 +$text-disabled: $moon-350; // color/moon/350 + +// Link colors +$link-primary: $teal-600; // color/teal/600 +$link-hover: $teal-550; // color/teal/550 +$link-secondary: $moon-600; // color/moon/600 +$link-secondary-hover: $moon-500; // color/moon/500 + +// Background colors +$bg-primary: $moon-white; // White background +$bg-secondary: $moon-50; // color/moon/50 +$bg-tertiary: $moon-100; // color/moon/100 +$bg-disabled: $moon-350; // color/moon/350 + +// Dark mode colors +$dark-text-primary: $moon-200; // color/moon/200 +$dark-text-secondary: $moon-400; // color/moon/400 +$dark-text-tertiary: $moon-500; // color/moon/500 +$dark-text-disabled: $moon-650; // color/moon/650 + +$dark-link-primary: $teal-500; // color/teal/500 +$dark-link-hover: $teal-450; // color/teal/450 +$dark-link-secondary: $moon-600; // color/moon/600 +$dark-link-secondary-hover: $moon-500; // color/moon/500 + +$dark-bg-primary: $moon-900; // color/moon/900 +$dark-bg-secondary: $moon-800; // color/moon/800 +$dark-bg-tertiary: $moon-700; // color/moon/700 +$dark-bg-disabled: $moon-650; // color/moon/650 + +// Other brand colors +$nav-bg: rgb(26, 28, 31); +$wandb-gold: #FFCC33; +$wandb-link-blue: rgb(7, 177, 196); +$hover-bg: #A9EDF260; + +// Gradients +$sunset-gradient: linear-gradient(98deg, #e180ff 0%, #ffcf4d 100%); +$wandb-gradient: linear-gradient(180deg, #ffcc33 39%, #ffad33 72%); + +// Font weights +$font-weight-light: 300; +$font-weight-regular: 400; +$font-weight-medium: 500; +$font-weight-semibold: 600; +$font-weight-bold: 700; + +// Bootstrap overrides +:root { + --bs-nav-link-font-size: 18px; +} + +// Typography Component +// Base body styles +body { + font-family: "Source Sans Pro", sans-serif; + font-size: 16px; + font-weight: $font-weight-regular; + color: $text-primary; + background-color: $bg-primary; + + [data-bs-theme=dark] & { + color: $dark-text-primary; + background-color: $dark-bg-primary; + } +} +p, td, div +{ + font-family: "Source Sans Pro", sans-serif; +} +.td-sidebar-nav__section-title, .td-sidebar-nav__section without-child +{ + font-size: 16px; + font-weight: $font-weight-bold; +} + +// Headings +h1, h2, h3, h4, h5, h6 { + font-weight: $font-weight-regular !important; + font-family: "Source Serif 4", sans-serif; + color: $text-primary; + + [data-bs-theme=dark] & { + color: $dark-text-primary; + } +} + +// Heading sizes +h1, .td-content h1 { font-size: 32px !important; } +h2, .td-content h2 { font-size: 24px !important; } +h3, .td-content h3 { font-size: 20px !important; } +h4, .td-content h4 { font-size: 18px !important; } +h5, .td-content h5 { font-size: 17px !important; } +h6, .td-content h6 { font-size: 16px !important; } + +// Lead paragraph +.td-content .lead { + font-size: 16px !important; + font-weight: $font-weight-regular !important; +} + +// Reading time +.reading-time { + font-size: 14px; + color: $text-secondary; + + [data-bs-theme=dark] & { + color: $dark-text-secondary; + } +} + +// Links +a { + color: $link-primary !important; + text-decoration: none !important; + + &:hover { + color: $link-hover !important; + text-decoration: none !important; + } + + [data-bs-theme=dark] & { + color: $dark-link-primary !important; + + &:hover { + color: $dark-link-hover !important; + } + } +} + +// hide "create child" and "create project issue" links +.td-page-meta__child, .td-page-meta__project-issue { display: none !important; } + +// shrink the right nav a bit +.td-page-meta { + display: none !important; + font-size: 16px !important; + a { + padding-bottom: 15px; + line-height: 22px; + } +} + +// hide left nav label +.tree-root { display: none !important;} + +// First define breakpoints +$breakpoint-sm: 576px; // Phone +$breakpoint-md: 768px; // Tablet +$breakpoint-lg: 992px; // Desktop +$breakpoint-xl: 1200px; // Large desktop + +// Consolidated navbar styles with mobile-first approach +.td-navbar { + background-color: $bg-primary !important; + padding: 0 !important; + border-bottom: 1px solid $border-default !important; + + // Base styles (mobile first) + .container-fluid { + padding: 8px !important; + gap: 16px !important; + + .td-navbar-nav-scroll { + align-items: center !important; + height: auto !important; + margin: 0 !important; + padding: 0 !important; + gap: 16px !important; + + .navbar-nav { + display: flex !important; + align-items: center !important; + padding-left: 0 !important; + margin: 0 !important; + gap: 8px !important; + + .nav-item { + padding-inline-end: 0 !important; + } + + &.main-nav { + padding: 0 !important; + margin: 0 !important; + + // Nav links base styles + .nav-link { + color: $text-secondary !important; + font-weight: $font-weight-regular !important; + transition: all 0.2s ease-in-out !important; + border-bottom: none !important; + border-radius: $border-radius-medium !important; + padding: 8px 10px !important; + font-size: 16px !important; + + &:hover { + text-decoration: none !important; + background-color: rgba($moon-300, 0.2) !important; + } + + &.active { + color: $link-primary !important; + background-color: rgba($moon-300, 0.2) !important; + font-weight: $font-weight-regular !important; + } + } + + } + + &.main-nav-right { + padding: 0 !important; + margin: 0 !important; + align-items: center !important; + gap: 0 !important; + + // Update mobile light/dark toggle styles + .td-light-dark-menu { + display: flex !important; + align-items: center !important; + margin: 0 !important; + gap: 0 !important; + min-width: 0 !important; + } + + // Dropdown styles + .nav-item.dropdown { + margin: 0 !important; + + .nav-link { + font-size: 16px !important; + font-weight: $font-weight-regular !important; + color: $text-secondary !important; + + &:hover { + background-color: transparent !important; + } + + &::after { + display: none !important; + } + + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + } + } + } + } + } + } + } + + // Brand/logo styles + .navbar-brand { + display: flex !important; + align-items: center !important; + padding: 0 !important; + margin-right: 0 !important; + + .navbar-logo { + display: block; + width: auto; + height: auto; + margin: 0 !important; + + svg { + margin: 0 !important; + width: 100%; + } + } + } + + // Hide the doc site name + .navbar-brand__name { + display: none !important; + } + + + // Tablet styles (577px and up) + @media (min-width: $breakpoint-sm + 1) { + .container-fluid { + padding: 8px 12px !important; + } + + .navbar-brand { + margin-right: 1rem !important; + } + } + + // Desktop styles (992px and up) + @media (min-width: $breakpoint-lg) { + .container-fluid { + padding: 8px 24px !important; + flex-direction: row !important; + align-items: center !important; + justify-content: flex-start !important; + gap: 32px !important; + + .td-navbar-nav-scroll { + flex-grow: 1 !important; + + .navbar-nav { + + &.main-nav { + flex-grow: 1 !important; + gap: 16px !important; + + .nav-link { + padding: 6px 12px !important; + font-size: 18px !important; + } + } + + &.main-nav-right { + gap: 16px !important; + + .nav-link{ + font-size: 16px !important; + color: $text-secondary !important; + } + } + } + .main-nav-search { + min-width: 300px !important; + + .DocSearch.DocSearch-Button { + margin: 0 !important; + min-width: 100% !important; + } + } + } + } + + + .nav-item.dropdown { + &.d-none.d-lg-block, + &.td-light-dark-menu { + margin: 0 4px !important; + + .nav-link { + font-size: 16px !important; + } + } + } + } + + // Dark mode styles + [data-bs-theme=dark] & { + background-color: $dark-bg-primary !important; + border-bottom: 1px solid $dark-border-default !important; + + &.js-navbar-scroll { + background-color: $dark-bg-primary !important; + } + + .td-navbar-nav-scroll { + + .navbar-nav { + + &.main-nav { + .nav-link { + color: $moon-white !important; + + &:hover { + color: $teal-500 !important; + } + + &.active { + color: $teal-500 !important; + } + } + } + + .nav-item.dropdown { + &.d-none.d-lg-block, + &.td-light-dark-menu { + .nav-link { + color: $dark-text-primary !important; + + &:hover { + color: $dark-link-primary !important; + } + } + } + } + } + } + } + + // Update the light/dark menu styles + .td-light-dark-menu { + &.nav-item.dropdown { + margin: 0 2px !important; + display: flex !important; + align-items: center !important; + } + + // Hide from navbar-right on mobile + &.d-none { + @media (max-width: #{$breakpoint-lg - 1}) { + display: none !important; + } + } + } +} + +// headings use WandB serif font +h1, h2, h3, h4, h5, h6 { + font-weight: $font-weight-regular !important; + font-family: "Source Serif 4", sans-serif; + color: $text-primary; +} + +.td-sidebar-nav-active-item { + text-decoration: none; +} + +ol.breadcrumb li { + font-size: 13px; +} +ol.breadcrumb li:not(:first-child):before { + content: ">" !important; +} + +.td-sidebar-nav__section-title, .td-sidebar-nav__section { + margin-bottom: 10px !important; + .nav-link.dropdown-toggle { + margin-left: -5px !important; + } +} + +.td-content .lead { + font-size: 16px !important; + font-weight: $font-weight-regular !important; +} + +// Table of Contents Component +#TableOfContents { + + font-size: 13px !important; + font-family: "Source Sans Pro", sans-serif; + a{ + margin: 0px !important; + padding: 8px !important; + font-weight: 500 !important; + } + // List styles + ul { + padding: 0px !important; + li { + padding: 0px !important; + line-height: 14px; + } + } + + // Link styles + a { + display: block; + color: $text-secondary !important; + + &:hover { + color: $link-primary !important; + text-decoration: none !important; + } + + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + + &:hover { + color: $dark-link-primary !important; + } + } + } + + // Dark mode + [data-bs-theme=dark] & { + color: $dark-text-primary; + } +} + +// tabs +ul { + &.nav-tabs { + border-bottom: none !important; + + li { + &.nav-item { + margin: 0 !important; + + button { + color: $text-primary !important; + + &.active { + color: $link-primary !important; + background-color: var(--td-pre-bg) !important; + border-bottom-color: var(--td-pre-bg) !important; + } + + // Add dark mode styles + [data-bs-theme=dark] & { + color: $dark-text-primary !important; + + &.active { + color: $dark-link-primary !important; + } + } + } + } + } + } +} + +.tab-content { + > .tab-pane { + border-radius: 0 $border-radius-medium $border-radius-medium $border-radius-medium !important; + border: 1px solid $border-default !important; + + // Add dark mode styles + [data-bs-theme=dark] & { + border-color: $dark-border-default !important; + } + } +} + +// Buttons Component +// Base button styles +.button-base { + display: inline-flex; + align-items: center; + justify-content: center; + font-size: 16px; + line-height: 20px; + font-weight: $font-weight-semibold; + padding: 0 12px; + min-height: 40px; + border-radius: $border-radius-medium; + transition: background-color 0.3s, color 0.3s; + text-decoration: none !important; + border: none; + + &:hover { + text-decoration: none !important; + } +} + +// CTA Container styles +.cta-container { + display: flex; + align-items: center; // Vertically center the buttons + gap: 16px; // Consistent spacing between buttons + margin: 24px 0; + flex-wrap: wrap; // Allow wrapping on smaller screens +} + +// CTA Button +.cta-button { + @extend .button-base; + color: $moon-800 !important; + background-color: $moon-100; + height: 40px; // Fixed height for consistency + padding: 0 16px; + display: inline-flex; + align-items: center; // Center button contents vertically + white-space: nowrap; // Prevent text wrapping inside button + + &:hover { + background-color: $hover-bg; + } + + // Icon styles + svg, img { + width: 24px; + height: 24px; + margin-right: 8px; + } + + [data-bs-theme=dark] & { + color: $dark-text-primary !important; + background-color: $dark-bg-secondary; + + &:hover { + background-color: $dark-bg-tertiary; + } + } +} + +// Contact Us Button +.contact-us-button { + @extend .button-base; + background-color: $teal-500; + color: $moon-white !important; + gap: 8px; + + &:hover { + background-color: $teal-450; + } + + img { + width: 112px; + height: 24px; + } + + p { + margin: 0; + color: $moon-white; + } + + [data-bs-theme=dark] & { + background-color: $teal-450; + + &:hover { + background-color: $teal-400; + } + } +} + +// Banners Component +// Base banner styles +.banner-base { + display: flex; + padding: 32px 40px; + flex-direction: column; + align-items: flex-start; + gap: 24px; + border-radius: $border-radius-large; + margin-bottom: 30px; + + h1, h2, p, div { + filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5)); + } +} + +// Standard Banner +.banner { + @extend .banner-base; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + min-height: 200px; + color: $moon-white; + overflow: hidden; +} + +// Help Banner +.help-banner { + @extend .banner-base; + padding: 56px 40px 72px 40px; + background: $moon-900; + background-image: url('/images/support/support_banner.png'); + background-size: cover; + background-position: center; + box-shadow: none; + + &.card:hover { + box-shadow: none; + transform: none; + } + + h2 { + color: $moon-50; + font-size: 40px; + font-weight: $font-weight-semibold; + font-family: "Source Sans Pro"; + line-height: 140%; + } + + p { + color: $moon-250; + font-size: 20px; + font-weight: $font-weight-regular; + font-family: "Source Sans Pro"; + line-height: 140%; + } +} + +// Card Banner +.card-banner { + @extend .banner-base; + align-items: center; + background: $moon-50; + color: $moon-800; + + h2 { + font-size: 24px; + font-weight: $font-weight-semibold; + color: $moon-900; + margin: 0; + } + + p { + font-size: 16px; + font-weight: $font-weight-regular; + margin: 0; + } + + &.card-banner-gray { + &:hover { + box-shadow: none; + transform: none; + } + } + + // Icon container + &-icon { + display: flex; + width: 64px; + height: 64px; + justify-content: center; + align-items: center; + border-radius: 100px; + background: rgba($teal-300, 0.48); + + img { + width: 32px; + height: 32px; + } + } + + [data-bs-theme=dark] & { + background: $dark-bg-secondary; + color: $dark-text-primary; + + h2 { + color: $dark-text-primary; + } + + p { + color: $dark-text-secondary; + } + } +} + +// Add border radius to all images, code blocks and alerts +img, pre, .highlight, .code-toolbar, .alert { + border-radius: $border-radius-medium !important; +} + +// Style images and iframes consistently +img, iframe { + margin-top: 1rem; + margin-bottom: 2rem; + display: block; +} + +.section-index { + max-width: 80%; +} + +.section-index .entry p { + margin-top: 5px; +} + +@media (min-width: $breakpoint-lg) { + img, iframe { + max-width: 80% !important; + } +} + +// Override section index heading font weight +.section-index h5 a, .section-index .h5 a { + font-size: 20px !important; + font-weight: $font-weight-regular !important; +} + +// Add dark mode styles using data-bs-theme attribute +[data-bs-theme=dark] { + body { + color: $dark-text-primary; + background-color: $dark-bg-primary; + } + + // Update sidebar nav colors for dark mode + .td-sidebar-nav { + a { + color: $dark-text-primary !important; + &:hover { + color: $dark-link-primary !important; + } + .td-sidebar-nav-active-item { + color: $dark-link-primary !important; + } + } + } + + // Update headings color for dark mode + h1, h2, h3, h4, h5, h6 { + color: $dark-text-primary; + } + + // Update reading time color for dark mode + .reading-time { + color: $dark-text-secondary; + } + + // Update table of contents color + #TableOfContents { + color: $dark-text-primary; + } + + .td-footer { + background-color: transparent !important; + color: $dark-text-primary !important; + border-top: 1px solid $moon-750 !important; + } + + // Update border colors for dark mode + .border, + .border-top, + .border-right, + .border-bottom, + .border-left { + border-color: $dark-border-default !important; + + &:hover { + border-color: $dark-border-hover !important; + } + } +} + +// For light mode (default) borders +.border, +.border-top, +.border-right, +.border-bottom, +.border-left { + border-color: $border-default !important; + + &:hover { + border-color: $border-hover !important; + } +} + +// Footer Component +.td-footer { + background-color: transparent !important; + color: $text-primary !important; + border-top: 1px solid $moon-200 !important; + padding: 1.5rem 0 !important; + min-height: auto !important; + margin: 0 !important; + + // Container styles + .container-fluid { + padding: 0 2rem !important; + } + + // Row alignment + .row { + align-items: center !important; + } + + // Footer links + &__links-item { + margin-bottom: 0 !important; + } + + // Links and icons + a, i { + color: inherit !important; + transition: color 0.3s !important; + + &:hover { + color: $link-hover !important; + } + } + + // Dark mode styles + [data-bs-theme=dark] & { + background-color: transparent !important; + color: $dark-text-primary !important; + border-top: 1px solid $moon-750 !important; + + a:hover, + i:hover { + color: $wandb-gold !important; + } + } +} + +// Feedback Component +.td-content > .d-print-none { // Target only the feedback section at bottom of content + margin-top: 4rem; + display: flex; + align-items: center; // Change back to center for vertical alignment + flex-wrap: wrap; // Allow wrapping on smaller screens + gap: 8px; // Consistent spacing between elements + + // Hide feedback title + .feedback--title { + display: none; + } + + // Question and buttons container + .feedback--question { + margin: 0; + display: flex; + align-items: center; + gap: 16px; + } + + // Buttons container + .btn { + min-width: 50px; + display: flex; + align-items: center; + justify-content: center; + + &.feedback--answer-no { + margin: 0 !important; + } + } + + // Response styling + .feedback--response { + width: 100%; + margin-top: 1rem; + } +} + +// Last modified date with feedback links - mobile styles +div.td-page-meta__lastmod { + display: flex !important; + flex-direction: column !important; // Stack elements vertically on mobile + gap: 8px !important; + color: $text-secondary !important; + font-size: 14px !important; + margin-top: 0 !important; + + // Container for last modified text and commit link + &:first-child { + display: flex !important; + align-items: center !important; + gap: 4px !important; + } + + // Style the commit link + a { + color: $text-secondary !important; + &:hover { + color: $link-primary !important; + } + } + + .feedback--links { + display: flex !important; + margin-top: 8px !important; + align-items: center !important; + gap: 16px !important; + + // Style the edit/issue links + a { + color: $text-secondary !important; + &:hover { + color: $link-primary !important; + } + } + } + + // Tablet and desktop styles + @media (min-width: $breakpoint-lg) { + flex-direction: row !important; // Switch to horizontal layout + align-items: center !important; + justify-content: space-between !important; + + .feedback--links { + margin-top: 0 !important; + margin-left: auto !important; + } + } + + // Dark mode styles + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + + a { + color: $dark-text-secondary !important; + &:hover { + color: $dark-link-primary !important; + } + } + } +} + +// Feedback buttons +.feedback--answer { + @extend .button-base; + color: $moon-800 !important; + background-color: $moon-100 !important; + background-image: none !important; + margin-right: 8px !important; + box-shadow: none !important; + display: inline-block !important; + margin-bottom: 0 !important; + border: none !important; + + &:hover { + background-color: $hover-bg !important; + text-decoration: none !important; + border: none !important; + box-shadow: none !important; + } + + // Remove unwanted margin + &.mb-4 { + margin-bottom: 0 !important; + } + + // Hide disabled buttons + &:disabled { + display: none !important; + } + + // Dark mode styles + [data-bs-theme=dark] & { + color: $dark-text-primary !important; + background-color: $dark-bg-secondary !important; + border: none !important; + + &:hover { + background-color: $dark-bg-tertiary !important; + border: none !important; + box-shadow: none !important; + } + } +} + +// Remove feedback links from original location +.td-content > .d-print-none .feedback--links { + display: none !important; +} + +// Update the sidebar navigation styles +.td-sidebar-nav { + font-family: "Source Sans Pro", sans-serif; + padding-left: 15px !important; + + // Base link styles + a { + color: $text-secondary !important; + font-weight: $font-weight-regular; + text-decoration: none !important; + + &:hover { + color: $link-primary !important; + text-decoration: none !important; + } + } + + // Active item styles + .td-sidebar-nav-active-item { + color: $link-primary !important; + font-weight: $font-weight-medium !important; + text-decoration: none !important; + + &:hover { + text-decoration: none !important; + } + } + + // Section title styles + &__section-title { + display: block; + font-weight: $font-weight-regular !important; + line-height: 19px; + margin-bottom: 10px !important; + margin-top: 5px !important; + + .active { + font-weight: $font-weight-regular !important; + } + + a { + color: var(--bs-secondary-color); + font-weight: $font-weight-regular !important; + } + } + + // Dark mode overrides + [data-bs-theme=dark] & { + a { + color: $dark-text-secondary !important; + + &:hover { + color: $dark-link-primary !important; + } + } + + .td-sidebar-nav-active-item { + color: $dark-link-primary !important; + } + } +} + +// Foldable Nav +nav.foldable-nav .with-child, nav.foldable-nav .without-child { + padding-left: 10px !important; + } + // Update existing chevron styles + nav.foldable-nav .ul-1 .with-child { + & > label { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + position: relative; + padding-right: 20px; // Space for chevron + + // Remove default chevrons + &:before { + display: none !important; + } + } + } + + // Add chevrons to all expandable items + nav.foldable-nav .ul-1 .with-child > label:after { + content: "\f105" !important; // fa-angle-right (thinner chevron) + font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; + font-weight: 900; + color: $moon-500; + transition: color 0.3s; + font-size: 14px; + position: absolute; + right: 0px; + top: 35%; + transform: translateY(-50%); + } + + // Change chevron for expanded items + nav.foldable-nav .ul-1 .with-child > input:checked + label:after { + content: "\f107" !important; // fa-angle-down (thinner chevron) + } + + // Hover states + nav.foldable-nav .ul-1 .with-child > label:hover:after { + color: $teal-600 !important; + } + + // Dark mode hover state + [data-bs-theme=dark] nav.foldable-nav .ul-1 .with-child > label:hover:after { + color: $wandb-gold !important; + } + + // Dark mode hover state + [data-bs-theme=dark] nav.foldable-nav .ul-1 .with-child > label:hover:after { + color: $wandb-gold !important; + } + + +// Theme-based logo visibility +[data-bs-theme="dark"] { + .theme-light-only { + display: none; + } + .theme-dark-only { + display: block; + } +} + +[data-bs-theme="light"] { + .theme-light-only { + display: block; + } + .theme-dark-only { + display: none; + } +} + + +// Add consistent padding for main content +.td-main { + main { + &.ps-md-5 { + padding-left: 2rem !important; + padding-right: 2rem !important; + + // Tablet (768px and up) + @media (min-width: $breakpoint-md) { + padding-left: 3rem !important; + padding-right: 3rem !important; + } + } + } +} + +// Google Search style overrides +.gsc-control-cse, .gsc-webResult.gsc-result, .gsc-cursor-page, .gsc-refinementHeader, .gs-no-results-result div { + background-color: transparent !important; + border: 0px !important; +} +.gs-title { + font-family: "Source Serif 4", sans-serif !important; +} +.gs-title b, .gs-title a, .gsc-cursor-page, .gsc-above-wrapper-area, .gcsc-find-more-on-google-query, .gcsc-find-more-on-google-magnifier { + color: $link-primary !important; + text-decoration: none !important; + font-size: 18px !important; + &:hover { + color: $link-hover !important; + text-decoration: none !important; + } + [data-bs-theme=dark] & { + color: $dark-link-primary !important; + + &:hover { + color: $dark-link-hover !important; + } + } +} +.gsc-above-wrapper-area a:hover{ + background-color: $bg-secondary !important; +} +.gsc-result-info, .gs-per-result-labels { + font-family: "Source Sans Pro", sans-serif !important; + font-size: 14px !important; + color: $text-secondary !important; + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + } +} +.gsc-refinementBlock span { + margin-left: 10px !important; + margin-right: 10px !important; +} +.gs-visibleUrl-breadcrumb { + font-family: "Source Sans Pro", sans-serif !important; + font-size: 14px !important; + color: $text-tertiary !important; + [data-bs-theme=dark] & { + color: $wandb-gold !important; + } +} + +.gs-snippet, .gsc-refinementHeader { + font-family: "Source Sans Pro", sans-serif !important; + font-size: 16px !important; + color: $text-primary !important; + [data-bs-theme=dark] & { + color: $dark-text-primary !important; + } +} +.gsc-above-wrapper-area { + display: none !important; +} +body > div.container-fluid.td-default.td-outer > main > section > div > h2 { + margin-left: 1.0rem !important; +} +.gs-per-result-labels { + padding: 5px !important; + border-radius: $border-radius-medium; + font-size: 12px; + max-width: fit-content; +} +.gs-per-result-labels span { + display: none; +} +.gsc-inline-block:hover, .gsc-refinementhActive, .gs-per-result-labels { + background-color: $bg-tertiary !important; + [data-bs-theme=dark] & { + background-color: $dark-bg-tertiary !important; + } +} +.td-search__input, .form-control, .td-search-input +{ + color: $text-tertiary !important; + border: $text-tertiary !important; + background-color: transparent !important; + [data-bs-theme=dark] & { + color: $dark-text-tertiary !important; + border: $dark-text-tertiary !important; + } +} +.gcsc-find-more-on-google { + display: none !important; +} + +// DocSearch Component +.DocSearch { + // Button styles + &-Button { + font-family: "Source Sans Pro", sans-serif; + font-size: 16px; + background: transparent !important; + border: 1px solid $border-default !important; + + &:active, + &:focus, + &:hover { + background: var(--docsearch-searchbox-focus-background); + box-shadow: inset 0 0 0 2px $teal-500 !important; + color: var(--docsearch-text-color); + outline: none; + border-color: $teal-500 !important; + } + + // Dark mode styles + [data-bs-theme=dark] & { + border: 1px solid $dark-border-default !important; + + &:hover, &:focus, &:active { + border-color: $teal-500 !important; + box-shadow: inset 0 0 0 2px $teal-450 !important; + } + } + } + + // Placeholder text color + &-Button-Placeholder { + color: $text-secondary !important; + + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + } + } + + // Search icon color + &-Search-Icon { + color: $text-secondary !important; + + [data-bs-theme=dark] & { + color: $dark-text-secondary !important; + } + } + + // Modal styles + &-Modal { + border-radius: $border-radius-large !important; + } + + // Hide footer + &-Footer { + display: none !important; + } +} + +// DocSearch Container with CSS Variables +.DocSearch-Container { + font-family: "Source Sans Pro", sans-serif; + font-size: 16px; + + // Light mode variables + --docsearch-primary-color: #{$teal-500} !important; + --docsearch-highlight-color: #{$teal-500} !important; + --docsearch-text-color: #{$moon-800} !important; + --docsearch-muted-color: #{$moon-500} !important; + --docsearch-container-background: rgba(101, 108, 133, 0.8) !important; + --docsearch-modal-background: #{$moon-white} !important; + --docsearch-searchbox-background: #{$moon-100} !important; + --docsearch-searchbox-focus-background: #{$moon-white} !important; + --docsearch-hit-color: #{$moon-800} !important; + --docsearch-hit-background: #{$moon-white} !important; + --docsearch-hit-active-background: #{$teal-500} !important; + --docsearch-footer-background: #{$moon-white} !important; + --docsearch-logo-color: #{$teal-500} !important; + --docsearch-key-gradient: linear-gradient(-26.5deg, #{$moon-200}, #{$moon-100}) !important; + --docsearch-key-shadow: inset 0 -2px 0 0 #{$moon-300} !important; + --docsearch-searchbox-shadow: inset 0 0 0 2px #{$teal-500} !important; + + .DocSearch-Modal { + border-radius: 0 !important; + max-width: 800px !important; + } + + // Search form styles + .DocSearch-Form { + border-radius: 30px !important; + } + + // Search results styles + .DocSearch-Hit { + border-radius: $border-radius-medium; + + > a { + box-shadow: none !important; + border-radius: $border-radius-medium; + border: 1px solid $border-default !important; + + } + } + + // Dark mode styles + [data-bs-theme=dark] & { + --docsearch-primary-color: #{$teal-400} !important; + --docsearch-highlight-color: #{$teal-400} !important; + --docsearch-text-color: #{$moon-200} !important; + --docsearch-muted-color: #{$moon-400} !important; + --docsearch-container-background: rgba(21, 23, 31, 0.8) !important; + --docsearch-modal-background: #{$moon-800} !important; + --docsearch-searchbox-background: #{$moon-900} !important; + --docsearch-searchbox-focus-background: #{$moon-900} !important; + --docsearch-hit-color: #{$moon-200} !important; + --docsearch-hit-background: #{$moon-800} !important; + --docsearch-hit-active-background: #{$teal-400} !important; + --docsearch-footer-background: #{$moon-800} !important; + --docsearch-logo-color: #{$teal-400} !important; + --docsearch-key-gradient: linear-gradient(-26.5deg, #{$moon-800}, #{$moon-750}) !important; + --docsearch-key-shadow: inset 0 -2px 0 0 #{$moon-700} !important; + --docsearch-searchbox-shadow: inset 0 0 0 2px #{$teal-400} !important; + } + + .DocSearch-Hit-source { + color: $text-secondary !important; + font-size: 14px !important; + } + + .DocSearch-Hit-title { + font-size: 1rem !important; + } + + // Dark mode styles + [data-bs-theme=dark] & { + + .DocSearch-Modal { + box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 18%, 0.5), 0 3px 8px 0 $moon-900; + } + + .DocSearch-Hit { + > a { + border: 1px solid $dark-border-default !important; + } + } + + .DocSearch-Hit-source { + color: $dark-text-secondary !important; + font-size: 14px !important; + } + + .DocSearch-Hit-title { + font-size: 1rem !important; + } + } +} + +@media (min-width: $breakpoint-lg) { + .DocSearch { + + .DocSearch-Modal { + border-radius: $border-radius-large !important; + } + } +} From da4f30bddd32c13fcbb20cc5a835f703775f2c85 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 13:44:50 -0400 Subject: [PATCH 15/59] new test implementation of redoc using redoc2 --- content/en/ref/training.md | 2 +- layouts/redoc2.html | 92 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 layouts/redoc2.html diff --git a/content/en/ref/training.md b/content/en/ref/training.md index 3c3464482f..5c6863be20 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -4,5 +4,5 @@ description: Generated documentation for W&B APIs menu: reference: identifier: serverless-rl-api-reference -layout: redoc +layout: redoc2 --- \ No newline at end of file diff --git a/layouts/redoc2.html b/layouts/redoc2.html new file mode 100644 index 0000000000..1ae35f8a94 --- /dev/null +++ b/layouts/redoc2.html @@ -0,0 +1,92 @@ + + + + {{ partial "head.html" . }} + + + + +
+ {{ partial "navbar.html" . }} +
+
+
+
+
+ {{ partial "version-banner.html" . }} + {{ if not (.Param "ui.breadcrumb_disable") -}} + {{ partial "breadcrumb.html" . -}} + {{ end -}} +
+
+ +
+
+
+
+
+ {{ partial "footer.html" . }} +
+ {{ partial "scripts.html" . }} + + + \ No newline at end of file From 326b5c0532637c24f8ac84f5f2de6036327c73ff Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 13:58:42 -0400 Subject: [PATCH 16/59] force light mode on redoc page --- layouts/redoc2.html | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/layouts/redoc2.html b/layouts/redoc2.html index 1ae35f8a94..775f643300 100644 --- a/layouts/redoc2.html +++ b/layouts/redoc2.html @@ -2,7 +2,7 @@ + class="no-js" data-bs-theme="light"> {{ partial "head.html" . }} @@ -88,5 +88,25 @@
{{ partial "scripts.html" . }} + \ No newline at end of file From 9cc3fed924bbde4ea7f996d8187b9f5f92a679a2 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 14:10:33 -0400 Subject: [PATCH 17/59] fix scrolling issue in redoc2 --- layouts/redoc2.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/redoc2.html b/layouts/redoc2.html index 775f643300..f742a16a97 100644 --- a/layouts/redoc2.html +++ b/layouts/redoc2.html @@ -78,7 +78,7 @@ {{ end -}}
- +
From c92099da1cc421c8eab39c0937b151849a7a241f Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 14:14:14 -0400 Subject: [PATCH 18/59] Replaces old layout with new one --- content/en/ref/training.md | 4 +- layouts/redoc.html | 194 ++++++++----------------------------- layouts/redoc2.html | 112 --------------------- 3 files changed, 42 insertions(+), 268 deletions(-) delete mode 100644 layouts/redoc2.html diff --git a/content/en/ref/training.md b/content/en/ref/training.md index 5c6863be20..3ebed9a2c5 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -1,8 +1,8 @@ --- -title: Serverless RL API Reference +title: W&B Training API Reference description: Generated documentation for W&B APIs menu: reference: identifier: serverless-rl-api-reference -layout: redoc2 +layout: redoc --- \ No newline at end of file diff --git a/layouts/redoc.html b/layouts/redoc.html index 08b0389671..89de17e80d 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -2,43 +2,13 @@ + class="no-js" data-bs-theme="light"> - - - {{ .Title }} | {{ .Site.Title }} - - - {{ hugo.Generator }} - {{ range .AlternativeOutputFormats -}} - - {{ end -}} - - - {{ if templates.Exists "partials/favicons.html" }} - {{ partialCached "favicons.html" . }} - {{ else }} - - {{ end }} - - - {{ $scss := resources.Get "scss/_variables_project.scss" | toCSS (dict "targetPath" "css/_variables_project.scss") | minify | fingerprint }} - - - - - - - + {{ partial "head.html" . }} - - - - -
- {{ partial "navbar.html" . }} -
-
-
-
-
- {{ partial "version-banner.html" . }} - {{ if not (.Param "ui.breadcrumb_disable") -}} - {{ partial "breadcrumb.html" . -}} - {{ end -}} -
-
- -
-
-
-
-
- {{ partial "footer.html" . }} -
- {{ partial "scripts.html" . }} - - - - \ No newline at end of file From 61aa8a22f8c97815bc503712b44e9e36550096b0 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 14:36:30 -0400 Subject: [PATCH 19/59] Fixes width of redoc page --- layouts/redoc.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/layouts/redoc.html b/layouts/redoc.html index 89de17e80d..d567849f55 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -20,6 +20,14 @@ height: auto !important; } + /* Make the main content area full-width without breaking Bootstrap grid */ + main.redoc-page { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + } + /* Override any conflicting styles from the theme */ .redoc-container redoc { display: block; @@ -64,7 +72,7 @@
-
+
{{ partial "version-banner.html" . }} {{ if not (.Param "ui.breadcrumb_disable") -}} {{ partial "breadcrumb.html" . -}} From e13cc4742f9a27fe579796432da377b8a0e4224d Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:01:02 -0400 Subject: [PATCH 20/59] Updates API spec URL for Redoc --- content/en/guides/training/serverless-rl.md | 31 --------------------- content/en/ref/training.md | 2 +- layouts/redoc.html | 2 +- 3 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 content/en/guides/training/serverless-rl.md diff --git a/content/en/guides/training/serverless-rl.md b/content/en/guides/training/serverless-rl.md deleted file mode 100644 index 35e20c69ee..0000000000 --- a/content/en/guides/training/serverless-rl.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: Learn about Serverless RL and how to start using it. -title: Use Serverless RL -weight: 100 ---- - -W&B Serverless RL (reinforcement learning) allows you to post-train LLMs to learn new behavior and improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. Serverless RL runs your reinforcement learning (RL) jobs on a large, managed cluster of GPUs that give you the freedom to scale your training run up to dozens of GPUs or down to zero instantly. - -Serverless RL is ideal for training: - -* Voice agents -* Deep research assistants -* On-prem models -* Content marketing analysis agents - -Serverless RL trains [low-rank adapters (LoRAs)](https://en.wikipedia.org/wiki/Fine-tuning_(deep_learning)#Low-rank_adaptation) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model's training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. - -Serverless RL uses a combination of the following W&B services to operate: - -* [Inference]({{< relref "guides/inference" >}}): To run your models -* [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training -* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters -* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop - -We charge for the use of inference and the storage of artifacts. We do not currently charge to train the adapters. See the [Serverless RL pricing page](#update-link) for more details. - -## Use Serverless RL - -Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and a [W&B API](#UPDATE-LINK). See the [OpenPipe's Serverless RL quickstart](#UPDATE-LINK) for code examples and workflows. - -See the [Serverless RL API]({{< relref "ref/training" >}}) reference for more information on the service's endpoints. \ No newline at end of file diff --git a/content/en/ref/training.md b/content/en/ref/training.md index 3ebed9a2c5..63d5a367fb 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -1,5 +1,5 @@ --- -title: W&B Training API Reference +title: W&B Training API description: Generated documentation for W&B APIs menu: reference: diff --git a/layouts/redoc.html b/layouts/redoc.html index d567849f55..5cd9efb2bf 100644 --- a/layouts/redoc.html +++ b/layouts/redoc.html @@ -79,7 +79,7 @@ {{ end -}}
- +
From be1ce2f62e1189586d3001540a9d16f038075d21 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:01:45 -0400 Subject: [PATCH 21/59] adds prereqs page --- content/en/guides/training/prerequisites.md | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 content/en/guides/training/prerequisites.md diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md new file mode 100644 index 0000000000..6fcdac7c51 --- /dev/null +++ b/content/en/guides/training/prerequisites.md @@ -0,0 +1,33 @@ +--- +title: "Prerequisites" +linkTitle: "Prerequisites" +weight: 1 +description: > + Set up your environment to use W&B Training +--- + +Complete these steps before using W&B Training features through the OpenPipe ART framework or API. + +{{< alert title="Tip" >}} +Before starting, review the [usage information and limits]({{< relref "guides/training/serverless-rl/usage-limits" >}}) to understand costs and restrictions. +{{< /alert >}} + +## Set up your W&B account and project + +You need these items to access W&B Training: + +1. **A W&B account** + Sign up at [W&B](https://app.wandb.ai/login?signup=true) + +2. **A W&B API key** + Get your API key at [https://wandb.ai/authorize](https://wandb.ai/authorize) + +3. **A W&B project** + Create a project in your W&B account to track usage + +## Next steps + +After completing the prerequisites: + +* Check the [API reference]({{< relref "/ref/training" >}}) to learn about available endpoints +* Try the [ART quickstart](https://art.openpipe.ai/getting-started/quick-start) From 93b8a6dde9eca146bdf5aad0c081f2b9aa769b13 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:02:17 -0400 Subject: [PATCH 22/59] adds Serverless RL sub-section --- .../guides/training/serverless-rl/_index.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 content/en/guides/training/serverless-rl/_index.md diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md new file mode 100644 index 0000000000..c26c81f97c --- /dev/null +++ b/content/en/guides/training/serverless-rl/_index.md @@ -0,0 +1,27 @@ +--- +menu: + default: + identifier: serverless-rl +title: Serverless RL +description: Learn about how to more efficiently post-train your models using reinforcement learning. +weight: 5 +--- + +Serverless RL lets you post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn, agentic tasks while we handle the GPUs and infrastructure for you. Serverless RL gives you instant access to GPUs on a fully managed, distributed training cluster that elastically auto-scales to dozens of GPUs or down to zero instantly, matching your reinforcement learning (RL) job at every moment. By automatically splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL maximizes GPU utilization and reduces your training time and costs. + +Serverless RL is ideal for: +* Voice agents +* Deep research assistants +* On-prem models +* Content marketing analysis agents + +Serverless RL trains low-rank adapters (LoRAs) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model’s training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. + +Serverless RL uses a combination of the following W&B services to operate: + +* [Inference]({{< relref "guides/inference" >}}): To run your models +* [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training +* [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters +* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop + +Serverless RL is currently in public preview. We only charge for the use of inference and the storage of artifacts. We do not charge for adapter training during the preview period. We will make training pricing details available when the service is released for general availability. From 8cf9d02a805627ff21a1e162bbb9a0895bf418ac Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:02:40 -0400 Subject: [PATCH 23/59] Adds available models section --- .../training/serverless-rl/available-models.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 content/en/guides/training/serverless-rl/available-models.md diff --git a/content/en/guides/training/serverless-rl/available-models.md b/content/en/guides/training/serverless-rl/available-models.md new file mode 100644 index 0000000000..056a5e498c --- /dev/null +++ b/content/en/guides/training/serverless-rl/available-models.md @@ -0,0 +1,15 @@ +--- +title: "Available Models" +linkTitle: "Available Models" +weight: 20 +description: > + See what models you can use with Serverless RL. +--- + +Serverless RL uses one open-source foundation model for training. + +## Model catalog + +| Model | Model ID (for API usage) | Type | Context Window | Parameters | Description | +|-------|--------------------------|------|----------------|------------|-------------| +| Qwen2.5 14B | Qwen/Qwen2.5-14B-Instruct | Text | 32K | 14B (Active-Total) | High-performance Mixture-of-Experts model optimized for structured reasoning, math, and long-form generation | From 0b9aa3a2d36200e5687822c99d6c5f592669e751 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:03:09 -0400 Subject: [PATCH 24/59] Adds use serverless RL section --- .../en/guides/training/serverless-rl/serverless-rl.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/en/guides/training/serverless-rl/serverless-rl.md diff --git a/content/en/guides/training/serverless-rl/serverless-rl.md b/content/en/guides/training/serverless-rl/serverless-rl.md new file mode 100644 index 0000000000..4f5aff6cde --- /dev/null +++ b/content/en/guides/training/serverless-rl/serverless-rl.md @@ -0,0 +1,9 @@ +--- +description: Learn how to start using it. +title: Use Serverless RL +weight: 10 +--- + +Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the W&B Training API. + +See [OpenPipe's Serverless RL quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. See the [W&B Training API]({{< relref "ref/training" >}}) reference for more information on the Serverless RL's endpoints. \ No newline at end of file From 82e017d338751f500651e0acd8751e37789e471a Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:03:31 -0400 Subject: [PATCH 25/59] Adds usage and limits section --- .../training/serverless-rl/usage-limits.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 content/en/guides/training/serverless-rl/usage-limits.md diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md new file mode 100644 index 0000000000..5a216e5cc4 --- /dev/null +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -0,0 +1,42 @@ +--- +title: "Usage Information and Limits" +linkTitle: "Usage & Limits" +weight: 30 +description: > + Understand pricing, usage limits, and account restrictions for W&B Serverless RL. +--- + +## Pricing + +Pricing has three components: inference, training, and storage. Learn more: https://wandb.ai/site/pricing/reinforcement-learning + +### Inference + +Trajectories are batched at each training step and, together with rewards from your reward function (often an LLM-as-judge), are used to update a training copy of the LoRA. The training workload runs on a separate GPU cluster within Serverless RL. During the public preview, training is free. Pricing for training will be announced at general availability (GA). + +* Check the [model-specific costs](https://wandb.ai/site/pricing/inference) for more details. Learn more about purchasing credits, account tiers, and usage caps in the [W&B Inference docs]({{< relref "/guides/inference/usage-limits/#purchase-more-credits" >}}). + +### Training + +At each training step, Serverless RL batches trajectories and combines them with rewards from your reward function (typically an LLM-as-judge). These batched trajectories and rewards are then used to update the LoRA adapter weights on a training copy of the base model. All training workloads run on a dedicated GPU cluster managed by Serverless RL. + +During the public preview, training is free. Pricing for training will be announced at general availability (GA). + +### Model Storage + +Serverless RL stores checkpoints of your trained LoRA heads so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes free storage. + + +## Concurrency limits + +If you exceed the rate limit, the API returns a `429 Concurrency limit reached for requests` response. To fix this error, reduce the number of concurrent requests. +W&B applies rate limits per project. For example, if you have three projects in a team, each project has its own rate limit quota. The default rate limit is 2000 concurrent requests. + +## Personal entities unsupported + +Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this only applies to legacy accounts. + +## Geographic restrictions + +Serverless RL is only available from supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). + From 69a0b7ff2294b906d66303d3f26d1e20ac5fde3b Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Fri, 3 Oct 2025 17:20:15 -0400 Subject: [PATCH 26/59] Adds API ref placeholder section --- content/en/guides/training/api-reference.md | 16 ++++++++++++++++ content/en/ref/training.md | 5 +---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 content/en/guides/training/api-reference.md diff --git a/content/en/guides/training/api-reference.md b/content/en/guides/training/api-reference.md new file mode 100644 index 0000000000..c06888e05d --- /dev/null +++ b/content/en/guides/training/api-reference.md @@ -0,0 +1,16 @@ +--- +title: "API Reference" +linkTitle: "API Reference" +weight: 100 +description: > + Complete API documentation for W&B Training. +--- + +View the complete [W&B Training API Reference]({{< relref "/ref/training" >}}). + +The API reference includes: +* All available endpoints +* Request and response schemas +* Authentication details +* Example requests and responses + diff --git a/content/en/ref/training.md b/content/en/ref/training.md index 63d5a367fb..c9cf6b31cb 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -1,8 +1,5 @@ --- title: W&B Training API description: Generated documentation for W&B APIs -menu: - reference: - identifier: serverless-rl-api-reference layout: redoc ---- \ No newline at end of file +--- From fc4b33fb2a9c407a69e7c73aeb30b1068d7cf3f8 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 12:40:37 -0400 Subject: [PATCH 27/59] Updates marketecture diagram --- assets/images/general/architecture.png | Bin 188609 -> 65156 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index 84a8815ec6a868ce1d3a6cce8b83fc1e391e9dfe..816b63ec6ec151e84f98a0b7633790d85b615446 100644 GIT binary patch literal 65156 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 PH^o5D#np=sS%;t_(B+@c-}D=v$0MJoPR7c* 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

x+9)UQ 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 Date: Mon, 6 Oct 2025 16:41:14 +0000 Subject: [PATCH 28/59] Optimised images with calibre/image-actions --- assets/images/general/architecture.png | Bin 65156 -> 22180 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index 816b63ec6ec151e84f98a0b7633790d85b615446..b350ba8feeabb2ccf59758c4c45528516c9e221d 100644 GIT binary patch literal 22180 zcmc$`2Ut_h);5e4Q2`YN6#-EM6#?lQ1QbL>IwbVa6p$`u)61hYX`&#V&`a1Mp@W2` zRFNhngceYw$Ob|Uq4P(dbI$vmbH4vQ@Av=LcYRzJZ1(J#wbsm@S?ivAO%kf1rpS2w z;&D1UI!2|(54Gs%4nuTw2X~JhqLpNhd#=$g1{x}Gh0(F`m3qzn{ry|FCAX*YmX?;N zJr45VzjsXFjjSg=(e{xw@Vq@n*Pv) zdOZ07{`P&6pZ5zirjXbYQ;^}KHXSrU({kKZOHF%^rhxXdcVy@2`=l0HDZ`7$`Yv>I zCs=;{9-vD~IZsD-nNI291GvZV0xHC70*}Anx%{lA=MAo1pn}_TpI8GmA365+aEHP8 zUGG=If^r5sH{-(mSqGULnFcmi)96B%E%x|%#{A!%H{rFcmE~zU-gtXHzCfo#T+uuO z1`mN!jXbtR!I79pXeL4iUZ6-e1J4{yPoO=kR2s?wx0Q#}e^rxc%7kwA9{F8P_=rni z34=5^z>!;xaA03C>35ZiIanV4)!7FCO_Kc}paYzfKJ!~BDR^YA0NP8Qy#MRbg2X7Z zEnKnWxAuw!{Hx$!@-;~7n4%*D-9P_r#J?(T{M~jT1UT}51C$5Q4%=qP2O6}RG_`(u zx=Rnw|1PcEbZTmr%|7`1W>sA8mjDjX`v^hPU*WeUslK1I{Hcgb5B%|~F-;lMKVJw3ei#1z^0#LHxWMUu+4{R1f42UwivK3~@AdvPg#$eF zXN|vI{$as?FeC#OP4}myzg;vq{wDB$Q|{l*`MVvz`u;D1|Lpp|b@m^9{+}80KkeDy zM*1J>{`Q{!Zw&EYr$`1&VO(tY4~UK+jfU`#&h-?0Jc=&@^u{6}xr60758R~S^s-s_ zjFAj{yS8%DnVUwLzkwj(QCY;LRqhy%`a#{q2ln+V5sZSwSCLaEX@@xLpX~N$nJ1&CcY4ZGqJvAsb=(fj3LeZ5~K#ww+d<^S9$X}=pv=qsp4XQeYHId?*0Ura>f|NGYPQXydb%m zGGh^Y1x9#G8tY2cqNFp%tzp!TE>vrT2F;@fKubDUR;FO zLJ%+L=$S-pfy>Nmk{Af822;=*rIfm)H<|LlOaQ(bZkl$dfTrw9p~BkK83E8x2bos> z1>3J%oonw6kIxH*@))!m(DR5&G4YCKbX_L&CroB&%5YY`| zju$ux)KmVKlX9%mj17Q{6LMn1HVYHXj&p}BOWDB_qVH3*NIUwv+jjE|1j>`Qg|sDd zZtCJAw~;gjYAQH4bq}jSnt+{o@|-l$ojW`nYQJA*oC6b=ZzCb7?`w;Q`8WY}Eul`; z{&ajem$4%o=cLNwY4Zi4^PoYgCe9iOD6w6g?Bbr>~Y#fku$tS0|js_HA{D{<Lk@78i6D-<|7F$Xjy(~eEy{W^sTnP{`8kwhOeswjm^b8S?lrq`Oau!>g9blH`HinqsweDY#@|*rp+XoWL-;wUuzSCt4-s>RF#BGI)VwRp0k(5~RD8O(sLE2HGMh)=wWVV63Us2j_LvzC2&5!;;JT`~Z zMWu@DaGuj!ZkqK$LBZ8%oWDIGaSL4IU@>0~Nml^kEk0f(AU_%b3%Z&3ndvW9rXx}b zYBl7E*Z8>y&te!U?cLF0XmZJUy-Ykwq1{CNrx2~Pwji0)47m!@I*}`_mxwB*K@qYa zExK&oRPTE2oN-Q4#ssOXOe&|j`QH^>LLfnd)pLY}y4xQG6F)w4w|Vrw-GCw?`yF3X zzBOD6O}uXJHAzK@4n;sEpk5W_Mo7H^u=y%CkG{xi?m*a#qh7rM5b)8}-E(w*@?dCN z5v`9loheL&Pwv?BZZUHbE1xHPX+6+i}`kks#g<+G>!F zv|T?6ryob-Yb5rA-a3df@)OZGeX{LBJfAhE#K=V;3(_KnzOgd>ZivV`{*#!t63>3K zl!$gPUUno76saqhnV!ijXI=Li%z$lJ5)$*Tj%=ArR9x>s1gLry4|erq3*3esT=f$s z*5%i>tYh3f5*xxGKV6`(1E4tS={ z{~6Hy9a8-#Aoq9t_xJk00rqd4_z$f1uPB!+HA}g-&%emHReOLSkZa(+LOM!Vm?)U= z!X6%4q=A`CD2YY+6rf(Aw;q+>RbWF*GYY7D02uE$2%m@3yKA8I^YiunBO#p&)8YCk z#%FUM-jb4z&FN|){dt>rR&>onptvymEm)Wqa71rdHjkHeG7$v!p22FbT^reJu&j0#qh z;e2Vm+cX%*n~TCux0+}b)8HIHC?6_30#>U44dyrX<4!nKNmX@!tyN>5ze@;JcA4N8 z^yILmw_mwx7|-Xgq={5X&3FiyObwAK`EcSqExM_j-^#5xEct!WEd&~X^O^I-_voe? z$V=W*XC?C06ok(4t#!yS3i zt>gLI=i>C`h9~EqT^|WwWX^Sqm+)6}adlL?nq;MoTu@F^Q<&Z3>~(XGzwF!l12x@j zr)S3{<+^>3LoyeZrj^?-5eg-J9W$QseQl|oi7(Pz>zm+;;>NRSpl02kBbAFgC9Ds& zpeQoP#TM<2pVxM7&cSVA`%e45fg~>5Q!NW%AN9^>v3zJpLSAblkQP;I2x*?Ok*;!& z0BeJNziFCx!Y+p2o+4bpMO9_8Y(|nVzME<0R*fIF`ozN#BA{bBQuYT$7#I$6Cd8e{ z!J^#c+%`=-J;(6S!ym)4+hX~{M+nU;^M2u?1cI;&uk7WVQ^{~t$D)KTGX72-Q&6eY zs-JXwE#+C|Wcm5jCjj?ycKeIkc5P>KSp4d=r!cmT!M(^6=AZ%u)C+S=P&|uojkE;q zv`Gw=0ntGhtFe-@mqdhmc-QBuarsbde}f2cMLk}IAyV%K1+P=#AT+a$SC=a~JiWo_xpK&{~_{%{x@D|R&Z2tytk+`2T=j(i}2<6I=pD9K_ zW_xl1A2|24qo&<2c)RtY_6sh8c%Q=%8lNpRuzPbxeGpr-2xW`(nN%)e=iL?-6@+!c zE@X{$Kk2S^h)N94>x2r|XKg)}6y0}#hRlO1np1%31`sI34bj_kZlCF`6&rJ6_u!%2 z4t_iIbYu+dZd%4uwn{AE?xiDeR!MwJl(-1aaFh7A(^)b5Ao}I+wj;kFfuQ-+W zv7)o%*285vX*#9Pn=KOeDpzN}sweS3NNiBPk_T=l` zzMJi?x>dRsGc6eJTMIwDW3Dy`eT#;sJ$tC%PwL;kBR)9*w@R7~ zR6>`6EXrVvQ&)wh&JMfh_ZlvCZPc9Je8|u8WO%&g_q}E~A8+YFHH7=bZj2@pWi`sD zg~~VIIt}EqJ+Qp$6fG5w-13cEwkwfTW<1g@yi5`Y=NfNUQ7Z7<7qX=7F}CWmY!D}} zw=f}5Fp+z8*d9C~9?_ZK>}Eg02<8>yF)-!$f0NzD2Pl&K+zypqOzoE^DG^%Cz|?j7^l{VHnh8wIT# zZ684pf4*F{=^CmSAN;Xr1t$vJ$u~y3q-c^HL{2OObesXOP}1PfXWF;9BHr_TE_%!6 zOVvq`bMn9sEfi`Y&tFT4!YHREqx%lH_0hlK)8}RF<{nxx2j^CVlPWQ4_kNy~9>>C@ z!o2hlq(rLx6Jku}sLVsmmvV4!w9oZ>=s>o%*G zn}&eXNFV1Wm7ddFCu4d5U+GO0wt2pC5&@T-v<9jn&T__YH2YgyFCAs;wFGU|>e52` zacTwZtijK;V(NVH7Oo|JTJL})UKae|VTM>Lx1m{v>h$r1T$gGDVPR)c9**)|*X^Gj z^~b5Ie_0c@sqZ;CVckHyY!lyUK>dkaePs`TjgQ8xi$Zs?4vd}rfbz!PdFx>B&?-o+ zo=Y1~xj@)`9!R7J4UFP+kOM=yGqng2rBfH+2{X-u3vhz_|6Mr zi-S?!A1x0#+tJ-Z9UF0mCCmiD<2zmgm7jQpQORstq|12$a?S+CiKcC(C+d0MJOk%F z%ONPJEr^vRyPGU#YY-oEz?HJdT({{*$ccUVb&P*z3S>Ma7?U?QF)1YCiPqZ}Y_cxl z^gLML$f?Vg?6)W}IQgz*f{GDLe(sQfAx~~wk0^b9BbX*JL6j;l)In;i5sxbyHs&$( z25&jwqqPmyypSV$#?_JeIL9Pj7mYlLY|;29=fBICJ$w-IqXhSgk;)X${`gn=;3XlB+B6)PtAmy1hS-xY)%@dD1(R{ z&hVfEf)v%mqb^zzCC0P;gz(9p#`RTd657h78E8!3eP9HRgbiemeEf|ZY2+%(h^?H3 z{b$^7Qk3Li@$R}Nrdek4skCOqpX@00D!Wm|Oa0deei4P0k6Bvo%Je_X`;#|xpZVMs z!8RwceDcQz`1|)CFc#KidP_*X01o+pcIb{{`yu>RbSbn@hb+ zq-|YMsWIisoHCG*!TC(jZ&O$6bODOHOkON!ji5W4d?{W=oO)`L@&LiNnAih3CcT*F z2TNmyyQXy_tyJ3Il(pKFo;u#|t9v9YpQI}c8s zs@XXPvg8=}J?V;5hHNtN$~v*9%5w=ZdTAu;R<%&l=pHwB zcPIEt3&{pTfwgW`9*SskL>(j)Xer6tc@&XX(oVgl^csrZ8rnq=Ws9MCSqYI@3Z5Nh zT;CKwS?91lNeQCwx9sK}DkhWtiNijRU!K8f0& za1YiLLn8`Q;8yz%6lSb&vOt?xoS5d9%f-V5bR$U-=4@dL4I*Jqg(c!AHuK>OQgihk zSBi5C%my9LnPG+>;Hv;bU!ET67${JzzSv$5hm)j^WQ!h~dtXu?E9kj!Hd#ABNs-UBn{Nv;?5|^uG^yKY{ncUH-HVA5!d@n1gXAz9`I&f?e(H7J zRUK*_PdxY7ti_$^O-q$mRX&`@>$=<5`J>z9KynuEInpb-X&#%(Rt?fuLj?g0Zs5cR z@cnV+fy(JA)0K2D402T2;@m3Y7;3a(hwh|T;XsYmO6n%zE4PVl#c`B<&R`W0^|m_? z=2D$0wvf^=>Zq5fMtV=K>xSp`6}VdzsV1Gy-qSM-7HU{KeWP{uQ2+F$72-fxS?nA2of8QT)9DbpPYf1kjM?Gw^|Ns;!DNH-l+HZNUb~-3PCHnu zi@IAi`?@cGgbbg@y6@y)@~DN50#;rbTVrGIZe!DKdY=ps3+0Ra!z|J!lOJ zw*+1EOP4+GZicz_xvcLg0}NZ|rHg#W(doKOG{3>En~Q&d_(IXq^$L1%<88iL%d;iw zkobCD>HBIu*UkYIpjP(j{szcjJ`17oZ;#=8!nWQ+HuX8wHe!gg%==n5w9+RdAe151 z02q)jIaz;tOj3#bTzNN_{Y1`{Izf|3Sf@HHzRF}&BRiP~iEtj#_2c?J=6<@w$z)+7 zd3``_H4Tnp!EYiNDQy|nkyIo#h@v?V&TY;r?pRHn4rm9pkC;3nTr=sJxGUu=E!g3i zUV$GNILnG4&VX~St05`qE{h&*P&@xJln7lcMQm_A=TMXMqXh14-YnwIpE!Oh_d(8G zEPhr1Q}$E2yntfrvMhlhCL|2PUo<4dXdFQMhM`k3M2&tp8(%sA8Y=yF?E^kBgUWT8 z%`R>|H=?p(SCh^W#1kPH>AdM`e>~jk;%dR^GlX(CjJ+=_R`fZEJ=jVIRYXm%ZtK9N zXd?aEzigCOARXmL>_IgJ+l#27=8oTz%U$XbNZFeR~VQfm7&8A0lH zWgjV=jETS~FJ2dLw>V?&T3zOE=lLz=Ci)6fgB~1(3CcM)XgTmiQX93s;B}cm_&(F= zme^EsXHYFrV)|2;t_KSNsI&G^1te_OV~!VuN7x^!7*h2gPSXPx`V}G_(-8SmuS22S z$^t(N)vHwtD@&lQL=J4f^f|x!v`5hs4#CTD0oc9$LgFscop&v*>Z#Y z$+-e~G|1RN#d5sNQh(Yif0I(~t4-`KfB{zJ&|+w!*;j^VUz|t6yg>ZeXo+3c!opXE zWOmXWsSJ8o8gWsl-v!Wr&Mp4I`EW-*=kZg1D%N@p?!TdBA1&Ihp6fH~Y6pFI?C@Au z>TKiLre4eE)~M&fl*cId7~{tXF@Hh&u}l~uQdhyUC{aK)9PhYbDuFB%%do{hN$PrI zu_AS<zEFS!X*{b?CnX% z^J>|nZf)~u1-G2zn=xDO3h{mc|2 z^Tc*+0f>$VY?*&H&UvW0pBlOTd|Qrl+sR*g%>dsnuHTRwq<^W_ejfdN#L1MUJK`_{ zs!WL$Yj4@#s$GwEn5<}brChG1H<&vRAK$1eb~mrSV!;0ZS&P&9Ox~>6F^8i8K34+D zmFl`w-HUeW#)o6q53muP_8M72ecOEilDQ3zG`wl(H#kJMC=#mu7`vqSVSGt3F4K0X zNGisrg|U$*#JxU#uu^qmve3twUP+0zx6A$n_4=ysh0VSl{$$^&Wo>aLb}_|l`GyrY zPQhT+!lsL(^prnK6h(s+)vZgE?hlX<%7=}A8vG42>%v=YrhJtM`8o&niBm$pr)g-l zHW&)_3xWLDDLzSQ8?>Vh_{DHruehEEfRxTjd7$8Y@GrRgpAz$aMgX>hi~3dotbT7m z)<9h}awTbZ^`*GGY*9;wiXgn@;DQFqyJV>Qsh&GgXnx~_ONTTT3jAQ2_o>6snwZKC zSq6Z%h2C;EIz4?!yy4J1&hYzMWg6FpF`lq)T?Z;o%Z7ehEBH@1>Y8dbK;-D1;1s>Jg623ucI z8CwNUBuk}rSYMHY9)Vjc~Y;^!AixF{`ws!w7Htaf*YD64m%e{K6Vn zv9b_h_WKz^n*c^F&Oyycv@pvgt?5~2k+ZK#9(S9k-$bEXiQ7xnr{d>4xJ2xt`Bje- zGfyT{h~^05R=j#9?1uepnYPJvm1b;9i;zdIi+O5XCi86nR!-dx^=oJm++a@frgTE0 zEPegwK}X&J0Z_Y+`NScr6UV$xXZ5WG|An(ZeP`l+>WE%HE-5xMi11Oz6eCYmuphYV}pU=+zzd5)?s78>LbDM?24=1n*)}G&rLvsrcfA5u@e1 zz_C;vCi$yrd|*sP1azS(cA%kiX!6!VvLAPfm;fM5mX`s1ha>mXQ`hmt8(A}%i@^iA zQL0+fiyyWe`+nYCL6{TNSqXrX=ZA-Y+d0=tujy~PS7+@%6*Ou|YPtHEanzOzC6map z!;oB7vidOriTYFFg##xlPip#f3%Z=@6)c#3U;aJ6gb2XsD@G8=x%jwai8hZ#-kGE} z@!9|Im+6gl+OeApg*wdr$+~x+O-tz8jM{m8|P(-6Mhtlh3rlv{3V7q+i=Q)IYh zN}Ob_TDz;1TIPVCI=~)(-Rvc2eaBZ*CcCHs8I^D(ZSG(SU-E&;1x3@u6qcKe(S$A| zvFCQPtZZ|}Pk>$mU3B1*lEs-)VRoDP3bpuK6)8U1l({?YWxh4x?dKiwh7F_1?eJkm zVU`?z;+$)=-^zgCVZ!(8p%8?u_-vwgQ77;m|HAY@r8Gs*bv9K65Ei~zz49VuLc-9x zD$4poeAYZ~={n%6cS~!xausr<^~|mq#8lESo^D z53Fq#YNIU`3By_22Y`%GU)~FeqGXcO_Mi?`*^|mjD1QLRZ$#P;z-O=~Ar?yRejb@N zVSUwWg2J6Proz6tplB#THWBh-lX~BX0AsKjROuo-_kGvG{zHayyrVqaa;&}iR<;y! ztwSb0!OiAurD1JdRNrlPa-&clEIBk-t&TOmTB4JX+e$x-YMPl6z}qULZ-_*>*5NRM$k!x+@kF@ksuQrF{idke&j@wA zxz~qf51v0XvOYfKt#m}w)2sSH~eRbPDp?|$ga20yb_H!Q7)K6%osFuMiyearbM3JtK|I^h!YrdTgcP!NcB<9$TrvffDG-4L zWx27SRof?H&tOq5q>+Iz8#_fwzcf;n6a4VAh#lwJ#CKk&&MN~8+HQ@sqYdS`i>9kO zDz6iQY`Bd=n%1PX`zI_(GI_xf0Q3UY4$k(S!P-{ZuDy5}393n6U=G0E4N}Q28M)0f z`+mA+t@Q!h7l1IUljrwSRkonJC5JsAGmc~3L|K4>F=?xI*FxsC_EX##7ZagpD$0ft zrD(ON(=2L#_!6rGuf$yO#lZwlid&|WDPBXnqWOYG4z^wgbrDv?Wwl2v?axY;ba&y! zo-=pTPF1S`mh*+L88q|s(bR6%?lId=A|V+9cYc9^(j zX3HLX?~Qg(eT53y9GKLY_ytv?k-Pw(683IIK3$le>&|Kka1U`{@soN0c1|JxfTp`Gcv;+Q5^)u$$u z!ZlMpHtlOXO}9<%`feHbJxlI;7@j@Jp&TRQ0L!uY-vFXj1ooR8`#+X`{ofRvqD$KU#I`w}F#b3~XjPVbc`u}CLqvFP zS15E@A#9(H&W;mKPlslrqaz%kONY_X(e7v`-{>?r=;**hbdTXwSvtDpyp0odMV_>> zf3I;Lp!<7sTK&J={d3iSzWXKmFIB;-4F9hG9+P+YUTLYn8yRIbUdG697|kSc8Q;sj zw|8#OajH@WughUgD@#osn8S`Te^=kEyuq??ARRV{hYWg;X>iyffDB{90qPy)O1_)} zgik^k97(wlR_qu7MXV1$N|2~YKJ6~TO9uvE5P25Uh`h`~15DSDlDFgfyWt*kNPWD! z@7w-Apl|M3_Vun-1)d0q3^4Ow;mk_4by%SuacCqNJR<&IQfRgdVLD75Qb zCkH};m%@9GRTZUWcORlvaHxD(Qme0lvOD`Ia3YuW-ml!c9|GWel-%T?Z;h$>bpZ8V zKBN{Q5jwIi{BwjT_nB9Wlo*eFkd|#vopmc8`I>+;rn~`%-KKYI&)VEK8AR;2ZCKm~ zmat&BP!k?H%C*MWyI`9=!FdiT6j#G|xcqfmykPy0h?2N^$Af`YR?db-G& zOnmz7s}kF{v1`mdykH+EOKy;30;pEzH1EtJ*YZ+`HgY}~sOboZK^h|Mv#Qkwqa<{6 z4gTm=Nt}@B86pMi%p;Ce03`MR$MbNZ_34^kE~AxQ+9)m}P(~c;6Nt(}Bt_z(dBC|W z*XUtyb-emy*4lb;dzKPj)}Wq+qDwP-7c}IukB-E+JU|^omZ;7faQK|-&v!`Uu*-xk zOFCv|?H#8L(S2YpOZ7}oXsv$}aC=bm)80Fx!x_SmM2)3Bu>I^=v9`c(VWeNev@Ew( z8*3y69vE_AHUsp0!@Ta~z;qXK{!38GhlkHSlR>rmYwPmtMyx(}`<+z2BtZp}N1;O6 zOQwfYsVPuW`puEPB%CJq${)8G7()y`oW70$ZAqi){U)>-M8$N?Jt;s7%CPe08T5)1 z%k%{?N4B3kA^?AqhWT$X#`A{VOOiX*JXeFzBaaZ`A?2TVjl&iuH3z$x(hM(##&`4& zVL>%pwcCxfL%bUdgrVlsQ#Ia~U-Jh7c>As-`^A3ZEno8&W~uBEXST(8!I9+jx1QlN z<;-wXT{gyW)X6&TLMLV^v^8p-Y=O=5v>CnEOlI-gL5_&|ow;W{(>l@(x0>tnuDkT- zKy%oisSK1EkXWpVWR8usG*#-gNXOEzxAB zW1zu|W2Z${_dqqD-NcYwtnw?Gi+$lZpTg5Pss0p|%Z@YRYAv{E_9(`Oa;&BDRqL-e z(b%qCQ25E^9iM{Ym4jeFtCb0+^~*zF)qs&FdAEK!mw)zRe{nT`^F#ly4v(h$#&&bF z)3B938e?0Xrh0)^av;*Y-r!EXL75s^R&4u4Z+#xCf{{TQWpc|nvMSu0r}ae}-i$A@ zFU3fD+3w;=6Sc(p4Q9e8&(W=b?bs5Ef@55Gvzi+jsS77u3~EHeXX0PK;Qvup$roZ| zjO1&2?_D1E=8k9XIRY}_D4({^U5mP{YX?AYRlI{%z-hqX!R)v)K>UCD4|0viuAg3x!D0Y4mFEtk#&u%xY1t~bXA;F;Y%i3aRX;P7>-;#8 zAarB*SUODab=+vZ_ce42;V?a7cn%MIddy-|6>zGv&aHj4a+>4&!sW)j?b^cWX7f79 zDeblSl}V4dd0)AsDl+&ko)v*j>DfoJS* z4Ed{q47KxEfZEDd8-nM06_jfhTf5myf#zfV*3{*Gj294Uk$WUi$?!_Md7)2D5pHce@X zdFVXdH8-aja>+XF80Pj1-#wA}}4 z#XmpSwP8-4s2Xljz{R%v51={|ub%a)%7&e5E-yJNZ=ODxJF0+xIvBa9H8+1I6Oy~` zAqS8@kY6De1}X_vzNBlZPY!uctUn8rTuonDi>Jj@HH^df@$Ze9*=J|*2>mTz1<}AK zxsN^@0XLsScfNwkSP-_ULemyH(I^MGOIFMalRpYeRSmvoLTet0Uth6F9hFOnhqMIq z1yjnH=#{!kGw}+igJP=Q=Xd8ks2CS(Mz-Hi71>kX@}9W*2V|-QWPm)eS?kUqEDPuR z)r`fUSyeG`ZDFEVSJVCEMjWmzq0%A`{?*b<2adEsJ)oX?o>U`O74M`sl8q&&g4&U$ z7CxuRj`is5uTu`RIp2DCVIo{ zMd$eD#v402g&*U};huT0BNOTGPq8kJ?j# z@f1dBwwgP%7cd(n?YtF{(i?lkC!~#XRJygFs*PfM=$D-yIr{<6jX+CNBI|#Tse4q{$815yn;JrPHKS)xlZNy4$FME#;YG z9iwiRkk4X_Nd1nB^*8DX#4{HxHp*`GeX)s_e(DZwRo+=XSzr?xFV~-OK2Ap%J9Z1X zlWy|ZBolt1W@da>rtYqxSD zcB6g7DpzQ0?{@Op>~>!Ab9e$<5@wWz63MAQB3`#&hx!#}l>g-`Sy}F+7?hibVoe@3@V)e!f4Ji`z|9M(XtuaU7F; z&u&TDP%>;olzflp$C}K~I$E825+AoLYA%~$&Kc`lP}v>iH{`lhjQzoRCNy~WeC01B z|2oQ<;VQTF6c2N09L&j~25J3~t^c~4gohd*Ii{J@jcu4Nqhkuee?@YXpPrrNvSedyf}C*6d}$ri`DRLcRlpiFX{RXG}yGnQjnphdQ(l#aGcM6k} zuzzm%c6&kS!jGq8b6dg-kbk6CaC#jNbJ<=;bl!!m1Makl^cP& zCCmW^M!J7VFn|Tp4oAfpM zwl|sMx_P@x`zU1Sz}K0Xv`IaOo*}(iG2N}x@#CpDh2(s-xXp81CD=!R_-8iXNvhQH8ZUxDHsBVd3(IlBY0Mf`mw#MZ>FOR3gJjlljtOH>W zXA*RKE4StbztqEyEho<1Cp@z#*b>NBlbjAYx~l@TJ%~_}c{qqO0r~Ipu=buNg%m3I z9j)YSV6`6GS9!Da9XCRFtX@utRZ?`=V0isSJD6{TCcMERw7Xk;MF{`W!N?VEG=ln!By09@bwjjNw01>+3XX*&i^ zz2&>wDD`yt2rrsLWyx3jv3(exo&D}g)JDp33Fx4qV}3)QQ$`Kl<-;>yn+e+wVUIH> zOiF~I@yt0hjU`Y`+{y`=_j_e&Tzm+tq;&(%Fh_@u34+W1^j-=IluN+M9f z837ERcCIy)i`38#+*+cwtSY%q+y0YY@TsH8MN7RHHG2Dys2EUGsx9_-0qmz@8yW_u z??&Ul9?KoBRMDdrpC_OYs5p{WW#EOZ+}0)EQJN8bDjQBHDB^8%t2Nwp#C&7xI$1}%cBN}0jSSpSl^iYjQ{N(VvZgPZQ(0v!g>9}4h0 z=BqMqDIqenWqAnWFw7HMA1}Tb?rhn-lo6#AV1R?|2R~Lh>t*ocLBTVojD1&CAS4~% z_z+k>mgY(7%kMf`;K?Y4AcgFxq?x+ZUU5F-A~JTE@X3Wq;@tyNIrq<7Y@ql0<%#DK zn-^e*v4gb>-M1SoiVtFhL}aiz)NaAHdn4y? zQo5*%OlWU08C^tPOVUr~G@skIf5RKUZD0;!esZ z*9^{v&olB9rBR#W;04VUU5lF8*w)>rUNl!}HTCq&vhVngB9|`LR4#{1LKA}qN5{=d z8XHI>3Te4i`rr1H4bwQef29@w0z3Yh3H;}(|9tl^q#^C$FEPoQr2T_*cBvD;cuIO2 ziTU3Ntcioh{s(C4FXsKb3ICmgy$|sGJBu2?U)K#GIp6qT=+F+0CexZ>y_bt=BQ(NG zs9sH(dcmVar$L&2$k%@3;Lw3|yuEMa16MgtCT=_n;RmvVcTbd#?p(vK?*)LCU)=E# zCZ23J zztM49U93F6AQeJO3-2@Bz4X}#&BRG>FN6>{$>_H79HrIeqtjFu?hbeV6x#Od*%Ki1 zvlnmEbDMHP^jT#yU)>CRAN&_rkd;qfl9&w;cymHRYIsSV@e@luobTZ;PKTEeY6Kw4 z(_#6Ivbt~hqVzkS)=ZRih0kXxx3;};PeJ4KV9Iq)xp-|p{kni4^;=`ey5-ljy!*Wn zDC`IU`{qmg(U*g#+Zy<%F9()2o4mdqtgxHkAXc8nb=*0Hi%&M>&NPVWSmh95y4DkN zYfQoIeJI4sccWi%r@D84Q?MT`=l)3A;9BjuRc>$hypa8;^xn}+XIgJO>cobqt{$AU>=VML3!8Y0KqVxi&n<;NNv>TN0yg%P0TaIixNP= z56c2AFEvfCT*~>(j|s`4Mpc;yWH(H)E`JVLYLmb7;zQiiGrOm0Srm^~G+=mj@Hp|h zka?}P!45sRS$Y;@4>($jn%?UgG3a)z0UIjtRm_+2LLwBE;F2xUS<)0-@1AH3JQx2k zdcEe#IZVp=!RNaC6K9DqEzYU&W;QrG>DI=hQZ-hG?zFs9>f zRPb?F2QTl;wPQ6SrGz?}3j~fCXA>RLhGAbl z4gIi~p`8D)zpee$j(JMXQzFPH0-+gsCF*^kv3bGy*0mR2_ZKvI1fJTwdAc1zD1jcy z8VPY)i3I9NTO?f^bnIsdqh%5frF5=Z&b~;H_o9#G5Q%wR{-j!>O9AlnlBK-x_jvJ4 z6L5GT9z+X)0iE(b{aYF@lNlGMg>|mQ;h74!f)ZrTTXM!k=PQpow1X~Dy6Ej>N1jCQ8s<*8&pmotMx>aX1Q~n=)Y@DMDHsd1Y`Pi7vz` zo$Syo&9JJF3DL7=F;U)QyLpo!WM2QdVM}^(4+U5HUc8-tiP~Yacd12Bt>s+@+r##` zQmah-Gr{S`8-z`G`k8R(n-f^naN=Y4qnc4gjhd0X70l=#_>oVyp1gB>;>MnXI%a(@ zFtRkZ2HbQiDfW@e-;hQM7o6`T)acH3@CJFElC8flKBZNbr_b|PrAu?lMs^Fq4F*(? zwv{}!1ePXiAh4zAo__2CFKsJ8qqD1UXQyuTNyCUZPp5n0uTRkt>>s~s4fF4ag!akqs{_>|S+-h4`?<~6p=|slG{dn&q5(O~L zI5>?bUyhYwv9Ziq4%5)#+?+V@AA;kr$oby~w|`{%Xn6DJ&B_#;WxtU#MkPM^&)D0; zY675d1B*X*dkOn3LvIwej&SvV30Ns>tbyL--0?2?(G2ph*y-epgU#RV2H5#&Suk=? z-4#vFmVoQs)np{r4O^BVxOb~pox$nO^Y*iB4}p+UOmP@(rL`CO!c*Cq`Ggw%Ya?jyEm6JH|`n5u4#Db-*oJ!Z$$bA<$ZY!oWTLpFXZMn$4|k zM_YC1;B+t);dF9HjWwj^*Hmh#DG^glaZ1%pOfeiZsPRx^OQ{&*iPEBm1Z^of)J)8& zmYPC?R*b>>oVCvP<6GZa-|uJb=f~drzW06I*L7d^%U#XG(`)!bOW4z41I%W{ z3ctr{|jnOVVZAl=<4|ewB{^m^_;+d{BM`V6=!P!yU(PnYr=>lcS3!awH6pcmvUZ*`y z3{fGMQ`$uk-M*&S^=7^R8kDt?OgNXLgV^yg`{Gam`?8KFqYh`|v;u-}Stj}qUnt_WfIyj7jCGDuU85%vOqfI{!f`T+Jssb)3dZy`5*Q{wA!jn6Q1|CmwcDGo`|e< z;j0b)IXcAPJm%5DuR@jyc?`vR+3n6D)|tn zmK9b32C)kCUjA+XK<+3#yIN<8Skjy;xY;><4j}1t%2^ctEUF2ye>D+usPEQz`w{)D zSioJAEi^Pz#J%Rxo`x`8cY7wa0a>Xmuj>pKyC>$E+D<<-wPCEdX9*H*kN0;%L;+_ zi*M)f6~j3QcddF50<{{Y{P;qxb^Bh5aJGQX^!c~Vu1hDD`{5_!UEAzkMV6F4a?+rY z=itHxmJ_e$^{~j>9vzKA-L{Q-@=zhGMAp@h>&$x01r2^7$R#Q#o}3Yi33EWAHTxHJ zXp;{*J4zTocD}iIZ=@R+odjP*zl5dsG%`LSsMDr(!yB6|x*<>IxYiRLP?eTo#TySz zCpW+1F}j239AbqKD|&$W1FzTJ+Pr(OTS-0f`(|1vbdxX(US&r>fk$?3<{1ae!sh#t z(CQUq^r&{zOPCJY{41<4+?+bpX~IyRZ4Jsr$@q{1JXFq4-qt`t`9M)r$2H?nkkVJ{52>R0e^|K&Skvs8UYgOsYm8PX@A>#)PV^z|FE zz_g|7fl$@M=fdgYEef)?1Q@MbyxOcUSHE*w6dtl*!|{pN_A35nG;fQ6iL3!o75*SO zz*qjpM^XEQ50yd*O>}ta z^7RTKMa_1&5aY_pju&aIl_9W0T?_&>`QV9;6LO*LV9tXol79?rr13}r)8`3Do3D1? z>ghc8;_1FrbFVYPxihzj3c2JE8{{_r~rwwg6rv`mS<0rx{hevrn6T zCv7aOI%uj-U+T4I!e;1VCR+9l<+E>18-HUZGp~HE<}Q}p$_zEa0)0A-%V9JSMvxm* zQ|0d=Ds=uDqB)6|vAeW?mzPomMpE_KR&Xh;k8>lIx_mk*2kvZUF|%oKW0CQLF(AKJ zrz%>==q2^`<}(npokKwhQ`GM!_IW(}T?`y@M|nyVi;97EY@5fteV{p2i~~)2e5`;o zM^|+7-)J$O0@Iu2#OfqIEBintZL~!hiw2`5iOyP-_J!bQ<;WcJ+eMgK-%#~p!}$A` z;i;E5Gra%cMs~uiyGf;;BSLN_`_h3pD0+NpS+ynELzvDN&K~2bV)?D*m={VTzdrZq zlP$QtLA00qoF2Seh@^*>78jE%sHbciB$;&FGF{*WAr+N2^&8F98+3EeO6W#tK62UE6i zcnR@G=b8rhdQ!_}K6u(XI6bgC*Jtn&$*(eLdQ`j$Yg=dJJyd3h4PQz06`Z^yxN5PyYaBaL!CjGxDq zkT(w-e4enmkISfs95ikJd)j2(4I2|x$s~+sty@9E6tcX-4^UN`Gj6Pz{zcN$0`F^} z!9Ui}>Rv8VvtCkNQjvBBu!`7WCwO(yr^EUn{(QsN7RZ`fHwl z7oGgH=tydjO$ze!4}CnsX*3Tlcf0a*?>r!%f_|c#*ynN1Dh5i8C|a36^7WB2;FGdx z3h5n8pF1ca%Xtk9AlG>ESE$9|$qZ%3S1l&N$c6YZWTV!})vi25mko9A#VN!nJ$&?4@3odtlplrIP$gg6J{lag1u>PHe1e z^1@<_7k5z3XW$PV1uF{>&T%lXW}OaFoen5@ktvbG4l)tdT)3t3b(4`Xo->GU*&b5X z`W3w5*9WYN$*5;Zq3X|Uo3LV!liJdvDBc5v$^Ee0p|GEuGt2h!^eS#^?5yS${$g@M z(ppX>dyr>%<-4tb!B#47PiXLoQH+bg?V5wE-e*~oeHe3HKKh(bx zxrQMSN9PEEClJUq3OY~;GTfC((T1lW6ROAm_J0S=ULp)IP>5H7QDxfe^N+^AKe(aYZ~U(5MvF#rGn literal 65156 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 PH^o5D Date: Mon, 6 Oct 2025 13:15:30 -0400 Subject: [PATCH 29/59] Removes unnecessary static assets --- static/api-specs/serverlessRL.json | 1 - static/css/main.css | 1493 ---------------------------- static/icons/logo_dark.svg | 34 - static/icons/logo_light.svg | 34 - 4 files changed, 1562 deletions(-) delete mode 100644 static/api-specs/serverlessRL.json delete mode 100644 static/css/main.css delete mode 100644 static/icons/logo_dark.svg delete mode 100644 static/icons/logo_light.svg diff --git a/static/api-specs/serverlessRL.json b/static/api-specs/serverlessRL.json deleted file mode 100644 index 434f0507a3..0000000000 --- a/static/api-specs/serverlessRL.json +++ /dev/null @@ -1 +0,0 @@ -{"openapi":"3.1.0","info":{"title":"Art Training Backend","version":"1.0.0"},"paths":{"/v1/chat/completions/":{"post":{"tags":["chat-completions"],"summary":"Create Chat Completion","description":"Create a new chat completion.","operationId":"create_chat_completion_v1_chat_completions__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/preview/models":{"post":{"tags":["models"],"summary":"Create Model","description":"Create a new model.","operationId":"create_model_v1_preview_models_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/preview/models/{model_id}":{"get":{"tags":["models"],"summary":"Get Model","description":"Get a specific model by ID.","operationId":"get_model_v1_preview_models__model_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/models/{model_id}/checkpoints":{"get":{"tags":["models"],"summary":"List Model Checkpoints","operationId":"list_model_checkpoints_v1_preview_models__model_id__checkpoints_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}},{"name":"after","in":"query","required":false,"schema":{"type":"string","description":"Cursor for pagination - ID of the last item from previous page","title":"After"},"description":"Cursor for pagination - ID of the last item from previous page"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of items to return","default":20,"title":"Limit"},"description":"Number of items to return"},{"name":"training_job_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by training job ID","title":"Training Job Id"},"description":"Filter by training job ID"},{"name":"step","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by step number","title":"Step"},"description":"Filter by step number"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_CheckpointResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["models"],"summary":"Delete Model Checkpoints","description":"Delete specific checkpoints for a model.","operationId":"delete_model_checkpoints_v1_preview_models__model_id__checkpoints_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCheckpointsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCheckpointsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/models/{model_id}/checkpoints/{step_or_latest}":{"get":{"tags":["models"],"summary":"Get Checkpoint","description":"Get a specific model checkpoint by step (or 'latest' tag).","operationId":"get_checkpoint_v1_preview_models__model_id__checkpoints__step_or_latest__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}},{"name":"step_or_latest","in":"path","required":true,"schema":{"type":"string","title":"Step Or Latest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckpointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/models/{model_id}/checkpoints/{step_or_latest}/report_metrics":{"post":{"tags":["models"],"summary":"Report Metrics","description":"Report metrics for a specific checkpoint.","operationId":"report_metrics_v1_preview_models__model_id__checkpoints__step_or_latest__report_metrics_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}},{"name":"step_or_latest","in":"path","required":true,"schema":{"type":"string","title":"Step Or Latest"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportMetricsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportMetricsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/preview/training-jobs":{"post":{"tags":["training-jobs"],"summary":"Create Training Job","operationId":"create_training_job_v1_preview_training_jobs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrainingJob"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/preview/training-jobs/{training_job_id}":{"get":{"tags":["training-jobs"],"summary":"Get Training Job","description":"Get a training job by ID.","operationId":"get_training_job_v1_preview_training_jobs__training_job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"training_job_id","in":"path","required":true,"schema":{"type":"string","title":"Training Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/health":{"get":{"summary":"Health Check","operationId":"health_check_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Annotation":{"properties":{"type":{"type":"string","const":"url_citation","title":"Type"},"url_citation":{"$ref":"#/components/schemas/AnnotationURLCitation"}},"additionalProperties":true,"type":"object","required":["type","url_citation"],"title":"Annotation"},"AnnotationURLCitation":{"properties":{"end_index":{"type":"integer","title":"End Index"},"start_index":{"type":"integer","title":"Start Index"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"}},"additionalProperties":true,"type":"object","required":["end_index","start_index","title","url"],"title":"AnnotationURLCitation"},"Audio":{"properties":{"id":{"type":"string","title":"Id"}},"type":"object","required":["id"],"title":"Audio"},"AudioURL":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"AudioURL"},"BaseModel":{"properties":{},"type":"object","title":"BaseModel"},"ChatCompletionAssistantMessageParam":{"properties":{"role":{"type":"string","const":"assistant","title":"Role"},"audio":{"anyOf":[{"$ref":"#/components/schemas/Audio"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartRefusalParam"}]},"type":"array"},{"type":"null"}],"title":"Content"},"function_call":{"anyOf":[{"$ref":"#/components/schemas/openai__types__chat__chat_completion_assistant_message_param__FunctionCall"},{"type":"null"}]},"name":{"type":"string","title":"Name"},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"tool_calls":{"items":{"$ref":"#/components/schemas/ChatCompletionMessageToolCallParam"},"type":"array","title":"Tool Calls"}},"type":"object","required":["role"],"title":"ChatCompletionAssistantMessageParam"},"ChatCompletionAudio":{"properties":{"id":{"type":"string","title":"Id"},"data":{"type":"string","title":"Data"},"expires_at":{"type":"integer","title":"Expires At"},"transcript":{"type":"string","title":"Transcript"}},"additionalProperties":true,"type":"object","required":["id","data","expires_at","transcript"],"title":"ChatCompletionAudio"},"ChatCompletionContentPartAudioParam":{"properties":{"audio_url":{"$ref":"#/components/schemas/AudioURL"},"type":{"type":"string","const":"audio_url","title":"Type"}},"type":"object","required":["audio_url","type"],"title":"ChatCompletionContentPartAudioParam"},"ChatCompletionContentPartImageEmbedsParam":{"properties":{"image_embeds":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Image Embeds"},"type":{"type":"string","const":"image_embeds","title":"Type"}},"type":"object","required":["image_embeds","type"],"title":"ChatCompletionContentPartImageEmbedsParam"},"ChatCompletionContentPartImageParam":{"properties":{"image_url":{"$ref":"#/components/schemas/ImageURL"},"type":{"type":"string","const":"image_url","title":"Type"}},"type":"object","required":["image_url","type"],"title":"ChatCompletionContentPartImageParam"},"ChatCompletionContentPartInputAudioParam":{"properties":{"input_audio":{"$ref":"#/components/schemas/InputAudio"},"type":{"type":"string","const":"input_audio","title":"Type"}},"type":"object","required":["input_audio","type"],"title":"ChatCompletionContentPartInputAudioParam"},"ChatCompletionContentPartRefusalParam":{"properties":{"refusal":{"type":"string","title":"Refusal"},"type":{"type":"string","const":"refusal","title":"Type"}},"type":"object","required":["refusal","type"],"title":"ChatCompletionContentPartRefusalParam"},"ChatCompletionContentPartTextParam":{"properties":{"text":{"type":"string","title":"Text"},"type":{"type":"string","const":"text","title":"Type"}},"type":"object","required":["text","type"],"title":"ChatCompletionContentPartTextParam"},"ChatCompletionContentPartVideoParam":{"properties":{"video_url":{"$ref":"#/components/schemas/VideoURL"},"type":{"type":"string","const":"video_url","title":"Type"}},"type":"object","required":["video_url","type"],"title":"ChatCompletionContentPartVideoParam"},"ChatCompletionDeveloperMessageParam":{"properties":{"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},"type":"array"}],"title":"Content"},"role":{"type":"string","const":"developer","title":"Role"},"name":{"type":"string","title":"Name"}},"type":"object","required":["content","role"],"title":"ChatCompletionDeveloperMessageParam"},"ChatCompletionFunctionMessageParam":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"name":{"type":"string","title":"Name"},"role":{"type":"string","const":"function","title":"Role"}},"type":"object","required":["content","name","role"],"title":"ChatCompletionFunctionMessageParam"},"ChatCompletionLogProb":{"properties":{"token":{"type":"string","title":"Token"},"logprob":{"type":"number","title":"Logprob","default":-9999.0},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"}},"additionalProperties":true,"type":"object","required":["token"],"title":"ChatCompletionLogProb"},"ChatCompletionLogProbs":{"properties":{"content":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionLogProbsContent"},"type":"array"},{"type":"null"}],"title":"Content"}},"additionalProperties":true,"type":"object","title":"ChatCompletionLogProbs"},"ChatCompletionLogProbsContent":{"properties":{"token":{"type":"string","title":"Token"},"logprob":{"type":"number","title":"Logprob","default":-9999.0},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"top_logprobs":{"items":{"$ref":"#/components/schemas/ChatCompletionLogProb"},"type":"array","title":"Top Logprobs"}},"additionalProperties":true,"type":"object","required":["token"],"title":"ChatCompletionLogProbsContent"},"ChatCompletionMessage":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"role":{"type":"string","const":"assistant","title":"Role"},"annotations":{"anyOf":[{"items":{"$ref":"#/components/schemas/Annotation"},"type":"array"},{"type":"null"}],"title":"Annotations"},"audio":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionAudio"},{"type":"null"}]},"function_call":{"anyOf":[{"$ref":"#/components/schemas/openai__types__chat__chat_completion_message__FunctionCall"},{"type":"null"}]},"tool_calls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionMessageToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"additionalProperties":true,"type":"object","required":["role"],"title":"ChatCompletionMessage"},"ChatCompletionMessageToolCall":{"properties":{"id":{"type":"string","title":"Id"},"function":{"$ref":"#/components/schemas/openai__types__chat__chat_completion_message_tool_call__Function"},"type":{"type":"string","const":"function","title":"Type"}},"additionalProperties":true,"type":"object","required":["id","function","type"],"title":"ChatCompletionMessageToolCall"},"ChatCompletionMessageToolCallParam":{"properties":{"id":{"type":"string","title":"Id"},"function":{"$ref":"#/components/schemas/openai__types__chat__chat_completion_message_tool_call_param__Function"},"type":{"type":"string","const":"function","title":"Type"}},"type":"object","required":["id","function","type"],"title":"ChatCompletionMessageToolCallParam"},"ChatCompletionNamedFunction":{"properties":{"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["name"],"title":"ChatCompletionNamedFunction"},"ChatCompletionNamedToolChoiceParam":{"properties":{"function":{"$ref":"#/components/schemas/ChatCompletionNamedFunction"},"type":{"type":"string","const":"function","title":"Type","default":"function"}},"additionalProperties":true,"type":"object","required":["function"],"title":"ChatCompletionNamedToolChoiceParam"},"ChatCompletionRequest":{"properties":{"messages":{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionDeveloperMessageParam"},{"$ref":"#/components/schemas/ChatCompletionSystemMessageParam"},{"$ref":"#/components/schemas/ChatCompletionUserMessageParam"},{"$ref":"#/components/schemas/ChatCompletionAssistantMessageParam"},{"$ref":"#/components/schemas/ChatCompletionToolMessageParam"},{"$ref":"#/components/schemas/ChatCompletionFunctionMessageParam"},{"$ref":"#/components/schemas/CustomChatCompletionMessageParam"}]},"type":"array","title":"Messages"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency Penalty","default":0.0},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Logprobs","default":false},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Logprobs","default":0},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tokens","deprecated":true},"max_completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Completion Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N","default":1},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Presence Penalty","default":0.0},"response_format":{"anyOf":[{"$ref":"#/components/schemas/ResponseFormat"},{"$ref":"#/components/schemas/StructuralTagResponseFormat"},{"type":"null"}],"title":"Response Format"},"seed":{"anyOf":[{"type":"integer","maximum":9.223372036854776e+18,"minimum":-9.223372036854776e+18},{"type":"null"}],"title":"Seed"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stop","default":[]},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Stream","default":false},"stream_options":{"anyOf":[{"$ref":"#/components/schemas/StreamOptions"},{"type":"null"}]},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P"},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionToolsParam"},"type":"array"},{"type":"null"}],"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string","const":"none"},{"type":"string","const":"auto"},{"type":"string","const":"required"},{"$ref":"#/components/schemas/ChatCompletionNamedToolChoiceParam"},{"type":"null"}],"title":"Tool Choice","default":"none"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parallel Tool Calls","default":false},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"},"best_of":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Best Of"},"use_beam_search":{"type":"boolean","title":"Use Beam Search","default":false},"top_k":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top K"},"min_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min P"},"repetition_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Repetition Penalty"},"length_penalty":{"type":"number","title":"Length Penalty","default":1.0},"stop_token_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Stop Token Ids","default":[]},"include_stop_str_in_output":{"type":"boolean","title":"Include Stop Str In Output","default":false},"ignore_eos":{"type":"boolean","title":"Ignore Eos","default":false},"min_tokens":{"type":"integer","title":"Min Tokens","default":0},"skip_special_tokens":{"type":"boolean","title":"Skip Special Tokens","default":true},"spaces_between_special_tokens":{"type":"boolean","title":"Spaces Between Special Tokens","default":true},"truncate_prompt_tokens":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Truncate Prompt Tokens"},"prompt_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prompt Logprobs"},"allowed_token_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Allowed Token Ids"},"bad_words":{"items":{"type":"string"},"type":"array","title":"Bad Words"},"echo":{"type":"boolean","title":"Echo","description":"If true, the new message will be prepended with the last message if they belong to the same role.","default":false},"add_generation_prompt":{"type":"boolean","title":"Add Generation Prompt","description":"If true, the generation prompt will be added to the chat template. This is a parameter used by chat template in tokenizer config of the model.","default":true},"continue_final_message":{"type":"boolean","title":"Continue Final Message","description":"If this is set, the chat will be formatted so that the final message in the chat is open-ended, without any EOS tokens. The model will continue this message rather than starting a new one. This allows you to \"prefill\" part of the model's response for it. Cannot be used at the same time as `add_generation_prompt`.","default":false},"add_special_tokens":{"type":"boolean","title":"Add Special Tokens","description":"If true, special tokens (e.g. BOS) will be added to the prompt on top of what is added by the chat template. For most models, the chat template takes care of adding the special tokens so this should be set to false (as is the default).","default":false},"documents":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Documents","description":"A list of dicts representing documents that will be accessible to the model if it is performing RAG (retrieval-augmented generation). If the template does not support RAG, this argument will have no effect. We recommend that each document should be a dict containing \"title\" and \"text\" keys."},"chat_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Template","description":"A Jinja template to use for this conversion. As of transformers v4.44, default chat template is no longer allowed, so you must provide a chat template if the tokenizer does not define one."},"chat_template_kwargs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Chat Template Kwargs","description":"Additional keyword args to pass to the template renderer. Will be accessible by the chat template."},"mm_processor_kwargs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Mm Processor Kwargs","description":"Additional kwargs to pass to the HF processor."},"guided_json":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"$ref":"#/components/schemas/BaseModel"},{"type":"null"}],"title":"Guided Json","description":"If specified, the output will follow the JSON schema."},"guided_regex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guided Regex","description":"If specified, the output will follow the regex pattern."},"guided_choice":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guided Choice","description":"If specified, the output will be exactly one of the choices."},"guided_grammar":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guided Grammar","description":"If specified, the output will follow the context free grammar."},"structural_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Structural Tag","description":"If specified, the output will follow the structural tag schema."},"guided_decoding_backend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guided Decoding Backend","description":"If specified, will override the default guided decoding backend of the server for this specific request. If set, must be either 'outlines' / 'lm-format-enforcer'"},"guided_whitespace_pattern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guided Whitespace Pattern","description":"If specified, will override the default whitespace pattern for guided json decoding."},"priority":{"type":"integer","title":"Priority","description":"The priority of the request (lower means earlier handling; default: 0). Any priority other than 0 will raise an error if the served model does not use priority scheduling.","default":0},"request_id":{"type":"string","title":"Request Id","description":"The request_id related to this request. If the caller does not set it, a random_uuid will be generated. This id is used through out the inference process and return in response."},"logits_processors":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/LogitsProcessorConstructor"}]},"type":"array"},{"type":"null"}],"title":"Logits Processors","description":"A list of either qualified names of logits processors, or constructor objects, to apply when sampling. A constructor is a JSON object with a required 'qualname' field specifying the qualified name of the processor class/factory, and optional 'args' and 'kwargs' fields containing positional and keyword arguments. For example: {'qualname': 'my_module.MyLogitsProcessor', 'args': [1, 2], 'kwargs': {'param': 'value'}}."},"return_tokens_as_token_ids":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Return Tokens As Token Ids","description":"If specified with 'logprobs', tokens are represented as strings of the form 'token_id:{token_id}' so that tokens that are not JSON-encodable can be identified."},"cache_salt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cache Salt","description":"If specified, the prefix cache will be salted with the provided string to prevent an attacker to guess prompts in multi-user environments. The salt should be random, protected from access by 3rd parties, and long enough to be unpredictable (e.g., 43 characters base64-encoded, corresponding to 256 bit). Not supported by vLLM engine V0."},"kv_transfer_params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Kv Transfer Params","description":"KVTransfer parameters used for disaggregated serving."},"vllm_xargs":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"}]},"type":"object"},{"type":"null"}],"title":"Vllm Xargs","description":"Additional request parameters with string or numeric values, used by custom extensions."}},"additionalProperties":true,"type":"object","required":["messages"],"title":"ChatCompletionRequest"},"ChatCompletionResponse":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","const":"chat.completion","title":"Object","default":"chat.completion"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"choices":{"items":{"$ref":"#/components/schemas/ChatCompletionResponseChoice"},"type":"array","title":"Choices"},"service_tier":{"anyOf":[{"type":"string","enum":["auto","default","flex","scale","priority"]},{"type":"null"}],"title":"Service Tier"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"usage":{"$ref":"#/components/schemas/UsageInfo"},"prompt_logprobs":{"anyOf":[{"items":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/Logprob"},"type":"object"},{"type":"null"}]},"type":"array"},{"type":"null"}],"title":"Prompt Logprobs"},"kv_transfer_params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Kv Transfer Params","description":"KVTransfer parameters."}},"additionalProperties":true,"type":"object","required":["model","choices","usage"],"title":"ChatCompletionResponse"},"ChatCompletionResponseChoice":{"properties":{"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/ChatMessage"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionLogProbs"},{"type":"null"}]},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason","default":"stop"},"stop_reason":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Stop Reason"}},"additionalProperties":true,"type":"object","required":["index","message"],"title":"ChatCompletionResponseChoice"},"ChatCompletionSystemMessageParam":{"properties":{"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},"type":"array"}],"title":"Content"},"role":{"type":"string","const":"system","title":"Role"},"name":{"type":"string","title":"Name"}},"type":"object","required":["content","role"],"title":"ChatCompletionSystemMessageParam"},"ChatCompletionTokenLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"},"top_logprobs":{"items":{"$ref":"#/components/schemas/TopLogprob"},"type":"array","title":"Top Logprobs"}},"additionalProperties":true,"type":"object","required":["token","logprob","top_logprobs"],"title":"ChatCompletionTokenLogprob"},"ChatCompletionToolMessageParam":{"properties":{"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},"type":"array"}],"title":"Content"},"role":{"type":"string","const":"tool","title":"Role"},"tool_call_id":{"type":"string","title":"Tool Call Id"}},"type":"object","required":["content","role","tool_call_id"],"title":"ChatCompletionToolMessageParam"},"ChatCompletionToolParam":{"properties":{"function":{"$ref":"#/components/schemas/openai__types__shared_params__function_definition__FunctionDefinition"},"type":{"type":"string","const":"function","title":"Type"}},"type":"object","required":["function","type"],"title":"ChatCompletionToolParam"},"ChatCompletionToolsParam":{"properties":{"type":{"type":"string","const":"function","title":"Type","default":"function"},"function":{"$ref":"#/components/schemas/vllm__entrypoints__openai__protocol__FunctionDefinition"}},"additionalProperties":true,"type":"object","required":["function"],"title":"ChatCompletionToolsParam"},"ChatCompletionUserMessageParam":{"properties":{"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartImageParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartInputAudioParam"},{"$ref":"#/components/schemas/File"}]},"type":"array"}],"title":"Content"},"role":{"type":"string","const":"user","title":"Role"},"name":{"type":"string","title":"Name"}},"type":"object","required":["content","role"],"title":"ChatCompletionUserMessageParam"},"ChatMessage":{"properties":{"role":{"type":"string","title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"annotations":{"anyOf":[{"$ref":"#/components/schemas/Annotation"},{"type":"null"}]},"audio":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionAudio"},{"type":"null"}]},"function_call":{"anyOf":[{"$ref":"#/components/schemas/FunctionCall-Output"},{"type":"null"}]},"tool_calls":{"items":{"$ref":"#/components/schemas/ToolCall"},"type":"array","title":"Tool Calls"},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"}},"additionalProperties":true,"type":"object","required":["role"],"title":"ChatMessage"},"CheckpointResponse":{"properties":{"step":{"type":"integer","title":"Step"},"version":{"type":"integer","title":"Version"},"id":{"type":"string","format":"uuid","title":"Id"},"model_id":{"type":"string","format":"uuid","title":"Model Id"},"training_job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Training Job Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"metrics":{"additionalProperties":true,"type":"object","title":"Metrics"}},"type":"object","required":["step","version","id","model_id","training_job_id","created_at","updated_at","metrics"],"title":"CheckpointResponse","description":"Schema for Checkpoint response."},"Choice":{"properties":{"finish_reason":{"type":"string","enum":["stop","length","tool_calls","content_filter","function_call"],"title":"Finish Reason"},"index":{"type":"integer","title":"Index"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/ChoiceLogprobs"},{"type":"null"}]},"message":{"$ref":"#/components/schemas/ChatCompletionMessage"}},"additionalProperties":true,"type":"object","required":["finish_reason","index","message"],"title":"Choice"},"ChoiceLogprobs":{"properties":{"content":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionTokenLogprob"},"type":"array"},{"type":"null"}],"title":"Content"},"refusal":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionTokenLogprob"},"type":"array"},{"type":"null"}],"title":"Refusal"}},"additionalProperties":true,"type":"object","title":"ChoiceLogprobs"},"CreateTrainingJob":{"properties":{"model_id":{"type":"string","format":"uuid","title":"Model Id"},"trajectory_groups":{"items":{"$ref":"#/components/schemas/TrajectoryGroup"},"type":"array","title":"Trajectory Groups"},"experimental_config":{"anyOf":[{"$ref":"#/components/schemas/ExperimentalTrainingConfig"},{"type":"null"}]}},"type":"object","required":["model_id","trajectory_groups"],"title":"CreateTrainingJob","description":"Schema for creating a new TrainingJob."},"CustomChatCompletionContentSimpleAudioParam":{"properties":{"audio_url":{"type":"string","title":"Audio Url"}},"type":"object","required":["audio_url"],"title":"CustomChatCompletionContentSimpleAudioParam","description":"A simpler version of the param that only accepts a plain audio_url.\n\nExample:\n{\n \"audio_url\": \"https://example.com/audio.mp3\"\n}"},"CustomChatCompletionContentSimpleImageParam":{"properties":{"image_url":{"type":"string","title":"Image Url"}},"type":"object","required":["image_url"],"title":"CustomChatCompletionContentSimpleImageParam","description":"A simpler version of the param that only accepts a plain image_url.\nThis is supported by OpenAI API, although it is not documented.\n\nExample:\n{\n \"image_url\": \"https://example.com/image.jpg\"\n}"},"CustomChatCompletionContentSimpleVideoParam":{"properties":{"video_url":{"type":"string","title":"Video Url"}},"type":"object","required":["video_url"],"title":"CustomChatCompletionContentSimpleVideoParam","description":"A simpler version of the param that only accepts a plain audio_url.\n\nExample:\n{\n \"video_url\": \"https://example.com/video.mp4\"\n}"},"CustomChatCompletionMessageParam":{"properties":{"role":{"type":"string","title":"Role"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionContentPartTextParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartImageParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartInputAudioParam"},{"$ref":"#/components/schemas/File"},{"$ref":"#/components/schemas/ChatCompletionContentPartAudioParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartVideoParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartRefusalParam"},{"$ref":"#/components/schemas/CustomChatCompletionContentSimpleImageParam"},{"$ref":"#/components/schemas/ChatCompletionContentPartImageEmbedsParam"},{"$ref":"#/components/schemas/CustomChatCompletionContentSimpleAudioParam"},{"$ref":"#/components/schemas/CustomChatCompletionContentSimpleVideoParam"},{"type":"string"},{"$ref":"#/components/schemas/CustomThinkCompletionContentParam"}]},"type":"array"}],"title":"Content"},"name":{"type":"string","title":"Name"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionMessageToolCallParam"},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"type":"object","required":["role"],"title":"CustomChatCompletionMessageParam","description":"Enables custom roles in the Chat Completion API."},"CustomThinkCompletionContentParam":{"properties":{"thinking":{"type":"string","title":"Thinking"},"closed":{"type":"boolean","title":"Closed"},"type":{"type":"string","const":"thinking","title":"Type"}},"type":"object","required":["thinking","type"],"title":"CustomThinkCompletionContentParam","description":"A Think Completion Content Param that accepts a plain text and a boolean.\n\nExample:\n{\n \"thinking\": \"I am thinking about the answer\",\n \"closed\": True,\n \"type\": \"thinking\"\n}"},"DeleteCheckpointsRequest":{"properties":{"steps":{"items":{"type":"integer"},"type":"array","title":"Steps"}},"type":"object","required":["steps"],"title":"DeleteCheckpointsRequest","description":"Schema for deleting checkpoints."},"DeleteCheckpointsResponse":{"properties":{"deleted_count":{"type":"integer","title":"Deleted Count"},"not_found_steps":{"items":{"type":"integer"},"type":"array","title":"Not Found Steps"}},"type":"object","required":["deleted_count","not_found_steps"],"title":"DeleteCheckpointsResponse","description":"Schema for delete checkpoints response."},"ExperimentalTrainingConfig":{"properties":{"learning_rate":{"type":"number","title":"Learning Rate"}},"type":"object","required":["learning_rate"],"title":"ExperimentalTrainingConfig","description":"Schema for experimental training config."},"File":{"properties":{"file":{"$ref":"#/components/schemas/FileFile"},"type":{"type":"string","const":"file","title":"Type"}},"type":"object","required":["file","type"],"title":"File"},"FileFile":{"properties":{"file_data":{"type":"string","title":"File Data"},"file_id":{"type":"string","title":"File Id"},"filename":{"type":"string","title":"Filename"}},"type":"object","title":"FileFile"},"FunctionCall-Output":{"properties":{"name":{"type":"string","title":"Name"},"arguments":{"type":"string","title":"Arguments"}},"additionalProperties":true,"type":"object","required":["name","arguments"],"title":"FunctionCall"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"History":{"properties":{"messages_and_choices":{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionDeveloperMessageParam"},{"$ref":"#/components/schemas/ChatCompletionSystemMessageParam"},{"$ref":"#/components/schemas/ChatCompletionUserMessageParam"},{"$ref":"#/components/schemas/ChatCompletionAssistantMessageParam"},{"$ref":"#/components/schemas/ChatCompletionToolMessageParam"},{"$ref":"#/components/schemas/ChatCompletionFunctionMessageParam"},{"$ref":"#/components/schemas/Choice"}]},"type":"array","title":"Messages And Choices"},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionToolParam"},"type":"array"},{"type":"null"}],"title":"Tools"}},"type":"object","required":["messages_and_choices"],"title":"History"},"ImageURL":{"properties":{"url":{"type":"string","title":"Url"},"detail":{"type":"string","enum":["auto","low","high"],"title":"Detail"}},"type":"object","required":["url"],"title":"ImageURL"},"InputAudio":{"properties":{"data":{"type":"string","title":"Data"},"format":{"type":"string","enum":["wav","mp3"],"title":"Format"}},"type":"object","required":["data","format"],"title":"InputAudio"},"JsonSchemaResponseFormat":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema"},"strict":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Strict"}},"additionalProperties":true,"type":"object","required":["name"],"title":"JsonSchemaResponseFormat"},"LogitsProcessorConstructor":{"properties":{"qualname":{"type":"string","title":"Qualname"},"args":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Args"},"kwargs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Kwargs"}},"additionalProperties":false,"type":"object","required":["qualname"],"title":"LogitsProcessorConstructor"},"Logprob":{"properties":{"logprob":{"type":"number","title":"Logprob"},"rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank"},"decoded_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decoded Token"}},"type":"object","required":["logprob"],"title":"Logprob"},"ModelCreate":{"properties":{"entity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity","description":"Team or username of the developer whose W&B API key is being used","example":"my-team"},"project":{"type":"string","title":"Project","description":"Project name in W&B where the model will be stored","example":"my-awesome-project"},"name":{"type":"string","title":"Name","description":"Unique name for the model within the project","example":"fine-tuned-llama-7b"},"base_model":{"type":"string","title":"Base Model","description":"Base model identifier or HuggingFace model path to fine-tune from","example":"meta-llama/Llama-2-7b-hf"},"return_existing":{"type":"boolean","title":"Return Existing","description":"If true, return existing model if one with the same name already exists instead of creating a new one","default":false}},"type":"object","required":["project","name","base_model"],"title":"ModelCreate","description":"Schema for creating a new Model."},"ModelResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entity":{"type":"string","title":"Entity"},"project":{"type":"string","title":"Project"},"name":{"type":"string","title":"Name"},"base_model":{"type":"string","title":"Base Model"}},"type":"object","required":["id","entity","project","name","base_model"],"title":"ModelResponse","description":"Schema for Model response."},"PaginatedResponse_CheckpointResponse_":{"properties":{"object":{"type":"string","title":"Object","description":"Object type identifier","default":"list"},"data":{"items":{"$ref":"#/components/schemas/CheckpointResponse"},"type":"array","title":"Data","description":"Array of items"},"first_id":{"type":"string","title":"First Id","description":"ID of the first item in the current page","default":""},"last_id":{"type":"string","title":"Last Id","description":"ID of the last item in the current page","default":""},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more items available"}},"type":"object","required":["data","has_more"],"title":"PaginatedResponse[CheckpointResponse]"},"PromptTokenUsageInfo":{"properties":{"cached_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cached Tokens"}},"additionalProperties":true,"type":"object","title":"PromptTokenUsageInfo"},"ReportMetricsRequest":{"properties":{"metrics":{"additionalProperties":true,"type":"object","title":"Metrics"}},"type":"object","required":["metrics"],"title":"ReportMetricsRequest","description":"Schema for reporting checkpoint metrics."},"ReportMetricsResponse":{"properties":{"success":{"type":"boolean","title":"Success"}},"type":"object","required":["success"],"title":"ReportMetricsResponse","description":"Schema for report metrics response."},"ResponseFormat":{"properties":{"type":{"type":"string","enum":["text","json_object","json_schema"],"title":"Type"},"json_schema":{"anyOf":[{"$ref":"#/components/schemas/JsonSchemaResponseFormat"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["type"],"title":"ResponseFormat"},"StreamOptions":{"properties":{"include_usage":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Usage","default":true},"continuous_usage_stats":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Continuous Usage Stats","default":false}},"additionalProperties":true,"type":"object","title":"StreamOptions"},"StructuralTag":{"properties":{"begin":{"type":"string","title":"Begin"},"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema"},"end":{"type":"string","title":"End"}},"additionalProperties":true,"type":"object","required":["begin","end"],"title":"StructuralTag"},"StructuralTagResponseFormat":{"properties":{"type":{"type":"string","const":"structural_tag","title":"Type"},"structures":{"items":{"$ref":"#/components/schemas/StructuralTag"},"type":"array","title":"Structures"},"triggers":{"items":{"type":"string"},"type":"array","title":"Triggers"}},"additionalProperties":true,"type":"object","required":["type","structures","triggers"],"title":"StructuralTagResponseFormat"},"ToolCall":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","const":"function","title":"Type","default":"function"},"function":{"$ref":"#/components/schemas/FunctionCall-Output"}},"additionalProperties":true,"type":"object","required":["function"],"title":"ToolCall"},"TopLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"}},"additionalProperties":true,"type":"object","required":["token","logprob"],"title":"TopLogprob"},"TrainingJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"model_id":{"type":"string","format":"uuid","title":"Model Id"},"training_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Training Start"},"training_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Training End"},"progress":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Progress"},"status":{"$ref":"#/components/schemas/TrainingJobStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","model_id","status","created_at","updated_at"],"title":"TrainingJobResponse","description":"Schema for TrainingJob response."},"TrainingJobStatus":{"type":"string","enum":["PENDING","RUNNING","COMPLETED","FAILED","CANCELLED"],"title":"TrainingJobStatus","description":"Training job status enumeration."},"Trajectory":{"properties":{"messages_and_choices":{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionDeveloperMessageParam"},{"$ref":"#/components/schemas/ChatCompletionSystemMessageParam"},{"$ref":"#/components/schemas/ChatCompletionUserMessageParam"},{"$ref":"#/components/schemas/ChatCompletionAssistantMessageParam"},{"$ref":"#/components/schemas/ChatCompletionToolMessageParam"},{"$ref":"#/components/schemas/ChatCompletionFunctionMessageParam"},{"$ref":"#/components/schemas/Choice"}]},"type":"array","title":"Messages And Choices"},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionToolParam"},"type":"array"},{"type":"null"}],"title":"Tools"},"additional_histories":{"items":{"$ref":"#/components/schemas/History"},"type":"array","title":"Additional Histories","default":[]},"reward":{"type":"number","title":"Reward"},"metrics":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"boolean"}]},"type":"object","title":"Metrics","default":{}},"metadata":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"string"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Metadata","default":{}},"logs":{"items":{"type":"string"},"type":"array","title":"Logs","default":[]},"start_time":{"type":"string","format":"date-time","title":"Start Time"}},"type":"object","required":["messages_and_choices","reward"],"title":"Trajectory"},"TrajectoryGroup":{"properties":{"trajectories":{"items":{"$ref":"#/components/schemas/Trajectory"},"type":"array","title":"Trajectories"}},"type":"object","required":["trajectories"],"title":"TrajectoryGroup"},"UsageInfo":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","default":0},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Tokens","default":0},"prompt_tokens_details":{"anyOf":[{"$ref":"#/components/schemas/PromptTokenUsageInfo"},{"type":"null"}]}},"additionalProperties":true,"type":"object","title":"UsageInfo"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VideoURL":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"VideoURL"},"openai__types__chat__chat_completion_assistant_message_param__FunctionCall":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"type":"object","required":["arguments","name"],"title":"FunctionCall"},"openai__types__chat__chat_completion_message__FunctionCall":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["arguments","name"],"title":"FunctionCall"},"openai__types__chat__chat_completion_message_tool_call__Function":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"additionalProperties":true,"type":"object","required":["arguments","name"],"title":"Function"},"openai__types__chat__chat_completion_message_tool_call_param__Function":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"type":"string","title":"Name"}},"type":"object","required":["arguments","name"],"title":"Function"},"openai__types__shared_params__function_definition__FunctionDefinition":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"parameters":{"additionalProperties":true,"type":"object","title":"Parameters"},"strict":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Strict"}},"type":"object","required":["name"],"title":"FunctionDefinition"},"vllm__entrypoints__openai__protocol__FunctionDefinition":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"parameters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Parameters"}},"additionalProperties":true,"type":"object","required":["name"],"title":"FunctionDefinition"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}} \ No newline at end of file diff --git a/static/css/main.css b/static/css/main.css deleted file mode 100644 index edaf1036fe..0000000000 --- a/static/css/main.css +++ /dev/null @@ -1,1493 +0,0 @@ -/* - -Add styles or override variables from the theme here. - -*/ - -@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap'); - -// First define the base color tokens -// Moon (Grayscale) -$moon-white: #ffffff; -$moon-50: #fafafa; -$moon-100: #f5f6f7; -$moon-200: #e4e6eb; -$moon-250: #dfe0e2; -$moon-300: #d3d7de; -$moon-350: #c1c6cf; -$moon-400: #aeb3bd; -$moon-500: #79808a; -$moon-600: #565c66; -$moon-650: #4a4f58; -$moon-700: #3f464f; -$moon-750: #363c44; -$moon-800: #2b3038; -$moon-900: #1a1d24; -$moon-950: #171a1f; - -// Teal colors -$teal-300: #a9edf2; -$teal-400: #58d3db; -$teal-450: #10bfcc; -$teal-500: #13a9ba; -$teal-550: #0e97a7; -$teal-600: #038194; - -// Border colors -$border-default: $moon-200; // Using moon-200 instead of moon-250 -$border-hover: $moon-350; // color/moon/350 -$border-active: $teal-500; // color/teal/500 -$border-subtle: $moon-100; // color/moon/100 -$dark-border-default: $moon-750; // color/moon/750 -$dark-border-hover: $moon-650; // color/moon/650 -$dark-border-subtle: $moon-800; // color/moon/800 - -// Border radius -$border-radius-medium: 8px; // Used for most components -$border-radius-large: 12px; // Used for modals and larger components - -// Then define the semantic color tokens -// Text colors -$text-primary: $moon-800; // color/moon/800 -$text-secondary: $moon-600; // color/moon/600 -$text-tertiary: $moon-500; // color/moon/500 -$text-disabled: $moon-350; // color/moon/350 - -// Link colors -$link-primary: $teal-600; // color/teal/600 -$link-hover: $teal-550; // color/teal/550 -$link-secondary: $moon-600; // color/moon/600 -$link-secondary-hover: $moon-500; // color/moon/500 - -// Background colors -$bg-primary: $moon-white; // White background -$bg-secondary: $moon-50; // color/moon/50 -$bg-tertiary: $moon-100; // color/moon/100 -$bg-disabled: $moon-350; // color/moon/350 - -// Dark mode colors -$dark-text-primary: $moon-200; // color/moon/200 -$dark-text-secondary: $moon-400; // color/moon/400 -$dark-text-tertiary: $moon-500; // color/moon/500 -$dark-text-disabled: $moon-650; // color/moon/650 - -$dark-link-primary: $teal-500; // color/teal/500 -$dark-link-hover: $teal-450; // color/teal/450 -$dark-link-secondary: $moon-600; // color/moon/600 -$dark-link-secondary-hover: $moon-500; // color/moon/500 - -$dark-bg-primary: $moon-900; // color/moon/900 -$dark-bg-secondary: $moon-800; // color/moon/800 -$dark-bg-tertiary: $moon-700; // color/moon/700 -$dark-bg-disabled: $moon-650; // color/moon/650 - -// Other brand colors -$nav-bg: rgb(26, 28, 31); -$wandb-gold: #FFCC33; -$wandb-link-blue: rgb(7, 177, 196); -$hover-bg: #A9EDF260; - -// Gradients -$sunset-gradient: linear-gradient(98deg, #e180ff 0%, #ffcf4d 100%); -$wandb-gradient: linear-gradient(180deg, #ffcc33 39%, #ffad33 72%); - -// Font weights -$font-weight-light: 300; -$font-weight-regular: 400; -$font-weight-medium: 500; -$font-weight-semibold: 600; -$font-weight-bold: 700; - -// Bootstrap overrides -:root { - --bs-nav-link-font-size: 18px; -} - -// Typography Component -// Base body styles -body { - font-family: "Source Sans Pro", sans-serif; - font-size: 16px; - font-weight: $font-weight-regular; - color: $text-primary; - background-color: $bg-primary; - - [data-bs-theme=dark] & { - color: $dark-text-primary; - background-color: $dark-bg-primary; - } -} -p, td, div -{ - font-family: "Source Sans Pro", sans-serif; -} -.td-sidebar-nav__section-title, .td-sidebar-nav__section without-child -{ - font-size: 16px; - font-weight: $font-weight-bold; -} - -// Headings -h1, h2, h3, h4, h5, h6 { - font-weight: $font-weight-regular !important; - font-family: "Source Serif 4", sans-serif; - color: $text-primary; - - [data-bs-theme=dark] & { - color: $dark-text-primary; - } -} - -// Heading sizes -h1, .td-content h1 { font-size: 32px !important; } -h2, .td-content h2 { font-size: 24px !important; } -h3, .td-content h3 { font-size: 20px !important; } -h4, .td-content h4 { font-size: 18px !important; } -h5, .td-content h5 { font-size: 17px !important; } -h6, .td-content h6 { font-size: 16px !important; } - -// Lead paragraph -.td-content .lead { - font-size: 16px !important; - font-weight: $font-weight-regular !important; -} - -// Reading time -.reading-time { - font-size: 14px; - color: $text-secondary; - - [data-bs-theme=dark] & { - color: $dark-text-secondary; - } -} - -// Links -a { - color: $link-primary !important; - text-decoration: none !important; - - &:hover { - color: $link-hover !important; - text-decoration: none !important; - } - - [data-bs-theme=dark] & { - color: $dark-link-primary !important; - - &:hover { - color: $dark-link-hover !important; - } - } -} - -// hide "create child" and "create project issue" links -.td-page-meta__child, .td-page-meta__project-issue { display: none !important; } - -// shrink the right nav a bit -.td-page-meta { - display: none !important; - font-size: 16px !important; - a { - padding-bottom: 15px; - line-height: 22px; - } -} - -// hide left nav label -.tree-root { display: none !important;} - -// First define breakpoints -$breakpoint-sm: 576px; // Phone -$breakpoint-md: 768px; // Tablet -$breakpoint-lg: 992px; // Desktop -$breakpoint-xl: 1200px; // Large desktop - -// Consolidated navbar styles with mobile-first approach -.td-navbar { - background-color: $bg-primary !important; - padding: 0 !important; - border-bottom: 1px solid $border-default !important; - - // Base styles (mobile first) - .container-fluid { - padding: 8px !important; - gap: 16px !important; - - .td-navbar-nav-scroll { - align-items: center !important; - height: auto !important; - margin: 0 !important; - padding: 0 !important; - gap: 16px !important; - - .navbar-nav { - display: flex !important; - align-items: center !important; - padding-left: 0 !important; - margin: 0 !important; - gap: 8px !important; - - .nav-item { - padding-inline-end: 0 !important; - } - - &.main-nav { - padding: 0 !important; - margin: 0 !important; - - // Nav links base styles - .nav-link { - color: $text-secondary !important; - font-weight: $font-weight-regular !important; - transition: all 0.2s ease-in-out !important; - border-bottom: none !important; - border-radius: $border-radius-medium !important; - padding: 8px 10px !important; - font-size: 16px !important; - - &:hover { - text-decoration: none !important; - background-color: rgba($moon-300, 0.2) !important; - } - - &.active { - color: $link-primary !important; - background-color: rgba($moon-300, 0.2) !important; - font-weight: $font-weight-regular !important; - } - } - - } - - &.main-nav-right { - padding: 0 !important; - margin: 0 !important; - align-items: center !important; - gap: 0 !important; - - // Update mobile light/dark toggle styles - .td-light-dark-menu { - display: flex !important; - align-items: center !important; - margin: 0 !important; - gap: 0 !important; - min-width: 0 !important; - } - - // Dropdown styles - .nav-item.dropdown { - margin: 0 !important; - - .nav-link { - font-size: 16px !important; - font-weight: $font-weight-regular !important; - color: $text-secondary !important; - - &:hover { - background-color: transparent !important; - } - - &::after { - display: none !important; - } - - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - } - } - } - } - } - } - } - - // Brand/logo styles - .navbar-brand { - display: flex !important; - align-items: center !important; - padding: 0 !important; - margin-right: 0 !important; - - .navbar-logo { - display: block; - width: auto; - height: auto; - margin: 0 !important; - - svg { - margin: 0 !important; - width: 100%; - } - } - } - - // Hide the doc site name - .navbar-brand__name { - display: none !important; - } - - - // Tablet styles (577px and up) - @media (min-width: $breakpoint-sm + 1) { - .container-fluid { - padding: 8px 12px !important; - } - - .navbar-brand { - margin-right: 1rem !important; - } - } - - // Desktop styles (992px and up) - @media (min-width: $breakpoint-lg) { - .container-fluid { - padding: 8px 24px !important; - flex-direction: row !important; - align-items: center !important; - justify-content: flex-start !important; - gap: 32px !important; - - .td-navbar-nav-scroll { - flex-grow: 1 !important; - - .navbar-nav { - - &.main-nav { - flex-grow: 1 !important; - gap: 16px !important; - - .nav-link { - padding: 6px 12px !important; - font-size: 18px !important; - } - } - - &.main-nav-right { - gap: 16px !important; - - .nav-link{ - font-size: 16px !important; - color: $text-secondary !important; - } - } - } - .main-nav-search { - min-width: 300px !important; - - .DocSearch.DocSearch-Button { - margin: 0 !important; - min-width: 100% !important; - } - } - } - } - - - .nav-item.dropdown { - &.d-none.d-lg-block, - &.td-light-dark-menu { - margin: 0 4px !important; - - .nav-link { - font-size: 16px !important; - } - } - } - } - - // Dark mode styles - [data-bs-theme=dark] & { - background-color: $dark-bg-primary !important; - border-bottom: 1px solid $dark-border-default !important; - - &.js-navbar-scroll { - background-color: $dark-bg-primary !important; - } - - .td-navbar-nav-scroll { - - .navbar-nav { - - &.main-nav { - .nav-link { - color: $moon-white !important; - - &:hover { - color: $teal-500 !important; - } - - &.active { - color: $teal-500 !important; - } - } - } - - .nav-item.dropdown { - &.d-none.d-lg-block, - &.td-light-dark-menu { - .nav-link { - color: $dark-text-primary !important; - - &:hover { - color: $dark-link-primary !important; - } - } - } - } - } - } - } - - // Update the light/dark menu styles - .td-light-dark-menu { - &.nav-item.dropdown { - margin: 0 2px !important; - display: flex !important; - align-items: center !important; - } - - // Hide from navbar-right on mobile - &.d-none { - @media (max-width: #{$breakpoint-lg - 1}) { - display: none !important; - } - } - } -} - -// headings use WandB serif font -h1, h2, h3, h4, h5, h6 { - font-weight: $font-weight-regular !important; - font-family: "Source Serif 4", sans-serif; - color: $text-primary; -} - -.td-sidebar-nav-active-item { - text-decoration: none; -} - -ol.breadcrumb li { - font-size: 13px; -} -ol.breadcrumb li:not(:first-child):before { - content: ">" !important; -} - -.td-sidebar-nav__section-title, .td-sidebar-nav__section { - margin-bottom: 10px !important; - .nav-link.dropdown-toggle { - margin-left: -5px !important; - } -} - -.td-content .lead { - font-size: 16px !important; - font-weight: $font-weight-regular !important; -} - -// Table of Contents Component -#TableOfContents { - - font-size: 13px !important; - font-family: "Source Sans Pro", sans-serif; - a{ - margin: 0px !important; - padding: 8px !important; - font-weight: 500 !important; - } - // List styles - ul { - padding: 0px !important; - li { - padding: 0px !important; - line-height: 14px; - } - } - - // Link styles - a { - display: block; - color: $text-secondary !important; - - &:hover { - color: $link-primary !important; - text-decoration: none !important; - } - - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - - &:hover { - color: $dark-link-primary !important; - } - } - } - - // Dark mode - [data-bs-theme=dark] & { - color: $dark-text-primary; - } -} - -// tabs -ul { - &.nav-tabs { - border-bottom: none !important; - - li { - &.nav-item { - margin: 0 !important; - - button { - color: $text-primary !important; - - &.active { - color: $link-primary !important; - background-color: var(--td-pre-bg) !important; - border-bottom-color: var(--td-pre-bg) !important; - } - - // Add dark mode styles - [data-bs-theme=dark] & { - color: $dark-text-primary !important; - - &.active { - color: $dark-link-primary !important; - } - } - } - } - } - } -} - -.tab-content { - > .tab-pane { - border-radius: 0 $border-radius-medium $border-radius-medium $border-radius-medium !important; - border: 1px solid $border-default !important; - - // Add dark mode styles - [data-bs-theme=dark] & { - border-color: $dark-border-default !important; - } - } -} - -// Buttons Component -// Base button styles -.button-base { - display: inline-flex; - align-items: center; - justify-content: center; - font-size: 16px; - line-height: 20px; - font-weight: $font-weight-semibold; - padding: 0 12px; - min-height: 40px; - border-radius: $border-radius-medium; - transition: background-color 0.3s, color 0.3s; - text-decoration: none !important; - border: none; - - &:hover { - text-decoration: none !important; - } -} - -// CTA Container styles -.cta-container { - display: flex; - align-items: center; // Vertically center the buttons - gap: 16px; // Consistent spacing between buttons - margin: 24px 0; - flex-wrap: wrap; // Allow wrapping on smaller screens -} - -// CTA Button -.cta-button { - @extend .button-base; - color: $moon-800 !important; - background-color: $moon-100; - height: 40px; // Fixed height for consistency - padding: 0 16px; - display: inline-flex; - align-items: center; // Center button contents vertically - white-space: nowrap; // Prevent text wrapping inside button - - &:hover { - background-color: $hover-bg; - } - - // Icon styles - svg, img { - width: 24px; - height: 24px; - margin-right: 8px; - } - - [data-bs-theme=dark] & { - color: $dark-text-primary !important; - background-color: $dark-bg-secondary; - - &:hover { - background-color: $dark-bg-tertiary; - } - } -} - -// Contact Us Button -.contact-us-button { - @extend .button-base; - background-color: $teal-500; - color: $moon-white !important; - gap: 8px; - - &:hover { - background-color: $teal-450; - } - - img { - width: 112px; - height: 24px; - } - - p { - margin: 0; - color: $moon-white; - } - - [data-bs-theme=dark] & { - background-color: $teal-450; - - &:hover { - background-color: $teal-400; - } - } -} - -// Banners Component -// Base banner styles -.banner-base { - display: flex; - padding: 32px 40px; - flex-direction: column; - align-items: flex-start; - gap: 24px; - border-radius: $border-radius-large; - margin-bottom: 30px; - - h1, h2, p, div { - filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.5)); - } -} - -// Standard Banner -.banner { - @extend .banner-base; - background-position: center; - background-repeat: no-repeat; - background-size: cover; - min-height: 200px; - color: $moon-white; - overflow: hidden; -} - -// Help Banner -.help-banner { - @extend .banner-base; - padding: 56px 40px 72px 40px; - background: $moon-900; - background-image: url('/images/support/support_banner.png'); - background-size: cover; - background-position: center; - box-shadow: none; - - &.card:hover { - box-shadow: none; - transform: none; - } - - h2 { - color: $moon-50; - font-size: 40px; - font-weight: $font-weight-semibold; - font-family: "Source Sans Pro"; - line-height: 140%; - } - - p { - color: $moon-250; - font-size: 20px; - font-weight: $font-weight-regular; - font-family: "Source Sans Pro"; - line-height: 140%; - } -} - -// Card Banner -.card-banner { - @extend .banner-base; - align-items: center; - background: $moon-50; - color: $moon-800; - - h2 { - font-size: 24px; - font-weight: $font-weight-semibold; - color: $moon-900; - margin: 0; - } - - p { - font-size: 16px; - font-weight: $font-weight-regular; - margin: 0; - } - - &.card-banner-gray { - &:hover { - box-shadow: none; - transform: none; - } - } - - // Icon container - &-icon { - display: flex; - width: 64px; - height: 64px; - justify-content: center; - align-items: center; - border-radius: 100px; - background: rgba($teal-300, 0.48); - - img { - width: 32px; - height: 32px; - } - } - - [data-bs-theme=dark] & { - background: $dark-bg-secondary; - color: $dark-text-primary; - - h2 { - color: $dark-text-primary; - } - - p { - color: $dark-text-secondary; - } - } -} - -// Add border radius to all images, code blocks and alerts -img, pre, .highlight, .code-toolbar, .alert { - border-radius: $border-radius-medium !important; -} - -// Style images and iframes consistently -img, iframe { - margin-top: 1rem; - margin-bottom: 2rem; - display: block; -} - -.section-index { - max-width: 80%; -} - -.section-index .entry p { - margin-top: 5px; -} - -@media (min-width: $breakpoint-lg) { - img, iframe { - max-width: 80% !important; - } -} - -// Override section index heading font weight -.section-index h5 a, .section-index .h5 a { - font-size: 20px !important; - font-weight: $font-weight-regular !important; -} - -// Add dark mode styles using data-bs-theme attribute -[data-bs-theme=dark] { - body { - color: $dark-text-primary; - background-color: $dark-bg-primary; - } - - // Update sidebar nav colors for dark mode - .td-sidebar-nav { - a { - color: $dark-text-primary !important; - &:hover { - color: $dark-link-primary !important; - } - .td-sidebar-nav-active-item { - color: $dark-link-primary !important; - } - } - } - - // Update headings color for dark mode - h1, h2, h3, h4, h5, h6 { - color: $dark-text-primary; - } - - // Update reading time color for dark mode - .reading-time { - color: $dark-text-secondary; - } - - // Update table of contents color - #TableOfContents { - color: $dark-text-primary; - } - - .td-footer { - background-color: transparent !important; - color: $dark-text-primary !important; - border-top: 1px solid $moon-750 !important; - } - - // Update border colors for dark mode - .border, - .border-top, - .border-right, - .border-bottom, - .border-left { - border-color: $dark-border-default !important; - - &:hover { - border-color: $dark-border-hover !important; - } - } -} - -// For light mode (default) borders -.border, -.border-top, -.border-right, -.border-bottom, -.border-left { - border-color: $border-default !important; - - &:hover { - border-color: $border-hover !important; - } -} - -// Footer Component -.td-footer { - background-color: transparent !important; - color: $text-primary !important; - border-top: 1px solid $moon-200 !important; - padding: 1.5rem 0 !important; - min-height: auto !important; - margin: 0 !important; - - // Container styles - .container-fluid { - padding: 0 2rem !important; - } - - // Row alignment - .row { - align-items: center !important; - } - - // Footer links - &__links-item { - margin-bottom: 0 !important; - } - - // Links and icons - a, i { - color: inherit !important; - transition: color 0.3s !important; - - &:hover { - color: $link-hover !important; - } - } - - // Dark mode styles - [data-bs-theme=dark] & { - background-color: transparent !important; - color: $dark-text-primary !important; - border-top: 1px solid $moon-750 !important; - - a:hover, - i:hover { - color: $wandb-gold !important; - } - } -} - -// Feedback Component -.td-content > .d-print-none { // Target only the feedback section at bottom of content - margin-top: 4rem; - display: flex; - align-items: center; // Change back to center for vertical alignment - flex-wrap: wrap; // Allow wrapping on smaller screens - gap: 8px; // Consistent spacing between elements - - // Hide feedback title - .feedback--title { - display: none; - } - - // Question and buttons container - .feedback--question { - margin: 0; - display: flex; - align-items: center; - gap: 16px; - } - - // Buttons container - .btn { - min-width: 50px; - display: flex; - align-items: center; - justify-content: center; - - &.feedback--answer-no { - margin: 0 !important; - } - } - - // Response styling - .feedback--response { - width: 100%; - margin-top: 1rem; - } -} - -// Last modified date with feedback links - mobile styles -div.td-page-meta__lastmod { - display: flex !important; - flex-direction: column !important; // Stack elements vertically on mobile - gap: 8px !important; - color: $text-secondary !important; - font-size: 14px !important; - margin-top: 0 !important; - - // Container for last modified text and commit link - &:first-child { - display: flex !important; - align-items: center !important; - gap: 4px !important; - } - - // Style the commit link - a { - color: $text-secondary !important; - &:hover { - color: $link-primary !important; - } - } - - .feedback--links { - display: flex !important; - margin-top: 8px !important; - align-items: center !important; - gap: 16px !important; - - // Style the edit/issue links - a { - color: $text-secondary !important; - &:hover { - color: $link-primary !important; - } - } - } - - // Tablet and desktop styles - @media (min-width: $breakpoint-lg) { - flex-direction: row !important; // Switch to horizontal layout - align-items: center !important; - justify-content: space-between !important; - - .feedback--links { - margin-top: 0 !important; - margin-left: auto !important; - } - } - - // Dark mode styles - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - - a { - color: $dark-text-secondary !important; - &:hover { - color: $dark-link-primary !important; - } - } - } -} - -// Feedback buttons -.feedback--answer { - @extend .button-base; - color: $moon-800 !important; - background-color: $moon-100 !important; - background-image: none !important; - margin-right: 8px !important; - box-shadow: none !important; - display: inline-block !important; - margin-bottom: 0 !important; - border: none !important; - - &:hover { - background-color: $hover-bg !important; - text-decoration: none !important; - border: none !important; - box-shadow: none !important; - } - - // Remove unwanted margin - &.mb-4 { - margin-bottom: 0 !important; - } - - // Hide disabled buttons - &:disabled { - display: none !important; - } - - // Dark mode styles - [data-bs-theme=dark] & { - color: $dark-text-primary !important; - background-color: $dark-bg-secondary !important; - border: none !important; - - &:hover { - background-color: $dark-bg-tertiary !important; - border: none !important; - box-shadow: none !important; - } - } -} - -// Remove feedback links from original location -.td-content > .d-print-none .feedback--links { - display: none !important; -} - -// Update the sidebar navigation styles -.td-sidebar-nav { - font-family: "Source Sans Pro", sans-serif; - padding-left: 15px !important; - - // Base link styles - a { - color: $text-secondary !important; - font-weight: $font-weight-regular; - text-decoration: none !important; - - &:hover { - color: $link-primary !important; - text-decoration: none !important; - } - } - - // Active item styles - .td-sidebar-nav-active-item { - color: $link-primary !important; - font-weight: $font-weight-medium !important; - text-decoration: none !important; - - &:hover { - text-decoration: none !important; - } - } - - // Section title styles - &__section-title { - display: block; - font-weight: $font-weight-regular !important; - line-height: 19px; - margin-bottom: 10px !important; - margin-top: 5px !important; - - .active { - font-weight: $font-weight-regular !important; - } - - a { - color: var(--bs-secondary-color); - font-weight: $font-weight-regular !important; - } - } - - // Dark mode overrides - [data-bs-theme=dark] & { - a { - color: $dark-text-secondary !important; - - &:hover { - color: $dark-link-primary !important; - } - } - - .td-sidebar-nav-active-item { - color: $dark-link-primary !important; - } - } -} - -// Foldable Nav -nav.foldable-nav .with-child, nav.foldable-nav .without-child { - padding-left: 10px !important; - } - // Update existing chevron styles - nav.foldable-nav .ul-1 .with-child { - & > label { - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - position: relative; - padding-right: 20px; // Space for chevron - - // Remove default chevrons - &:before { - display: none !important; - } - } - } - - // Add chevrons to all expandable items - nav.foldable-nav .ul-1 .with-child > label:after { - content: "\f105" !important; // fa-angle-right (thinner chevron) - font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; - font-weight: 900; - color: $moon-500; - transition: color 0.3s; - font-size: 14px; - position: absolute; - right: 0px; - top: 35%; - transform: translateY(-50%); - } - - // Change chevron for expanded items - nav.foldable-nav .ul-1 .with-child > input:checked + label:after { - content: "\f107" !important; // fa-angle-down (thinner chevron) - } - - // Hover states - nav.foldable-nav .ul-1 .with-child > label:hover:after { - color: $teal-600 !important; - } - - // Dark mode hover state - [data-bs-theme=dark] nav.foldable-nav .ul-1 .with-child > label:hover:after { - color: $wandb-gold !important; - } - - // Dark mode hover state - [data-bs-theme=dark] nav.foldable-nav .ul-1 .with-child > label:hover:after { - color: $wandb-gold !important; - } - - -// Theme-based logo visibility -[data-bs-theme="dark"] { - .theme-light-only { - display: none; - } - .theme-dark-only { - display: block; - } -} - -[data-bs-theme="light"] { - .theme-light-only { - display: block; - } - .theme-dark-only { - display: none; - } -} - - -// Add consistent padding for main content -.td-main { - main { - &.ps-md-5 { - padding-left: 2rem !important; - padding-right: 2rem !important; - - // Tablet (768px and up) - @media (min-width: $breakpoint-md) { - padding-left: 3rem !important; - padding-right: 3rem !important; - } - } - } -} - -// Google Search style overrides -.gsc-control-cse, .gsc-webResult.gsc-result, .gsc-cursor-page, .gsc-refinementHeader, .gs-no-results-result div { - background-color: transparent !important; - border: 0px !important; -} -.gs-title { - font-family: "Source Serif 4", sans-serif !important; -} -.gs-title b, .gs-title a, .gsc-cursor-page, .gsc-above-wrapper-area, .gcsc-find-more-on-google-query, .gcsc-find-more-on-google-magnifier { - color: $link-primary !important; - text-decoration: none !important; - font-size: 18px !important; - &:hover { - color: $link-hover !important; - text-decoration: none !important; - } - [data-bs-theme=dark] & { - color: $dark-link-primary !important; - - &:hover { - color: $dark-link-hover !important; - } - } -} -.gsc-above-wrapper-area a:hover{ - background-color: $bg-secondary !important; -} -.gsc-result-info, .gs-per-result-labels { - font-family: "Source Sans Pro", sans-serif !important; - font-size: 14px !important; - color: $text-secondary !important; - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - } -} -.gsc-refinementBlock span { - margin-left: 10px !important; - margin-right: 10px !important; -} -.gs-visibleUrl-breadcrumb { - font-family: "Source Sans Pro", sans-serif !important; - font-size: 14px !important; - color: $text-tertiary !important; - [data-bs-theme=dark] & { - color: $wandb-gold !important; - } -} - -.gs-snippet, .gsc-refinementHeader { - font-family: "Source Sans Pro", sans-serif !important; - font-size: 16px !important; - color: $text-primary !important; - [data-bs-theme=dark] & { - color: $dark-text-primary !important; - } -} -.gsc-above-wrapper-area { - display: none !important; -} -body > div.container-fluid.td-default.td-outer > main > section > div > h2 { - margin-left: 1.0rem !important; -} -.gs-per-result-labels { - padding: 5px !important; - border-radius: $border-radius-medium; - font-size: 12px; - max-width: fit-content; -} -.gs-per-result-labels span { - display: none; -} -.gsc-inline-block:hover, .gsc-refinementhActive, .gs-per-result-labels { - background-color: $bg-tertiary !important; - [data-bs-theme=dark] & { - background-color: $dark-bg-tertiary !important; - } -} -.td-search__input, .form-control, .td-search-input -{ - color: $text-tertiary !important; - border: $text-tertiary !important; - background-color: transparent !important; - [data-bs-theme=dark] & { - color: $dark-text-tertiary !important; - border: $dark-text-tertiary !important; - } -} -.gcsc-find-more-on-google { - display: none !important; -} - -// DocSearch Component -.DocSearch { - // Button styles - &-Button { - font-family: "Source Sans Pro", sans-serif; - font-size: 16px; - background: transparent !important; - border: 1px solid $border-default !important; - - &:active, - &:focus, - &:hover { - background: var(--docsearch-searchbox-focus-background); - box-shadow: inset 0 0 0 2px $teal-500 !important; - color: var(--docsearch-text-color); - outline: none; - border-color: $teal-500 !important; - } - - // Dark mode styles - [data-bs-theme=dark] & { - border: 1px solid $dark-border-default !important; - - &:hover, &:focus, &:active { - border-color: $teal-500 !important; - box-shadow: inset 0 0 0 2px $teal-450 !important; - } - } - } - - // Placeholder text color - &-Button-Placeholder { - color: $text-secondary !important; - - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - } - } - - // Search icon color - &-Search-Icon { - color: $text-secondary !important; - - [data-bs-theme=dark] & { - color: $dark-text-secondary !important; - } - } - - // Modal styles - &-Modal { - border-radius: $border-radius-large !important; - } - - // Hide footer - &-Footer { - display: none !important; - } -} - -// DocSearch Container with CSS Variables -.DocSearch-Container { - font-family: "Source Sans Pro", sans-serif; - font-size: 16px; - - // Light mode variables - --docsearch-primary-color: #{$teal-500} !important; - --docsearch-highlight-color: #{$teal-500} !important; - --docsearch-text-color: #{$moon-800} !important; - --docsearch-muted-color: #{$moon-500} !important; - --docsearch-container-background: rgba(101, 108, 133, 0.8) !important; - --docsearch-modal-background: #{$moon-white} !important; - --docsearch-searchbox-background: #{$moon-100} !important; - --docsearch-searchbox-focus-background: #{$moon-white} !important; - --docsearch-hit-color: #{$moon-800} !important; - --docsearch-hit-background: #{$moon-white} !important; - --docsearch-hit-active-background: #{$teal-500} !important; - --docsearch-footer-background: #{$moon-white} !important; - --docsearch-logo-color: #{$teal-500} !important; - --docsearch-key-gradient: linear-gradient(-26.5deg, #{$moon-200}, #{$moon-100}) !important; - --docsearch-key-shadow: inset 0 -2px 0 0 #{$moon-300} !important; - --docsearch-searchbox-shadow: inset 0 0 0 2px #{$teal-500} !important; - - .DocSearch-Modal { - border-radius: 0 !important; - max-width: 800px !important; - } - - // Search form styles - .DocSearch-Form { - border-radius: 30px !important; - } - - // Search results styles - .DocSearch-Hit { - border-radius: $border-radius-medium; - - > a { - box-shadow: none !important; - border-radius: $border-radius-medium; - border: 1px solid $border-default !important; - - } - } - - // Dark mode styles - [data-bs-theme=dark] & { - --docsearch-primary-color: #{$teal-400} !important; - --docsearch-highlight-color: #{$teal-400} !important; - --docsearch-text-color: #{$moon-200} !important; - --docsearch-muted-color: #{$moon-400} !important; - --docsearch-container-background: rgba(21, 23, 31, 0.8) !important; - --docsearch-modal-background: #{$moon-800} !important; - --docsearch-searchbox-background: #{$moon-900} !important; - --docsearch-searchbox-focus-background: #{$moon-900} !important; - --docsearch-hit-color: #{$moon-200} !important; - --docsearch-hit-background: #{$moon-800} !important; - --docsearch-hit-active-background: #{$teal-400} !important; - --docsearch-footer-background: #{$moon-800} !important; - --docsearch-logo-color: #{$teal-400} !important; - --docsearch-key-gradient: linear-gradient(-26.5deg, #{$moon-800}, #{$moon-750}) !important; - --docsearch-key-shadow: inset 0 -2px 0 0 #{$moon-700} !important; - --docsearch-searchbox-shadow: inset 0 0 0 2px #{$teal-400} !important; - } - - .DocSearch-Hit-source { - color: $text-secondary !important; - font-size: 14px !important; - } - - .DocSearch-Hit-title { - font-size: 1rem !important; - } - - // Dark mode styles - [data-bs-theme=dark] & { - - .DocSearch-Modal { - box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 18%, 0.5), 0 3px 8px 0 $moon-900; - } - - .DocSearch-Hit { - > a { - border: 1px solid $dark-border-default !important; - } - } - - .DocSearch-Hit-source { - color: $dark-text-secondary !important; - font-size: 14px !important; - } - - .DocSearch-Hit-title { - font-size: 1rem !important; - } - } -} - -@media (min-width: $breakpoint-lg) { - .DocSearch { - - .DocSearch-Modal { - border-radius: $border-radius-large !important; - } - } -} diff --git a/static/icons/logo_dark.svg b/static/icons/logo_dark.svg deleted file mode 100644 index c82541476d..0000000000 --- a/static/icons/logo_dark.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/icons/logo_light.svg b/static/icons/logo_light.svg deleted file mode 100644 index 9eb4ed3f9a..0000000000 --- a/static/icons/logo_light.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 7e7f230b37d78ae96eb66646cb527d7e1b10025c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 17:18:28 +0000 Subject: [PATCH 30/59] Optimised images with calibre/image-actions --- assets/images/general/architecture.png | Bin 22180 -> 20664 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index b350ba8feeabb2ccf59758c4c45528516c9e221d..e7da5c9db946539cadcc01d5650639945cb7a844 100644 GIT binary patch literal 20664 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

43h?&LMO)0QLN0P+= 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 From fc2c7ad4d1ccd6de184f610c7346bddb1dcfcfc8 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 13:22:26 -0400 Subject: [PATCH 31/59] remove unnecessary navbar changes --- layouts/partials/navbar.html | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html index ab1db87991..18cddb26fa 100644 --- a/layouts/partials/navbar.html +++ b/layouts/partials/navbar.html @@ -9,21 +9,11 @@

- + \ No newline at end of file From 1af1329b3b1efbea2c8b3265a39497faaae3d356 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 13:23:19 -0400 Subject: [PATCH 32/59] adds back whitespace to navbar partial --- layouts/partials/navbar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html index 18cddb26fa..0477e0db25 100644 --- a/layouts/partials/navbar.html +++ b/layouts/partials/navbar.html @@ -65,4 +65,4 @@
- \ No newline at end of file + From c9f55a9bc406d715a137ffa5ee858bfc535cb481 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 17:23:58 +0000 Subject: [PATCH 33/59] Optimised images with calibre/image-actions --- assets/images/general/architecture.png | Bin 20664 -> 19355 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index e7da5c9db946539cadcc01d5650639945cb7a844..510575e4e3ad39d6ff36af8a3471d0eb62b4138f 100644 GIT binary patch literal 19355 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 A^8f$< literal 20664 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

43h?&LMO)0QLN0P+= z+a7uYL!Bw?gMf*G*=t&!>nSC9J^fHy0`BR+&3jG{yrlIAt=e`l!Scw6;zJ@};cY%Y zTUH*ej7$_xh}VpbH$V5tK$4uT{2}ujYuYA?S!DA2p(K1i7szv)9((i(m(n%j5y5(6EcJ?|(M=V=@h<$UytG#Ky}K86-y?OEe7%BC z+9R9H_3QULM&)IRB!_ucz!81!&x?ejsEB60IrHoFN(EGBu=n1O!XR!Vr?;pu`Q$Ei z{ItYJyOxAR;c-FJyR9WoZr*k=#YwQan<&h>?nrls{>Kl+gRZn67E@-DA5Yy}LSb)K z>&f1-Udy(elNqF~h|7=ttfjRdy+6cTq)L_)vSrJfbN>)7xq;WhDtHX9v1|}K&whB)SO z;gReSmQ!4uXm-vOIr#Yf)$wHhFXqth`I56;_tOZ>eUadkonIl9Hz2D`;F;gywI~9) z1a8cC_dW1Cs)Xw%MS#$OWd7gLDeocU%k47X69u{Se+LJZf#@unnb$+(=XB@=M^X5@ zNSkJ?xZg2EJ?aw=FZbTlXMVk5R7X;0Z#C}zCi|B#-~RyAs68lr#Nhj~dfLJ55L!^I z-SKfel3M;~mF>rx272Sun=QfvUS5eK8bgCpDiW9>X{2L2#l&Rc5y+}2haldlKC7Fz zc!m;{>>s|loelcmS7BAWHa_5unh`9gb{04}S>FZ{f=0Bd@&*5_tcHoEfn0 z1GRA);`S#!1YE9Gd+mpuy|kc2+M4aR@zgdtqc$AqMt!}8R&cnPFvj2ent$$^quYU` zQNv*KhFta0O<{1QQfxu_1Go0pxvwVtca;ruUq-ycgedcV4i>JD`rc3^_(0;S#bh(O zlH>idfw_d5lSTH+{LH7_j5Gm-IFNaqhQIURg6Sdu7lm7>IoT^O8m3*F-wvbkIR*;v zzW!OlB1pBWIpJ6)G5cJmKSX!7>{+i+@FybaXhlHy*@TX!Kw-u6pKl}jx5H2~6VHO3 z=P64Q52Hi9;;)s%c#TDKi9e55&D|D;xt-!Tp{pJlwEaOE_4(a;9PzGELZ6N)dWg*X z=lcg$7Q82nLgIRCbO7BrG?b}dyz%b z&(mFWsHT|Xrs)^I^1P?fBr3Kz+v|>=zN8jmxx3Alt{tu$RC>MxKwztAMNQ@TS?Lzv z71Wh7tj+2-DVARrKq7O9s@k<>lfnH_ z!kM5K9eW~Ynw`RbWNGHcou{hyH>N2Ab4yt@jrFt;>?!vXglzcar~@Bkx$C^=f`43VtKh7UI>{yQ&tVI-Z9xOldaoJ_27*Q0 z&%*whEZqO~3axVZ?FYVjdh9YJebW7Bcrq<;|H)Uc&<8=sAa+yh=&D<08xeYW zcQC?P#osMVU!D27)b!S$MpI&I*C?B3`cn-z88Om#Z~6-DpuFH6icy(9l~AF)#f}?t z%-y|kD?RJ5m)Ja4g5Vsn+pby|vfnunQy~=h`CbP6)sqVf`1n1%REuI#g&`O-ETT|A zYf%H_+QU)@qeItTj1zC;tj-@gDB1PbE!B#l3-8eM2a+9b{GjO(alJnJ(TwO9}%R zoYtlW(2VJ;%UuV1b^Ar{1!!at$!eAr+AtF+tOGPvz8w}x%N_>ZnXT78OmFsvMf0BYqp5kM7G;h##Rzd>Afx} zQlGgf4S2On5xQ@7qQTw@$+xWpR|3qMn+r-x#hF6} zrUNAv%qPZLQMm8MmYgeaaOJ?6^ZCk=lGIQA>8mKG#+ zMBySP!9_N%+Xnp*ZSx@4A?u>k3&pEJMOoy;@5~T-X2h(Q=n}vKl{ag|ly0IA^rvF5 z`H3JJA3=UrK2z&T?hpP{yZHce-fn3pgU(sx^}F&>cNa!+CihtI|nKt1#E3QxipCgknVf_pfV{rg{s^xEjCgR@jPlu|uUH7Ib7K2%B&wtXOECMt9hT zWqt#;p(Bg_D15RtrULoR<#~SHm}d_hXUY|@b$e_5dp>;Z?uC+e10s>+KZ&AfgDd3( zlbbznucjyVnG{~pgfzzXU>@&o4+RvS<$|gePBrV}%&5s!X)99<{-@!XHn03C#|?w$ z7(?o|wIkvE*AH);8LG>il+GrAF?+9cdU!f1=aSeGKc|1W3PyOb99F-V747AAwV^2R zm6`qLDotJQ7oG2noAG)KE3eRBw{Ov-$4v$c+weiF_qv61PsR~uWlAKCl?}@;*erfC z#(N8wOwVyxM*0hLXxJRR%gNI^;r*woKF_mn)htoBfqLb>^M>s+4^_3tFTn7H-}=l- z^>8)i<;i=#&vrV>vP)t~cSzP{)kF-ZNtn7 zotCse%_kvrLSwfo3#(sr&DmELN6%RdESkAdgyuQO&voksHBM*H873D|fDh{u@U@u^ z%5lLh>RBJkgJ9`rqaKD|ghWUDFDc_;8>O=cbz4;e9WwKd@|6V=Fo&~Y^9p$ef2>K! zwoI+EOH*EK*e09$=4zx4onwB#w0p~{YA#H zscQYzNBC)N7EJA@6wZXnVVS-)uZK?l#S7Iz;zdg-O$4rMU8tC~G0D;)|3zw(1#hYs z%{BOft0J@8eAuR}a$4fk%|P1=L8RM2gMtN)cPh;I`M#IHt*trs_w-m)T?#FY7{4Kg zwwn`wdUpR?1RcaJ-bCT2n4n$h&+EkAe6dHgpzCQG@jbTzLBr$9K>pchzcQI#)M6ER)}imo~TZ8@L@K9}02uIjpx;IoTbPKi%)#jwi;O zUoWDmm^BG^p7Cveb)~>8y^-+3*KI<)Hy`_@aiE3Db}zzc)@}r4RX#}U{%Jf?=jMPI zN8;1BOQIqj9b(X43%_}Cr5t3^o2`rIk6X$RJW{MynM z^QQRilhx!}D-AB;ZgxkR&1Q?v$JXS3nj=x#Af|M+h2sC8ls4MaP*_ zs(j85l}+}?;MRwpzDS8M59PNGczIq>RsLPg&ziSnWdJVDg30SHe9RkvODiHbG{jic zp7FL(Mm{ z<9NyGsn4-z3TPv)4>r*XQ{O*ob%l1}J+?ai)>|(AE|8Ous2V-!oIoukn6c^-6$mTfPHT zBgLRMGaE`yzYPR)c)OyprTx=J`Ma2cGSQTx{MVkO7ad^C7AM|^fGWO5D`lg)7)fZ) zgWYTqxx-h5`-|2(N_W-<1C4J-D%HQD^-DfkF25=CrzP96kP)y!@LSRNs)|L0E5j2O zqYBBV2m$U9udZ+?T3rwGTC=X%OePp^(?CS-G|u`7t(HJqjGkD$2};q!xUTeAl_UYt zuiqX&i#A`C6CH?e#G|QvNBS4QmxVRRs2Vj$hkjH8U@i4VSlpHK78_`ccoWG#>C5WpT5Fb?;T>pj?NP+TJK~g2 zvCR&J=>1pDTFOQ_g+|;)p?QL1c?>CjRn>P;>}167(}|8Lf~(lu{#{yA`f8CsJsTtb z_E|!`H9o{bsQg%Z0c}sT$OVJVWAfImDI}LYE4btMn3L!ui+w((4dm>1WLL|a*jD}2 zXPa&?j3^|SjG(~YP(CqzHIN&H06KpXkKyfF6#Y3T-UWDwEuM0zqP4WyO0bRXcw|v)><- z;Nh`6muCr;t z2<-N%=9!{PTNg;=Frak3o|$TJdHWpJGFX-pIJy|-!K-NS5RyX~-16j5cHL;!mudF7 zN=+r1D`FW>=D@M4MZ%ZodekA3UcgWjwKr%4D&f6k=tP<%1!ZsyY|Euw6_sh#b7?f7 zT$&9yF(_ z86MJ$^7MEZ80dGm00xGd0R}d3N0H%SqtwrX4A*bapZ#ZwH*ki(o73t4Qsttp9}+I(_Ir_n*c%TP$84OlVA7D|mJ2)EoHqhu>NrZg1!|Q;1_PjxJrhcPQ_q zIj@vJ!|bYo^}#6XIR@w*S6=riwTHAXn;>g+Rk(ob(Y%v;CV*Oa9-Kd?H>Ef2RXa3J zjr4mdaX^n}Bp)tPnn#x2;7?7c#pQ3v@SQ$zX-zg+;i$tc;Cp2?IT*%TsgE1frzW1p zv>~FYof&M8-NoL(H>Dw=EQ166M=ccX_Rm&g)Agxwf%@4rIsH%52k0GE7-x=*>f?%T zM&gb_SZSYM>BgS~TKB3erdOo!7xx~~xwVK;@ z>o?|jcUl%KHVW#@K4(m6(brcoll)U{f$qs@r*n)OEs-~6`lp+9??Zf17Zy0Y1z}l< z9)Z8R$)kn0gsy-wIq#LEo(779-!A*X+HchkeV;W1+N}?_$J$sk!01yjh6o}kdO$qn zBX#x@`uex_Islm)q8p<9Mn;o#*oZY*)>BlBS++rw<|3-L&2tcZl5U6_SkOI#o@p`4 zD``jgOQ>n&nEP58erW)$iiNh%rj%syO=0LOCjt&HIUB4InUmmgCBBlf1+;H%#qA4g zX#5_8_KdYS@T<_urJ+*e0-S&H6lURj-D9hBDA{VbMW`UXa!U2%#2b_LLi#3dpai|p zg7Co`F&%FNrlFQhl^T~7Wx;h6XL$9$u<3E>!QiMl*)nZ5ZQ&W5;d3!`O(!m=v&Bwd z_Q$k6tO3?A?%1W~<@4+gF$)pK$_qPhzDa>n8NE!u$GZYXkPYO)j>h*gR3)dj^89$B z<~xbXN+LNpLqy^?$(8J|Z^5%UoQXW|ZT#yNykx?}wR^RRfg9E4y0wDJDb^Kt6Zv*iKxVs7va9D_slBkK*E_yzw3)Ft-%h?(;A+O# zT5$ftGTS`mQj4j=;k=VyKDvijmSqWR)AgMBp=y%oJ|bjo3``ZE8plY}bbWvPpm`C*$g=1D} zwv$JE*>F(6qwvw1iBM9?&)H2v>Kh%mt~@w)^iCG}<+q%oK~&w%hL`Kzkq!Dh=@hKM zNXFT?qm|BuF^cw?dFKlux(79!uzq}>bnMB4)O@Add`zCQ?S|G+K{x~5_?(|&I;Ztm zRoFenN(duT&dbUXEaMX04tBJ*TAIJ=#BQ6}oQbJ6ik1>0TC4d_7^RfkW;AV+>KlUB zha_P)>axf^SFDzWP&WeDH1jc~`?)J7)j8@SsLE&W$j1GkV<~!Xd~#vQSgcmVbPK=0hYc`c zYQ4g4F?WgfMEO+)@N%=nwY2c0kz0KJaCGcBW9 zIGB{!sr>9pfav9o&A|ud^g2*HS(>xbwlCHtJZU^*!g*^U$ZA9YH2v^Q%lMrX$jo<4 zRy6B@h<&sBbkf!DoHBOGW-d~3GYyw-0T0Xp#|*8=wu5qvr5v#>61+r9%ngjZpb8OQ zV4#DI>nvcUxI1f4TgAP0^vL(U>P>s_|zeocx1V~-0d%y&f1^zoOTL>BnyVGSN3 zur^3+a9k(l(Bl3=ULNApkYS3k31iquK>>m2pG`9xju^;8EY7&AW|3*@AL(_PW?U0k zXiMB4*`XJBNRMaL^sddTL|G7-LAt`Jsl4V*ZOEeCdiB{dsS}d}jtHsZx*!6sTL2Ec zsmUfk2=a)a&7UeD0L4fR0x}#l!{~TA z?)4_7f~5>nCugNfChdD1Hi+pKCz9bv!TWWTLRf{PxdAp`gL|K@j*iEe5w|xFUHR=U!s>2q8Kqz@el0fHZ-+T;{0W&dr~f_GOD-dO27Yh zk#6Kic4JKW7Vus7X%QWkGm6H>>KGj`0Yyn|D1;-&lqBw35Ct%Hx>r0f_WR!jFy8Id z;Rd!NKdLU@@it)fr~p1}dRLQ3JE!S;YkNGuAQGdQZGGLZd7$NCIl^9B?BK=RE6zI& zxt&qRT6ZFIV>aNY2@y4pv;>?_@g$4T&O=sm1s*HpFpA@0O8fyEVpa)+ZPE$SF5E6HId z7Y{cKsQU~I+-c(n|99el>Ez!~@c+^a14{kWzXRttaGwM992qU_{JBp*(K&}&pU#?` zb4+T=%N2i2KQ`P5Plw|n$J5TgqA%X{v%S|1L62o*72U#eKNpvFL2vw!j_gSCtFwP9 zOfO9Qo}4RU%Ae~tv=#Ea^`boe!NtB@5%!9hLXq&AtT(aDc_$UjiD}){BCFTkj-~jm z0h#cii-+h)Yo+wsIXFfOZ`p!)&LfSm5Si0bJ^Baugj2LWC`5oMy>MrU?OsCaOlh3g zZxFz2OKT~N_4ZImL8(X9Q1zT@<_#9gk`!mU3E%J=sw=Jo_1))*e?DI_f%OVZ|bNVSMUxu8t0l+-H~bGV!LuHEXAo+aCrFfKQ?o z?+1xt*QPvNBZjUuga`H#N_J(;-&&}|0)h3o1ep`RP~`J^T53WFQXlyk?VlvUUNb3X zW#1^Y+Pi}GdiNap`p+@C2eG*s1CsmT#hYiGZeFx39I5`wqh%~13mhxEXdmxHU)jwQ z>)LiJrWT`Ev<($QD6V^4AiV5|TseT2UXCi$X81K0hq$BspY)8qakTcw&V!ykY{&*P z-jAi9uF|o58WN~EJYeuht9KN>;63>(ociS)8owRMWbq4b2h^%yaSq&lMB?zAlL29I z&JWVZ&<}#bUd3UrWdYE`94Q@W*KoIHo&t%fVyT$CAYG~`vVK2h=c+L*q z*I)3HkNg849SEUgZuS(=$NIDF^Yh8p1XGju;)mCBa`%LbF2-7loPJgSU7n9I;L6C+ zW!?TYRdKF+PoDMd^?N;{t|r%Q03>% zJxD(;nfH-h9ezCybYyt4g@OXRD~d`IrRmh!^Qb(cDd&oV-z&NRTz|O`4|!ay)cRL< z@-MLX-#WGbgLWj@jqkL-9N)-!gO*o^%gJLXfDuWqS!KS1~V?3d~ZOFmCnH;cxnNub1Q02(| z4h={qEuPYatjOeE`qSwv0r`3Le{(hUQUYM^Z;w*j`zvjvLtoi z946atpg_cn#FNlFEpSm}#xxfd`_rUf#T+(bGGCfg58&k;*tD*HBVuRD4XF+}Hb3*0 z?^;~gK&58GBd87L>mqwK)vUw}o2@I|>>RkRrwDJnh40pam)MXdV41(<16IHx>RJtb zsnc!&77i#vl?6!^gup~e2Sg8rnYjhpL4Ck2Hz}rF_?zbBb z4mGWTnYHVApRvLlZG{tN(%Yue3(`N4&1FeE5<(Ea=dkXPz)1-9aRS}3?&`n^=z`iE1X0#1u^kMp2y`_-5 zh70a9$N0K<^SS!>fuUz+tI6cz`yX@^4;cFr$HQdkZbgx?rE&a#=;^Z4!hMh7O5@Hy z2sgJcCrs44@7cpmF&k4_!SwIV$%3DF^}x0U;(6Wn7lsAoPxs$UoKyM1R+n6-36KsO zig7{B49V^!PCcI5mo(90ox5E^#v!0bz&jtbzN`?jDE2JAPzv_+c5mn<6s6{0%CL*SDH(YLvyE|#l#h;bR4h$a#( z|58&>Y15FhGk;v@4j3^Fy5EbWIW^<1XORgjGGMpuP;Ox<=)o9<`(xhkbKxszHk^d6Ov!wO(azX42w#jKc1vF zBN$)w3M=S+fOU`L>F#E`TX~R46OtAf5_=mS4dyx%;rmHgC@}kvd36ksqS;(eqoouK z-&$u3r0YmQL#!!3dWi^bKvl(-+n+GV3_~JpQSWJ(ftI5}SVCv)knRRbmLJlIr2RY> zPo6)Anvu!}n95Mp1f%xTP8n#GYrcr>6uMFD>K3@jq&;|KaMRW~4ToCn5{U0Rs|O-N z5VekqwdG5T<_Fe^TiJDe*#_*vH^M~HV1!VuN(M()$>{!)R!rsB7O$Kg61vihu}tiI z2Z`2SFR z`ZLY}gQHW#^OCMQWIsVbkE57pU~T=57>`3+rJzB&g8!}B&u4Zx@FGj$$N$*y*GqZ~jb0JGzoGcEHJJXZzVEup!ti$dHt?TgX}^j8QhQ4| zWL-Lbdh!nre?9!qo&66U_rG%cuNvO|XZY}++`l|q@rN8}cQ8L|)H@A|3`% zUSNgo#!Qm!<3kJ(55m*ZN&f>KL-NcyYG)!X+pBBrVyQQDdS$JsML~z0>0yqKLVn$p zo}7|=+OX}^$NEj1x`HLpW%tATgyVT9&2kZ9jWb2sn)$(scH%V)8}gzw-MM9YrLv>f z>km(9Uwn(!O(LEW-Xl6kg(h3R{QslOCPqQx^&NZ7$@Y^6{SUdn` zM3#iH{PrK}4ZDnmp($8MhuYZIXn##|JliR-`i@gNEZH`{(CTWZYH7ujqt9qxno*Uj z?pWAIsj$zmh^1V7yXP31it-#|-MT?_5D$JoLE;#jF^2G-T+AK)pa-5aQxC&`{S_}g z6gOgz@_CikO?}a@XmD*ln}uE)$S6)CXY>+a(&)U{<$+> z@31Yx1y|4Qws3bm+qmt7u_n}YFW8rt-NSC{K(3FS@M@h~(!1*KL);-oW!g1SVa>i& zjDG|tg#N-NYpMoS>_`a5}VR_o@mTk7e7V^W8vbVwPH5lvY;@eDj&a- zP~=R~t!v^$3Qf>Xm&9i6j_h{P)9vpfh_J}`JI&Riubonz&w1(sV96l21p(pw57bI<}dK9*a?WPiq<*ou*plFeZy8WjI(&%8!Qg70KPG=1YbaPL_aue!Dx z%=bfq@zBGq8|nUH4O^rm7IPd5Mfz9;tqk(Tk8un3EbMz910rcCGD*1dS7~MXN5vzC zIbMAO?sUl6e_~hKohOjP8ac3&Mr)}{{+arSh{mAAD)6ZwJqIpgzWsCV6VYalKqABF zIg0OF22v@V9$6>L>EGCK`1w-~B6NQ!cLf&>NG^oobMcwr4|)0*OCxAs03!n#SdA@j zWx>HN>nqAB6|#{>$MmQHE~texnhf$J3Y?=r&df#i@h-xoU;=}P!bS=1*BnuGbP<3`0R#U<7$O=o4uP=?}uJ{t?G}A}3n*C4=cTwmav?jpn zN531?D-y|w-10*5RAFu~Jw9Mp0uT=dJRKZr^`dp(k*$d;S-C0>b_)r~cLo}@N0GA@ z^yG<|wobUo0ol=YbY;_`-_{Ks&Iusa-u_Ef58{eRUbokS^(@1P#jD7zL#0cS$mhW4 zmp1hL2g}N@{|n$^n*%43uh*qxHQle{$<^~0PSB;ymUm*1X4O@-HBXg^mL{6_KHA7K zSa^F?R$DWmKax{(fdK1c2VE9j2Fn7oW59*CMa41+!i!$vvW9k5C|uahLbBY)p~_Sw zZppRaN>e7>Cr#X-S>MEQ&uI|n=kY;@({jM?N_57Zl-!KuGq;XgVt{I_$^t^@4H(sB zT&JawGw`C@q9vEFZT&ppyZ)FKUY&^d03$MPUErYa3)?+3+pW|{pF!iGj_CGuS+3no zwzb@eBGt{Xm+`d$6kGm6U;i{vJl&+(xZtdeXcx8W;sX3sL;dZVd!*b1gD&ah^)Wfp zF^N`xr+6NZQgwDt;|&;Ys%`#W_*6SR_M1MZCY>flE%lg7=3J>pgfQeS`q&JVRW!*H zT=as=Md?YJ%{B4TyyyOqB*huz`gVX`i_9Z3Z|?o*n<;8$Si*>nOOGnwhIp}S_~;-J zu}cLj9?~8bu5$Dz#l>@#lsr~5pu6)AX-EI~AKm)@dr#emX}Tztc9mLrDBE<2>RhR(J+^-q0oFYJp$3U%6;b$L*!#bL!YGqOzs2XP3H&v_8cWj%zqvdZ zxi{F4w;g#x129f(W)G({UPXBPd;n-IcGc64pp(45&)iAS!Wg;cRNZo8Y2+@X98tNk zYxaFP^>Hft^r-rx15yD#GWeQ>iIETpNqe9B$t_Eo8q#~u(R?_UmZa_-)=W*> zoWBu%YVLGqo7agHmTLGXiD#d(N9=p+iw7!$G^?#51XClJ3!@|G^+zLZ$tB^!KaKOx zh4Uxf>w0!v0#^{`+v`J*$+ZiDz|vKIivo;sA(V%x>I#~aoSK~RtxNnk9HNVm=(Sxz zO_FF19L(OBBxS+jX|~C< z%Z)~d^Pau8o_Ilf76`>1e)rQzfmj~0u~*noEJwBdab>PK!P#bLBB$0j*GCcQHsqC# zG|!h`Qb98)rJGdj(@$u9<$ZIt#WxGOAyfb)|-*?(lkTY>i+C*h~EO7L_)C z*-Ms=!LUrE35r@|*iR5Zcd5NYuMl1RBPhm z;%|e3$x%d$`{jJQL6<8ZojQ6gqo#qrzxe0w%<0l)Dw(aLYB&B_AMLeH)avMFyc7iE}(S>y%jZciCP z>%B6t19#88fpdSt>_7#K-CHe(UQDgnhr!ml8b%~qTEv5Cv44nyPeSEj6+3|fJ;yId zBoKlEE6w7FDOOCC?tNb>VJWsuJx2ET(Hq7LvscR`#JLNd46d@E50jEucOzX`F) zS|Zt`5(9Q)L=adA+G#3Fa6CCK^~=bzoaK}mKEKR=d2&rBpXkA(5dZ16^;){oPBmiY z$g=|V2(y(2uh_&;-*B;)bJe*zcC4oNae;F*2jv~f^|z;lV~w3n-;=F0a5~E;)=@J{ z9;b_GT7wUBCr6xYT4z2NKk@a%C%H|`j*ot3kau8`iOz2<2vZ-@$C#z7j`MWoJaMg3H>f(1&B!$ zFyZ}geTV-tqWfR@JFeWHI4O%YHh?1C5PWQ`)jnA{zkG%x&OE*-ZP}7DBW?FIv&B&c z`WL`ejV_k@OSMM2ELrXkd3Q(_8+ITC5qvnAb1(s>EfFok@qN?r3Rc zHCadx>mOgBwHs%$bH`Aff9b!|>nbB=`^_&brj6+0r~IjU|zbv7X8C(qJe zp*sKTHIx+*L-A**%DKaU>QLRmRpZt<7~M($fY_Y`7V& zst{QIA~Ij0y4iiD>vtOpuqnDjl?!~up59h5q|D5VvurEtg-TE!B z*gCvuSJC-R_Wy}WT2yz0KwiowSf7uZd_oAt+0-B9PT9>VCHl-_DlOOL z?m#SF zVZ)qqa6^jyIoS?AU-GC-ox9fH&sgP_<}BSyI+$Z)@$l0Dw0zGw%hq&r2*crTRX0yI z3*D-2j+b>Bv|jgN8jnGBsO}(DbVVNoUxJ-|>|Z{YGU3_0$#8e3Zdn%Zys*LlJLF^5 z11{vAhS*9R?)S%wufu(+tMv7!sv9Q%1GcNW!TsbV)sd@1b)N_8V^XMY)!Pzl?dnv1 zXG?6(7B0RtoU6W<+)8-Ockb*qOySS+)0w)tQ}Gtc^6Sf`d^yLQuzOdTxl-L)^XKZn z2LIvk+HU+&)qO6$MLno)X;kM87mB#>f0mSH{EvE5ber$W)y=tJ>PxQv zLUUPOt@A%~8h0Cp0K^ST=n&)o%*C;3c)(C}ofz)wDH2r|8;{E}b{#52e76f5&xb#+5o*SDlhUA4KiLLro@=fj+Pd!_uykajI`tZq@CH{UmYH&(P| zmDwwX4u?x9@r9R5P+fdCZ;PyRXz}?R{JjmSY`F~gWSlRn&iTszW1Cmz#n->CU+ogI zl#}1*20ahH&d#?NGdK*@9jcrCJg3U9oV^?BRP>lkoi7_L+e}?qShRh;hG7XkUR=R& zcD{|pEt{YhpTnC&kFX*1+*{p~>hp#n_-MXUb+!)Cs%%N+{LftEAJRCwA=YuGpN37Y zZU`Hk6Nl7dF#K#?9iTe8)rCyY5+^eW#l7@n{)oONDc2ZFgSozL>C}r2Srb)D>)>mV z=GdV4>HEgimhd?zU&u`#Uv75vQnuj?;VEp!ExnxQR0}Zp9j>q9+%Le!4f9l}Zkg_D zmZ(Sg_lEles)OO0g!F*S$C3+bq#n-I8n6ZXLNc=g}wyq#{%Yzg#ES_MdArbydb}tGco|V6eHMA+#0d zF3@u>w8iY+eDBz%Tz}>&=%##U!QI;e?9|vTJylhJU1FB=*9x%Y@lYN7PMzRf_dIE{ zdgoP_GbwXuskGUt!FL7pt)sT}aPZY>vFF(A`heWm25W2YUCT`|O4v6`#FtCcERlO~ z1Q+I~3C$A4v(3I)qRB%3fa;cs!K|nbE|!okckaEIt(&%)y182~wpW17ACH|qs$RrJ zQFabvK5wu6+G=EO+J<*Ko796oT;~!uhSrakaKlc0&TsLfYlD)PY57Uj&C^5|IaK$q z{u*vc?e~qASbRZqo2e@@HA8M{sK|3}xryG=wu`l$Hlf$+8sl9n4GWyOO&Q zyWSeE0J|*pG3{{w&(N1+P8J-(9@q6__&L?3ZhLXA;*iK(I|jvDRCn-V<#n=~W7oR* z{xPtjkI7t5ot7sNv17+R{n&$|i`?M%EHQ^zsBuoamdSSsnTtBM<(k1}pO31LeA@Zy z(t!VXY|iu+(>ReLP~DLSh7I3H%EMj5ZJW7Gw&O2cDcO3-mk50~);VUalCt8q^wu$y zuWV1aq5a%X{$%V;;Pf=Ai=!l5Gj;6L=bKk-c5<>mWh6ONcj!r+u9%C?4+^+1*HUEb z2A`Rx`uYo9{8jTFN?7lTjvO3r!wnb(%ErE5R5 zEp}9HR5vrW0@c0KRK&g$nrnlwq>j6n%bW1j%jl%m=_S@;&S`G_)-mQ!Osku zrV9mB_Z}5aOPM`jus8s!J8ZDqiaKhj0Z<(P0ICB3Ky?5Bs15*79RL8T0|0ozUJrx; z0K7r}E&>4nj;}h#sQ|#?nTP)p2mo+&{)_4W0M!8iygtLKIx6b`;NZ-w>d4jsz|qUE zR&{hY0f2*-U#;r?`yWCA01ln0bE+d-2LQ*;)H&5rTL%Eg&eVC;QG^A6Lz^zBjv_1o zd>*xX01(d>*WpuB*EL{&&W90PyObn_IJOROfYv?*QOc7tHBd?f(Noo$b$u Sf4RW`0000 Date: Mon, 6 Oct 2025 15:20:51 -0400 Subject: [PATCH 34/59] Training descriptions --- content/en/guides/training/_index.md | 7 ++++++- content/en/guides/training/prerequisites.md | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index fac0898fc1..e6e8cf583a 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -3,7 +3,12 @@ menu: default: identifier: training title: W&B Training +description: Post-train your models using reinforcement learning. weight: 5 --- -An introduction to W&B Training suite of products. \ No newline at end of file +W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. + +W&B Training includes integration with [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework; [RULER](https://openpipe.ai/blog/ruler), a universal verifier; and a fully managed serverless RL backend on CoreWeave cloud, so you can run RL training loops without provisioning, configuring, or managing GPUs and infrastructure. + +Learn how to use W&B Training's [Serverless RL]({{< relref "/guides/training/serverless-rl" >}}) to post-train your models. \ No newline at end of file diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index 6fcdac7c51..4b25ed9998 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -3,7 +3,7 @@ title: "Prerequisites" linkTitle: "Prerequisites" weight: 1 description: > - Set up your environment to use W&B Training + Set up your environment to use W&B Training. --- Complete these steps before using W&B Training features through the OpenPipe ART framework or API. From d9b2c13ef183b0a0c30fe3e2028532d4faa52e6f Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 16:22:12 -0400 Subject: [PATCH 35/59] Adds Training to homepage --- content/en/_index.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/content/en/_index.md b/content/en/_index.md index e8fcd94430..c2a4e75419 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -65,6 +65,30 @@ Use [W&B Inference]({{< relref "/guides/inference/" >}}) to access leading open-

{{% /card %}} {{< /cardpane >}} + + + +
+{{< cardpane >}} +{{% card %}}
+ +
+{{< img src="/icons/Name=Agents, Mode=Dark.svg" width="60" height="60" >}} +
+

W&B Training

+ +### Post-train your models + +Use [W&B Training]({{< relref "/guides/training/" >}}) to post-train large language models using serverless reinforcement learning (RL). Features include fully managed GPU infrastructure, integration with ART and RULER, and automatic scaling for multi-turn agentic tasks. + +- [Introduction]({{< relref "/guides/training/" >}}) +- [Serverless RL]({{< relref "/guides/training/serverless-rl/" >}}) +- [Prerequisites]({{< relref "/guides/training/prerequisites/" >}}) +- [API Reference]({{< relref "/guides/training/api-reference/" >}}) + +
{{% /card %}} +{{< /cardpane >}} +
From 7a2e6e168aa14b59459c2b0388cece84eb72d4e4 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 17:01:37 -0400 Subject: [PATCH 36/59] new training icons --- assets/icons/Name=Training, Mode=Dark.png | Bin 0 -> 1871 bytes assets/icons/Name=Training, Mode=Dark.svg | 60 ++++++++++++++++++++++ content/en/_index.md | 2 +- 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 assets/icons/Name=Training, Mode=Dark.png create mode 100644 assets/icons/Name=Training, Mode=Dark.svg diff --git a/assets/icons/Name=Training, Mode=Dark.png b/assets/icons/Name=Training, Mode=Dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4f88c84ce83ff25639c2c89a453e348a1c9de7aa GIT binary patch literal 1871 zcmcgtYfzGD82zxDb3X(C5EET}L4UdKWYrYv>n>;5fbRQ9$-hhw z?TbfXjm7HjE${nbk74!2o1e;(%i`qA!c|i?aGW&Y6HOv9Af5xa0<)qqHii$I}+d2 z7zj>GI^YrYkj8KkPSy?cU%=Fod*kxOiuLHQ>v)vwMUuMQtHbHgwq#ptF(Zvmn$Gd+ zuszh^alS+VS>h%#Fa{CPw`$Mmhl>bmJq)8VcKh8sCFi)sS01QPD&KijSi8GuTXEgX zeOaBam+qAOWr2=Zew0xe;(eY(zi~S*imEfIDnT>5?*JYF^Ncbvh(0JX^h{pM{BP` zO@NvKqJhx3TJL`YsZPCe5?=^Q-qr3h7k|Nq=4rLdq<~K_GWD%^8ffKZX~BtE(riA# zf6jY*lli7^jz9^%hk~IJQA3S{DUouH<93)=zmqX*n`p*G4f9j{CC^xUtXpSN)kImq zNcN~=eL4dDhTg_5x|#EI%)*NsGLnq&snU!G$j-J}3mAeA_mA?m>(Q~7+Sp~y6(7y3 zVsl-+TZOr`JLX&qk+_P9kJL(PCd~VIMYqdD%dEeY=u>CBrPh&!{Mue}63J|0 znPzZSG>ChgsZJZVV&__ma)a}djr2^z3_pA+~hQu=KDRdB1bKXIlP$}$L|?9vJH8rE?PeK($6TQY zRPkJ#?24`Y+Kp`y*X6?VWy~oOGgJOhBasd48Ly#nOLKIm#F<^uC4ivTE|0WA z7-NmOdg;u54%~wggyAgG#=o=G_VO%F zM(Gs@$$>oWhS=DdXb&mfcYKe6ImWY8B})0P>lQXcX^|ULWi7)29XWR9v~YOB}K1*RNxM8N^EvfEOk zjb;8kxryjQNrPD?hMh}Gz3kveDVP?e3eq90R$0e$Yw@J+hXg>3m;0^#Az6O|zani_ literal 0 HcmV?d00001 diff --git a/assets/icons/Name=Training, Mode=Dark.svg b/assets/icons/Name=Training, Mode=Dark.svg new file mode 100644 index 0000000000..a3f8da3563 --- /dev/null +++ b/assets/icons/Name=Training, Mode=Dark.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/en/_index.md b/content/en/_index.md index c2a4e75419..9d8751690f 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -73,7 +73,7 @@ Use [W&B Inference]({{< relref "/guides/inference/" >}}) to access leading open- {{% card %}}
-{{< img src="/icons/Name=Agents, Mode=Dark.svg" width="60" height="60" >}} +{{< img src="/icons/Name=Training, Mode=Dark.svg" width="60" height="60" >}}

W&B Training

From 7e65992aadeabcf28751d4565b15721ed34a4a3e Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 17:03:34 -0400 Subject: [PATCH 37/59] Updates marketecture from official Figma --- assets/images/general/architecture.png | Bin 19355 -> 70369 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index 510575e4e3ad39d6ff36af8a3471d0eb62b4138f..b1f67d6399f9e749c5bf8e0f4fbf9450c2288440 100644 GIT binary patch literal 70369 zcmeFZ^;cBi_dhGOdDhpHm!vKq)IF%@)3S*H$?$*_SQJnu)9xodAj23ut`zgR+;R{Z zIb}_@Q#H8iw&QcS84tn5m8E?fbZEC8dme+~D_p(0ZaCwvZtU!PQU{G^xX?;d@N~x7cAU zEb{_eS)vrDt%mncHwFsioA7{{1wOvzYP^j&x2K_gHRpk>@$v_hwAZaQte&-cFR%7J zm~y$4L`&-=i(SymxbHS{Wd-7F@1ETq;V|*XA{G&KmU!B**wGClJUshzbEECsbHTXm zL1F~&f!-^9FooGT#(!=HrB|qOocE}1^)BP|qmqF6xov-q=1ZA~pn3gF>$X>l_CE2* ztwU9|kLcmE|B|#s6OaBnNR-7|RvDf)%__%s@i-tCuDd~J>OPDe=8XOFuPA%uCtnGj z+J9ZY#Iv14IAOM&p))TVd&VO7iyZ6!72r7ekU6Y}(hePL&x)ac)hm_B4m)%{hWyJU z!wm)zC+~Q3P-Z2j7Wc?H=ZEpZoDXZ#7W(0T<+;w$6vF8=Q$ z@O_w|aNgkOltP2}?>)YQi<0<+|MH~i#OD5&IE5bL->LqI^S{G#NQ?ffl9L!F#eeUP zc|iO>9Q9&+{~d45|9|*BCuhj|SDohP|Hm5ie-m=IcK&aL0F&VR|76R&F-0^yu)#7n zn@p}}3;KKc4Q$56Ydv@--T$9WYPvfI#c@7q4T{tYe7OG#7T})H)h5w8AS<_%y3kR- z6CdjJ19JM!9is&UA4SHhoB=WUo+ixqsY3r0Z{Qo;j0>#tmMbp50PD>^{Cr2oj{?Mm zjS-iv7Gx1Agols%3c}65XkP0DI#D|Nyo+fnGpA}Vd|JUpQ0}l-zvd~c^Q%?pRCzRF z6yp)fGXA&akJ%%vjrPLe!TxF79o&KXfuO%U(Srmj=Zu6rzz`SV#0<0|-g5K!xS;O^ ztDHnU@=rOj-`!h(K{0AmBP~3z#fLj|z!f=NY!lF4)5OcNpW~&aO}~lh@^%=(#F~9| zCMT|dBa73`9PnJ|REJlL8eodT9Uz}<9ZEhovlj$Cf3UsK5c9U6qU_1`23=iQ!lW(j zqn8Kzl~@@S540KE*!3-<+9ld?P^NX*u&gy_K^ar{?Zi9(7XTwjrZwc{Ih`yJG0vTm z4-Bo7ZZnoDZN_J671c(1tV>KBIE2~|AgcKV)l{(r!f6Ia28rHsV*`}n{r6>>i-$d! zX8fS%SaRgB@O;@prXIt~nAbMw#8$W2HKxjI421C8Y*z5OliLwb$<$+j3^72qJl8gf z_=|eLfD8Jhdxoq;IvLd2x+3K+^fPvF5Gm54g<0Qc|ETpsCa?mt>F%^O8&JITI1t)3 z1kDh(XZ+}Djd(Vz#_ORC>B|&T)IJ_8AC&}n91WB8`MO#mwQnGY^*_`})}sDIMu}&1y~23TVTGOj z%MtK0zUAvt($$CZxXb`U=RdAsURhmolzKz}7RV(*Z4+0GXjQ`@x{w^=jMQXwA7jY; zz(?I@xRJu;Tb^w+Ed$>r?Woi*B&7z~=I6;^9LeLBUT=k;dL;b*@<;jGFqtSGJqBDs z{Vy#D(dNMWF7#uiA|xSxK_+MAuT1?J=(!x4CW;mRtrEK>XvT@HR5$5igQuO+`g^8R zGZ>4or+fb(O-?r}qTlj5KSs*vW+fdLgzz^Xc)>b58m@l%3?!hE+us01|9B2^shJEk zbv2Qx907E4trsBE{DYIaL`=dS-QH-gsOkbWdA+1u!892Nxt82 zKT|p_P4qs`f%VgINm(Pi@&0QwuC}-)T#!ue=EREqZdiZMUf{Roun}e&mef@XicRgD zWCOzalHA6Gq3#=1(w)#r%DSlK z#Xcs$kg&cu*unKTl-Vst4%iO3KQRQ8ykkc&~E&qotWcNJ4{aXYs zq9aza5ap*oMZG5>W6Unte{A|jo~hI}?pHvOSIN_IybzPdq%N7d1eXG5Yy{=qif6W$ zeVRFB+4TF^H1zp>5Fw91TJh5bt6WxY#xGi|^qxQIRZ=uB_4^DOU==vJwVs6cMO? zjEOy_(wvzO8#F53T?fxBXC8S7fpW7Eg5NfF2?_8`xE;PzoPNew_c2(y-wA}`YnQ>8 zoaG4DlUk^L?(^2ww++u%p{`B!*LHte2Iko6U6c!#5HEsx#S~4Czzw_vbJl)d8_s^S zLe4fW0nCGB>NWNygsS;+o!L|Uoy_x)@a9JZeL%_mGtXz zmJuW;d^FME_;B<9wcM`4mRj~VXx3FS6^l9w+XYKjnAYc=^_4*@4S|BnCn(yPZ?JRh z)6=v#{|@toj1-n285=p*OAFuA0O_YD&F0#lSZ`5tm&tY^c-Bvl3@q4nz~XG3fSYvC|KYR^7d>dWXn zo3FBb@WT`sL$)8GBxXz0mqYD%Az>$Xt6U@7fZAZcvNE#H-cpF{4t_QhrAy|+3T&mn zNbtKqH8Ssk06Ggcv*xTp@>7z8NP{_>he40=Z|XCTnW#QPiWhzuS*u$Zi-315W{#Tb z5<=T&pnl`oQZOzJWA&lLaw_Qf2z-aT83OSa)@qCTYV02Mv5uB~s=z%QG-Z8Nze1Uq zGv`!7M_uS@sShkMQNEu7=eDy9E^V7IYLDa|Z0$%Ezi%I+?Lj~1orx-8Tm2XKW`e9) zG-a+%g^l^)SSb;1D*8U`4@50;@am*g58s7n*@e`0Gr!GazRM0;{O0qD2^Wxl^kq@rlNjRlWAme(K_r7@t~MgfqT;S{#&@U=-uTA=jFwCGdf^0Rxy zJps+}8~oS3pJFChLvqP6vf`{5PP)mM^jz7My+4p(z8s}uO0P@~42i|sSlcl>S`hE) z{!-$pkeF*_+m0=|xz&$d=Z`Gr!|hypEYq{YBbF5lKVWup!;EceW4bRd``#v5UWk7L z?=maz%&Ai%B=rDY4Go_^j3)uagAX;7DrHj69FCEu`g|bq_Brq~o?P>_J}O}cS9g#q z3MEK&igo=kOlHI&$m%H0>j8|SQLL8Cra2QHDSRZ#`hYRJmSY_|%NebQsnc`D6PT-l zrH#M19xlE@@=mZ@spouhpi_}FS@Uq#DGsr{ZWK@x97W|-{MinCebdh+P8o{g7S{tL z@r5*S9Z(fE?B$9bzF+4nV3y?xMbW#Hmol9XhwVM#_Tz_VVI1eyoqy#%j(NS6o#FHv zbRn+9m^CSvGmBe9jkJgxivAdUUfkWIF=5&ugR!R*$xQ0oj%PEXQO8BzB?> zs!&KP$p}ZJ?L?B~gOWvilCBVES6mQP~-ZJ5h5qv*Hmr7av9# zvUFvH`--o6cEw(+SBCX9@cY@sA#!LI?4QM$qxey*$ZxH{hCvB!t87xfgeNct#x`VA z+OB^-B&eQ1Gg=YifZ$^36p9=1h#`N-dJjpL$4Q3Td9(=^E~q7H?sKZR_4=5v2cPAs zwd(g!LD`Mpe!ck1WpN`@zpU*rb>8TS*fiAP`RwR9n*O z;^nco;<`Z%g2ex7DHdAvjPcZO=Z_g+@F^do;=tQ~m9mw&Y`a<_FKKXGrHWRvQo};2 z56R#EauMkl`80DPN=<&Kl;bGqHwJRTZ!S~m4=0|TGciK6awin~c$B<$mVoE&rUC8i zzJkWW)2djMHVzc6mtu+}1yLi{Z2J2xT*%SF>LX9VRX7M3lYiij1mjjq6{!Mtlgnpl zES8(;@`PVaBh68<^SQ9Ho+q31hF*n1h%DNwwYQjv;1gxB9r#q|C|__g3c7ya>d@Ev zpp=PE2A;Mx0Xhz;0Dw4)VEf?O9LbYE@O<`tobpd;X3;{ES~-2VzKYoyE-302j};26 zW4wg0@g(ZcO&{r{ZIS1H!TH@|BFv4Spo$$Tw=2aEGo?jsZoK`MaS|9+X4{dkY$bO2 z!EN)~&AEvrG^W-r)V@p8=x2UqaTMD)aOzOvNsC`|NDpFRkbt;>_<5C=fR&c8?-gq^ z1nGyaGL40RHm$Zr``Z9}ywdi{{!qJXND2Pt6HUtexB0bzA?5e$DM8tes?K(CG{YF8 z8R~c)i{FA|_GxK(nn$mFD;rPv@h!7BUA%}apVW+arYJ^lx7|nfL1kXGCwO5&&Y=vR zz($Ipt~WHiUWja92A!%@Zklj?08*lPHlJWvs$98EZtgI}Al^cE@JC0;@Ls!HV4r1aND~&y zi~Q|Nu@aRTuDHoJnxUV1R@wwsihGY|q<2T^hZA)-e_?vu|7+)covnH$LE^m2Rw5|{==swj~zs5 z+gqP12F8Y*LF|_)u@@qs?te+|(xBb2X{bghAESCEw8*koGKaS&Jxdv!2wP{$Bu~T} zI!J2tar*I!HM_#3AoK}FmRecaxsPz7$y?&-%YfLzJ<|YQ{Ois?7m~y})Vvd)SC5;Icbz7sqZ(^RGH6lF zYqj~SXUCmc?|2my04>C-^>Vp_(`7K2PuG*Aqzx=C({H$Q%#CT^J<3vZy>4m%jZem>d9H}8HquyAn=0%aQgdWcSQvuVdfc~ZPgpD5Mlk&bTX*5XOiA=%51B!K99 z`U|sf_H)5gJR1}{-aKWR1ynkdHIDehzB%W1s*qEJu7{lo6ANLxlFWkyq^28vC$Izt zm|e!>^4Yfz{-}PRYytMF7n#yyjOP!mALY0^Mq*q9K!i&hb%?L`&IVxk*7X+A3Y9Q! zbqIZh;WmSaM=%5d66g#1csp`57+R)(a(h)RUcStUf`>FOg9LPxg!~La&5}mcJ9V%Zujw!Zh?@Zm;ikF7lO3F$vWj3ukbcE zLQq90%$2`&lp~K@-cMXgHr%TWEZa7vZEo#W{tTKQ*7O%YOwRpPlC+?~Ax^~VN}%(Q z#=eBTq+#>R-wYzW`8*$`J5aH)U$Q z4B<2cDw>twNQg*>4#;eNZ}G=yVIYcw-4g>iYs&?UC|fZ4@KJ_VP!WeV;V-`Yv~Awz zV~WyR++AX-bEl8wa#@g}0nNhO*S1?tEL(~mFG2GPxmup~BdkAQ1#89Ll~EoW7+6^$ z$Lj7_jD`tqcIL(ma1C+ZKMcMUm}kdVSsqvU*{|QE@s*3$dWn#fjWdlDGKX(Wjx5_+ zi*zoH6UBN0fUGDqamh-Uj>>^A#2LmQUj-(CG3bWQYBcN526DmCWjIXmR<|Jh%zH5$Y=eX3DS*ar5zo#};yKwk1*7RlK!N0yP8$t!kVi)^7t$r%ik5?IZjUa?;nN6xFf>`7pZf`xktz66r_>kv+axFYnQuLC4f9BDduNAC~dG+<-$JO?Chd8sC=@zDrItiz|-4$u1(kz-HMy zsy)8}D1M!>d5t=c`^VDwy2$DEN+~dmCwfW)3h}NoYGz_AP|}FPld;Tl{^ncJrSM+F ztw?J!W-5*!rzL^scCh+BLY89(ldj>c9j+Dg&thcOw#%6+95H@{K|P7dj%T;w|LzO( zI-lOP00zD9iDgCU`TB-6SKn-#ght%M4MqhZvu=L2{)wd@!-a_$K`_H`Tz|@I;rB7% zeCs^h5g7wHz62uUf5Q0AKM;QT_3B?F&5mS_u_M3)qMqkM6?7N6Yvx91X{cYT;Tfm% zFVP*mq~Ik44XI+D2hGAZzBN-5#333KYtu;`oo=T_*z-f8N)zzxt>U^U7{`A})XTnC z8jkhF6?lw~B1Lwos&@e+V>m=_GHfq8E~^RhLWD$ms~!QPxjbj&oy(4OreL&;dnhZ^ z7dPT`h&~C4I`zLpfOK*gYGM%s`ws(2zFQxMAsd-6so>?dz@DotPbNjw#9;-yruw{o zWDDECDWYK)ZY!k{O19OjJpXe(MWg<<1sA2qkOj+1b+aefG)KW3_l>0Q0fP#R|I9d< zFILKU_K=wV#=vbmU2-e*9ykl5PW+8V`uf<^=iyigj}7<0ul%)s46pczDOb_;RBl;4 ze5=ex-Lyx1!kpy3!|yQ#7;(mdkaxfQ06T;Xp_WmIxeps3ylS7eEwZojcKm}?Eg79ZT#Pi>zQa;|x&G=R5zs`UTY_A_0 zN)sy} ze!3Egx+@=Q6On0Z)Iz@&?F@cvm0L1Ej9OCt;=zFD)qf`Nk_3yACDsV4>u9tpJ;cbG zMwz#bTdeN6rapH!7Qug%*tDI+ySe8xedVC%vXTdJDEQKpy9 zm>_NC9FO|9kF$VSd_Q_QG>`mh)>UCy_Qrost=MP3i*rm@>fp&q+-qvrEP_ zhJqw2t|zbwB=CSIOD$`K0F=J^DGuISzznU$>lu`AzRag_kDms`B--CtJd2EdH_4Np zvDSoXInsHU<>6w_61V2;nIdeo8J)(!m}M66mP%9!$ooL3moG=Y@fMfKWI%ZQawy8J zPJzgh+?=%)BkSEZ4!GacBSnRHvpHm%08}Rq_mA#K^9p5Pto1Sz>~&6iRCOZ}7{3C7 z;4|{8BH|kBBSN6jf8GE%ar!^l!o%drf&R*8i~VJCPvQ!Bo$)BEd--j;<64P%Vp&G6>bfu z{zGB}eZ7dLuJbxX7@e$10uklH#6z*i|CTm-5%QgHJeNlX@EHi*_%F)DI_sVYA;!$& zLW1XP9>Xg2Ztt?GdM&;Cf9DAx8a8=+mqalIaL_dahg&e>xe2a2Z`Sx6e^H20QBg=5 zz$QM?j$iQE~ea~10$m(m5 zy<~0_U5h859B6Q{3YNu`ojPCW-_AG6o&)Q8u^5mVA>RV_N7{h3iS`|_^T zWHUX~P)-YKfFXZxud|RvN5>Dkjq!-hzZKTu?Gg;_0ktfT^jxDvhCcPnX zkMHD{f&ma+R&9*$o=UW*YY`LvHIOxS*(MZj;th4Gy5e1KT1*eEweKo)g1&2L5fal& z8B#o?>HhHfi*25*!9C;Oe=EwB!i3&7($8dA3I+#Y58b6B87vealq8!?(DQcO-Gzbr zbao(R`^0p@y0mnMo1&=Ve}h2JP5MS`nKD1%$Ej^L+{6mf3f-&gw;26N3Vt5pKnZer z&@(2ran)}D1gPnE1xo=1CA4n_)DDsMuw5^j`eo{@_!bmeym^Os7M;HXzk~z`8#0=i zGs!(1#cqf}mQ)HUmr9-_4wYu^v?Z5yf8~5vQ&WI_Jar;uaAROMrYmFVMQGA`!Flue z*6-MJcbikViY7y3{sTCZ5-bW^=xdJD>GnA$uIJjnRJChI4w3NfL^Y@}2aa!+tX`0C z0mY`hwUgqx%2S_w0XqqUyxK?02=Ca&xl+&>o>iKPAB>$;28Nbgs;~%EXXub{E&u$0D zKDr&%?FGyHeo)$9saZ3ZWE+)aeRKd1@kkdSI3QTec6eJJiCLOY$AsSgm3;|5MGQrD zKN6!5r78GNiuDjmcZWJ{B=kAh$~j>7v}{^91kY#Lc^pOCr*^rYI`{_z>Q>gX)i<)^ z5g`U1Yyl(M2>*Gu`#1r5BzKWM90JLY^xUVMwLyq|bwH7MsrZYl@31IPqjr-S?(53I zP1S3+f#_6)eL^SCAl!%;Pljf*NcF2!eh1^$TPbrJkp<2yp-{zzrkAES=^}? z*;yW?vLrj8h4*UW<{FHBE>;W?a-D+7e#vUwVE-XTgi?I(Dc*?MvbFI%t5xjgHseQv z^H=w!9IC}qnS;JhsbCc?X=?0aY}4IfiTb>_$xVugp1QF$V?RePm&84g`4xBe%gsf0 z^S(NLdp6~<3lXY%v_{+8;wVs8NJP2O;G1A`sCEAqxV+`W;78iEJ)O`NCyrqw?vGDv z4XRoX>K0pMTBOU$D1cbW@>19n+E3MH!$n7eo55CKHn-t84@AHx{G$!gI6KJ;nLcBE zi+s=prjydCk8Vo39;)|_2^&AJXLN0Ns2a&=0s@!;e9vb>O6bY$xlq|!CXp^|`Cm=CIlT(B|q^vH$A zow9|W$zS2sG$tH$>A>}T(m5#IZ9N?tB2$WzgB^Lvv}(p=KjIAd46 z+||8#3w^9{4iT&LgB{aSJ2cRS@dK`dZnwESYFmDOldE|Kp__N2Xis*gOO&2kh6uSa zC`h2#I=;DKzMuF0h$qsRK5gBqGN9HLvB@&lO=H;FW&mwkJT-^!TRmPzY(WGtz^)do zmJ<){Ju9`vqK6ndmeM_yng1d^#<_9Q)Epir1NC4bbbOAhrRBNFDcR7VsWXOj+`)3KF|sh*_<9;~~YUWO$cb~(M3NQ2zzlF!#0p_HTh{wC0?_3Z9*QrqTu z?$2Di)rzq$RIm@goUexS_*^pY_C@D%?%tb2_J2l>HgD@bn_N0&mzsZls$-`YB_X0_ zD|GPb`p7VJfqBHXLd_0ILL`x&1DKnDF9wv;>V=TOxQ7BzVQXh*M(;e8h$P5#N1hf` z;H)|7l4QK6JEU6JYL8@$s_$YTbj`Jc4ls51ui0DQNF02Rd?(A$7gt1bIbdX4FCrHv zt_jYMmOSAVmLhf7sXt2X51LVAcpxWJU&42UJp%qC5~8V*>ny}U)3LKRU`QCad%&-6 z6YS2^Cfw!afO9~QUREgQhzf*75InY05AL$VR%m$LCh_C)rt)D>WC?_C>OQvh_m{8p zsL8U;O0xAUs|$kbF$b+5z%!p{QL>A)N4*Mhp7FBb#>k7R1lyN0aCkngz&xgzEFFJW z_T^8w6-feifjweUxoy9=_p_jmJ!!ykMq40UGoIhaibY;=dY;Md4&=8DuSn5pjD0E7 zH`?8x{keAKpfz@nqWR<3TT$;$nh~+s`t-Av(#wTc_1EQ>9>_Rb3=Oeay1fkL7CLgmv~0ukVmJ?ZoZ#nTxYo)h2>WDrd% zPgsBojd@7pbi>@Wy~ku7{bEx3YEFo)43R+X+^HL|35tPDP)=goxy4vt^=H|PCuX%@ z>B)*A+&0xXz#x~wI?W%F3Ogwx*K2v6kLIf-$Pq1;kkYY=Bd|g>@lg6sJ{opHKJ({B z=uVi3e`aJQo5PFPempAsR()T_d3@=n!_DV0O z=z&3r{>zqEr{D+Od@eZ|96#t}8Ajj@=Wu&erNT55=cHD+;1`SjGTzTl+Y%Z9WBDWo zU4rVBM~lxN88oREZTV$?$_ie0CR&u&YY6^yX?a_)_sag2V2O!cYR>OHn}^n|u2gkI z_YoFd*_>D(=gVP1lHypD9_H;QP1NnJrcn!O3q?x#uEi2zQzA9f3^b)~uk~TjSCueP;d0TY(#F+;vKN4OmM-%thY2PgQHg2X-M8(z45@jAKoESr!US(89 z9)xLzMca1?JUC!zQeY_xUYxg48Ieq)No3L|@g%|~-LVkSUO)wr@cedH-_5OXKA;KA zg+7ZSa0z&Y>N_kLe1gjiX_F$A9i>Gx0oCIAGhZIlJ zqRm%gA#@@&(;8SN;S8+Ul=fTa*^&iL-~Nn?-B!eI`?B==D=EGswB!ln)5U)LuDO1w z%N}8`f!d|8yLx?PUwys`vAv+u=`NR8Tl!bmD}J=OtEZZty6W`M2r6y*D=Fovovt@B z%Bkvl{q=426?|?-Ms@Hn_>nEQ)XbP*hD!XUT=PCu0|*ni!RfwJ_yw@3FW$b-cnx&Y)WCvqAk9lHMaq0ahiIJwG$m z)dwIQi7*y2!EI)aRCcfLf@=#3NVaOKXmpNA@zb)E`NXKBP`pE%G~I5W=d>~hT^Tls zoZeKhrHIGTxRvhn5i)4uo@wusNp(V62?4t!NtxL*-g(y|zU&6~9L0UnMz1}%=1gIO zW3{;t%nMb#I|_gAIolrMSwp-;Imsa|W3r5;wQNyhv##SeBp+_d>X#2{8r|2 zZ)t#G(P1sYmkcS=l28f%$hF^}FgH57jj;=T`ov-+sOcNHcVJpq`whzkqVGB2!}@=QqSp(X~TuR6u}>G<}LdO7YE z%*TaG{)DNA_F50Tq1T@ASi6cq)9}S=wRpXVGqk}}rcXK4`1I*ZjhCT+4yS3#;88>J zXO!~-Q+wjb^YwD8ibuD8wv*Ac_0@yqB04KJBJ&{;!q%`>GvBd9F=Ci>Mp0bVi7TOp zvA}stF22<&0C4Dr8AEbR4Lq(ShicI9eIqkf_U-Y_D{!J$X0d)d%#%!?ZIQP_I6RLR zzVA(6S)&QWrHhtdGVv|QtI*Z*d>Qyz7`&8Y4;&C~fMyobd!ug$@#*z}pD zxO-&fw`=O(N(0@cq)X|rq`hvRxy`&-Ih6$~J%HVRCO2o3nJzv6Z$bN0Db^TLcT%j2 zTxu-$MUO|(ZBFr zf?ydSv_Dm*5>BhpbcAEquT!=pX?B$xsJ@5mFYHLwy55eD2~P_Kw=em%n;>ByuBY^w zMt7k$mGinmXGEsCDpyZw`#B3T4kL`y>=Etm^NmB@)QyF(XxJl7V$^THHM^Qz{?)N5 zaqz)!2y(w*@3?z+pq=g#Ysmy5s|4ozR(__l?;zgcUfHbsnHq>3DHZ;ly5N3I=j4Gq zvsG)JuGmB0W6lPT%Elb|YUc!8&L~9bD)4xj<&oiw z8M7UA-BR5zLkEnlJlpxRbn_}!33Hc`k_$C*y6ESzfM;CwN+xHkTcky6%(fg_=e8bs1XUi`cEs-4?-{)_atWH38BJoIjq-B9 zJ0O@ZccAeo(sb}d!S2uPSnN4ge4(#d8v3j^_xlfY$p5I81?7NSE|)Y8_OK0dXbPo( z-6DNjdbn40eyzr@g{GiW1$-ed3d8&3EO?o9%BHylZQPi2FD2A|2t|79!ZzZP3KsEod@YW!VlmC)Q1_L1&|79xRH4lYS#~abZcP8yL%-bq^g2O8# zoP5i=91nneo6kj-a=K;CXg)63ffQ-^fCvkSwo)4EqYMu)kXMCp2qA1KH`C@w5#OejG!o23 z)D&5ij7I2c9k@|f?9Ra}NLWh6Hj}ir_>9|MzI>U&rK}ySD=4tskW6Vf!K=RcsQy9R z-gW(QNq%L2>-gA#HTPB-EJjhSppLq6;|rXwJv;9B}DF~Ko!`UvDjU~_HT*8hpy)q*0Om;okbq|3>$-0$+POHp`0*Pxce_M09YQGZRHaH?BEh_BWwNi?mP(}Lh#51Vgd9m; z;X#&7Cv`lRw$t-x)yyeqJY$Mk9Zb6lfFwQz`3dUEMWPNnnL262*e>bBChH_Tyk zhis)=aum%Tbb~F``{;2j+v1aVh}E@757#6uCMQm!(xgp>i5Ir z!nn$5UX26>G{K1YCHJrOiDt3=t`AA}uN8%wGN9KMND%~dAuw!sXV-T5;up|E4Y*9# z@nX;F>GV=20>eJCo@vD*uFr3a{Vv zP-W&ZR1_oeYviiYOBW_f8-x7{XOVjS?Z`n|G||?#Xo+{**iyz@>+LVpW1=a#*ULpf&UVybUqCMDz=tEf>gTwLHXhH?(?gy zw?9j$VdREXdY+}{c6$?-1VAR%zngIqJN(A|y@nz2?Dg#7>3yEKnC&ZRip5<)i@C_g zR7(W9Cn9!4wen%e{H4dXs1x8dPX0+LO4@-YKHY#ZYvvWlzoNULWrs9q7M3OgB}3u` zat5+QO7i7X1uA52p-)BgwBY`T@rkl9zNJ4GqC*1=cVyl}m3e?5p%CH9GW*`$O&T2{ zXid@0?ea}O!4ZH5+;u4o9^>ZH08gmZGhJ4(J<wzR*7>VN)I}ip2W+3;d|9-BQmFf+Ubj zr)SzDc!#BmG!miipQZX~%hc?-qrDu+@3QlKV#Ldg{n8I^Rgp%-Eh-v^{EEz1dhf;g zUKWY0=|?%VF6>SQlot)eP)h}bWbFokx&LAiinR<6W}3FI6V~@>$Zf2O%5->o&h-G@ zs7)=guzV>1+VcC}c{sJ`paq~2FP5bP9Q5UrB;1bZf6+I|%s{BIJmI0c6601#T^*U+ z?@ye`5@AX<%^qZ~vC3uoC0iKq>&px>K%)vkBLVzHgAVOMYlv-2Lokd&qc1&pUDb@3 z&3&ekc&6Q;eQt?9V`)~F*k+derJokYE1eTU=L@|HhENWscH9H5qsf8BIvU3C`ixx8 zsT6)|r4}Qo0PkH@new+zro&I!(dn;wmUwND7TpMUX-WCMs!>&F?b9%8lPTCAw zKXphR1GPj6JfsUOK^U z?CYseQgW0!u^q-OrBL3hR>NwaMBZRqfQ+G@-6o|s<#@(Q8E*(yc~iMs8X>`MjQ;8s zFRfG;tC(CIsg&b6P!l^IsU3vMp%x&>TEBgrOUbee(T7?PZ!Y`V)kLHJ_ zzs4eoJk2cW>C!$>>gRGL8q<$2s?4H)IcRC`L)rd8uBWkdj!6yBOuI=;Ed!lEQew=$ z)zZI-7fujTU!-BK1A$l8Ny4W?;=qi0T6Mekt=o+l?xza3kI^NTW0Ww%)H1Rvz843V za)4IU#5ZSVaXm}#4TH)c__%y0MHc-N7{(t;J;keBBcAMg8HWGp>Kg}uPoQJ|?J2mv zO9=jY=41%>fEL9$g1g(3hyQb@-T~;q=JpWsRc})%jLYM#S!8lwG#XmtYp|I3x@VW# ztf3R`@NwDvCC2#nwImt3HS`wcioVG}^BGniYYXnzQ}o=2dbhq2-^|y&;j)?tL|yN_ zC0tHVgBCFt3zae?&>i+WE$fQiA?X9yE*bHGQ<}MjfjOqZOooRF*jkr!s%LYO1CwRT z_xY9N3zf9O?MM}s3VbjNcSR0-eSpA7Sk{x*fSQe+e(2zSqq74UM#Arh&&P^>u!KDc z`>4|PDYjE%OQ7H}U-{U*)LhPbLC5ejqGOWuoe{iE2+$PxgnZ&4ceH9pgEc#w*Gtu@ zM{4(o{?v4yzV#Wzx5y;60B*mJ;hAos)4u$r3T@NJ1h@iSc=8x(AD({N%R|D}-5dT) zNgjdKEx8lrgta3k=mpPz{G$D^Y)XA5+a7uX_W+!ANXE+_k8y{!uxb+uKYdPphTc4} zW0I3P&4XqVQ{30O>t(??NN}td-z9y@e3}#>s#!9>Gb`mMfzhLHf2>|Zl}KC-Z$=;W zrBVqL*{M}V%!;e*uR7?LEx7?_H~iF0szy(C_$^t|8(evK7ly%6bLL*`csnp6gHoEY zgBG~xK z+h^8d(c>W+zn=L@ICjmPXmPAnU5~e;1vpY>g&NG%lB3At_rv7+vqs zu5*%t8fFljKCQ*o@NR1tu14N;>LKGzEXO#+g}0gO_q#AkjZ>XZT6@|YC-zY(M%K~e zyD#)QLm&wBX~(i*|LozqVT3|k=@Kmu{OM_tyWE>U-;RFjxvKSO(vkwTNf4sB=&q>j zl%M_evz46XS+Ioa^goBmTOQn<7>{9V><-@MFRcF3-q3jT14|wo|Bh-g@a|Oj&jdlb zUvU<=UHz)DMI6V#VN#>5sHQG=uI9Tpb%0zbt$~B)zIxQng``aJ?2`fBhl4Ti&LOiA zkws;a6Q$>43I5sy-i@Bs4Vy^|O%KKH2vNLuHE+=h!eyW*W1u%pSaUH~I}}wv z@Us5R%`*XL#U5B{l-F9!W1$0AU>eMb9cW1<)57q|e{8dV**M!&I zS$1Fh4|hl1Z9}*EjnC@c@;_;4JlJ?2^HpP(U}x(2mJmc25KGeV_@8${`0h#lb2F;~ zLs4Zh)<0+A5v#cWzI*}n?*IMicU{L_`1`YU$l;*!*;b16fc1Ns9oesAAa(GTOn0(Zf+m4R!Ytch_XGuzao5qMvo3WuaXK>XIq}O)Pn?O$LkJGG`cFva zK!|8y^~uUhNA0m|8mMu13FbDO4G`<3Lk^Rq-%^$$} z|6%bItPVoxPwZ&hEme>HUM^+&W5p-a2?&~sY><5zG(aE*ls*uRy*bk!SI*1P>0O@ z>w{@npqHzOBYfw>+>ZZcM&7RN$^XaRcfB>$b^Br$6;V);ZlOsPk)U)0K{`n90@4XR zlt4g5K}tYCKzf%NLJd-qyhsy~UIK(7y@U`0BmqL;#P{3#`~mwp=i)ri$whLJthKVn z9CNNY=lGQ%6l7%3v)>%wGdorSc&x_U^QiA?bCVNC4l``Qv|JJq$9fCb|N0b-L-%Lv-XKVYTnrr9TF7I(rL!o+! zf=OuLkyx#r0Iy$2g~>r!{Yd zQHNb=vSheC%66O+H78qm_Zdzaxn^>KysoVZ@)+x;Xkh*1_gnpxI$|J(Zfx$wr?Wic zCk}|;x18f`Euapc7jp-6yFTqdE!(wPtCUa_5pSt|C=4^cqOJMZPyVCG)wTN-1o&a!q<76NL}u^U8kRl-|` zw(3xhZoF4%LKmHiDU&KXA{*8-9%T0ldx4zEj`j{w43r<;k{iN&Kh-utqD(@B7C0*NL$3QkJt|WWrlTX0g7Yf>Xasm){OxABr2ZaOz8_txcBS5#LX)i0z?2 zwZtpm)*b16dT%pyAah&(v%9s&;qM$n31u;jHSe~xMwrcPLYa!y#fj_u?l+?Ya%z}y zwlr%{c0GoTbk$(Vlv+$Pn|UevazV`Qas zI+E1eB_~{7vzjA_a*CEza98)fA}-UBb=h5Q$LH!K7;zLOuyadS0DPFODcVs0_&hD; zUNi-8`Ii0ARK&|uF`m*W4dj%pww;-HwAlMnfot^9_n00fc9=HYq?Ish{!AHX;Q8{I zjek$4T~K*@4T+wv6W{%+xN+9-fD{7aWGh?*!Fv!a*%n=kx5aXbF;O$h)-r#Vt?#?> zHf;Aq2Cn@DguZj)q5VlRux^iR3syX(`5{})TPRgo4Y!o(#Q?+!ai~< z3I*7?3^LnMiTizq)ZzZDbxPvXeaUS}dFyVz6r#=o5^J70uSj$!z zu}+D7ZWNUI9fXyqH>0WGU_F)F#;9WH*->U8?xSt#BtA}IH}%37sZ=~X2>7uYcm^mq zkn;W@`h(CdTrd5kyoC-7`!l-ob8qq1b0l%_z?1@M z?YY4|v!2p9w@ZaJou&Pld%#7{*&;Vf4M<_cc2efTZC2_p^=p{kRUG~+FnC2O3o44# z=n&V7?pmw#zIWq>XWgASoUW=w;*7$p?Gr8kh)0($UJAY>KdhMLQz#6xViQqFiqntJ z|NRx{)1=*_+tVj5*r4Ah91VRTHYnG*?AJgbQZ}BkPDqAT9zM&*``C%J2zj6z6ZUb9 zQ2R#*JV2|J#bzn3d{LV={wpm#&VVM(c2hVU{H{quKPt|dq_xNXsG0fj!{S7R%kn?_ zFAf?gYb`9Qo_K6H@(|Gj_{yd=ksK;#cSyTvWr$x1- z1-|QsfPM1~6K8YZKGXf~Y#BJO9C^ExHslvjwNz_^w*?kCv{HHUf_KdOYI{uj>Twf9 zIim93fjf3Jy;81haxj2wds1uYCxh~AwVPI-jVN)$Ow&Mcr)fLTb`9o{0)sEBgO=X6 z2woByx#``ro6oTxNPhci+S~p#xWQWP-JQU2q1-OV$N{#l^RrDYtY^jT;suH!E5yw? zdI|A)7kkbw{g?VvoD$;;&)l(yk~=CPaZhQhue2FmyZVEzYr-%$AaKOm%V%7pwL^ZM zeo7m+h4Knl1Z+6#Ucql}w>0Yh)zbL}L*#f995)pv>oMyU9uv8)cH%aAGH^@3Irls9 zSj`X-g&Bjyor<>cP{Z8U{B69GVKA^R&bA66Hf%X}$?86Yf)y_iR1g$Vjkp=SG<$3& zA!8;XcDX{^Jv5k$oc+3=PkhhPPAor0uJE7qvD+qz3_%JAGp)AmM3&0{_U+5+urX~T z2A{|U=SMAprgO}RV_s(8wr##TKYi3(%iCQk;0Dw&x!1K~6>SS&D#g$T{%0$}txm?C zFMGKC3g3fXGAC!m9Om5}^5BW^722Bp9bV33ZD}YGSxB$psTA%?E1un!NCT=?E?el8 z@4QAyiN|=w4;I#<3)+Rlq)%nN;;jH*v_vMC!&kUJv&BskRmnh2OE zOA$RtW?-dyP}u*OFh@Nxa6_B+=yb)es~CgY#)cdXFPyit61J6?Lr9YtBsM^G1~J%{ z=757mgjhYM4CyUM^q|w*bgX>+Lp=y*wz#CXLp=vu%HKCTEUuiz)#k-iU-#lv)OnWp zxyVrbrfe=^H)gwN%cW%S@q?#Ipwfsb@^tp zo4*N95&-b!v}#>FR>_)6&S7n;4RMnAQ42eO3kBVVk1K6&2A&bw?WXp|H^&GG}k&^ zF(Nc#q)hDXz=(h1xtW$N=%i(4KJk{Y;}KCO|d!&cgQ*heuu3Pp0^L)%Cz&i z*Y3p$C-QA+d76WARY#(Nq?>HSXZKw5($O;CY6%vw`H|7)m7w?#>WK2=q&I8#ntY{7 zmVcl&=bJSj+mtovw>%LINwx;GKReAqyJy>SPp|0W^i91_ERS~rc&2x4nB(^dmARcU zHzPi+ghHdf0x>=|avNjg=ALv8yZZ|dzK`Caq^ntzFQ&cZifu8h*eta^CT&xwDaX>9 zOz4Bj^Db$a#|$|=0_T`zK{r76%d(7uiZjLf{cBWapEs6&UnzF===MGw?F2#_%v)|Z zQaXy=zW=z~Ro}Hc{BXBKt2e<^J#UKaibObwn3`5<=QaEc7tq9feE6WwlqSWm{W-wE z8>u1e&($#EF({xq(%^wV7Jvo}&uazbRMm0 z!xyoEHJohtkXzm<7{?{l#1a-Dm#NOokp)b_nmaa)I%$VlB8+paqB?AOQycCfCPi@~i;~n;$;T%VQOX%{ppZSG{BE)wG z3p!I&E&Dz>t+_|)vlenXwm>WxM+ydA}XNR zJJOm8iPisu5yi^!+v27s3~rL1O%S$pKO)@tF)_@{T|HkN1hf8w%0uxFD7YqAy z8Xi%MJDg-fbYsXxh%3=z=mo@wSx0(Z3xSCO7lyP)0sL=X zQ2(sJ8Wd8#`Vuyb`@9SPb_*FZC%Ip`&}=ZWT{Z)JPv~RW+V3qvj7;)0BH^Wkzu=XR z%ptwPbe1`!<(dYlpaNr$Lw0Xa0>7vE2yDlcbr%Te=m<9sm)#1P(|`Up+$kFE_F0D` z_Efc=$MU3FqWjhqqej@K4I#j~TcfZW6bxzOB8^R!xtVR?%XpT_Al5O*^WaQw+p7In zDG?@@hJV2JnL;MR-ReqB?$hI#Q8Dw!gLmuoS9h#UC>(sYc-m)hFin{CHIrAH7ha2Y z0osqaDc8PRkJII^$InQU7hV@x<|z_TW=iE;E*fI|wJ}l7(?7_B+9}9|L(QVy`}mMN z4Qpe!9B>hSy4hu7xsp!f%F$0-E$pn`WX9r(u*05maHhaVD4!ivhU>6|(Be^&Iwznh1^GP&3)FIK>ZVlUvE^BA!kYj1+SQXOPX4s<7xOk5`*#&%5+++lWf50cPa$##T2pbu zozZS!f?j|MGkpVOy1U(nWi(LBVI9eVs2gUEJU;8kLJGCb+*JfTn zM0G!@Ko;8$6CZJbFWyQ+`U^1nO(9nOVmTeCLn6SLggAj`<7#Rxl8Nfd?kFaijeJ{+ zictB`vKq;$*`(GK)@ngJZxn1&l%FQ;X^B4$oUm77RS{mk}@{7N8Yi?qq_Pc8OY4{H@wrJy=5h&--nnFn60~!}ty#C!Supp4q>Juy z6Jt(qj$2Q=BW@*m&(~KpvB64fB;V%uH4zT8M%F4~t_18BW_af@i_5w*U)^aoD>eTH;j~gF)-^4GbAyJbHKv-tWsN$Wt&6dr#nYyS+`!M=|Jf$He zBZ5dLw~kGpZHdyoS{as;m~%sX4$;_{$JuosJ7J6sEpP9HlT}{H`C1YC^!CiWlda@@ zE5|}-EhmZjh}Gih7>mXfd^nb|-r5aI3w-Axm*IH71@IuIFtp@8MXfO(bVO&{O#Z3& zOLshpy81Qvl^d_S03NQp^|(TU$AzNcmZ7Xvzt*!6Kal9WR0zqDnCON}^pCOYu@-q& zxqWSm&e=Dhx;kb#6yvR(oj|}Eg*ZrKRtlLova;+EI6?|ulJW_MLoQ-zl^?z?hG)}e zwwB-e5}X5a8h|my_?haqn;f`iok@58CzBF1mCf>@6qiEfqAA;@EoejTwiP%rO7d~2 zs#2Te+qqThcXktsx~5HPY>i;CUTjSn zk=U--W`Dg7sqC7f-d%mrug?>EC&A*ohkA{7i&-7_gU8uc z0d~JzC0-^A9kaW0Ppf08V&S4P+bP+_DamrO+bG)jd}Nw5z&&$w3bTbegX~TK`1)UP z7-a5B7X7!$WuHzi+sn&1q?g<-qioQ&5h8Pw18xh{YK;{hV@&h#89|we;#qI(LPvK| zNA5vqrqcO94c38p4)vR!$X-(@OSgO z1=#N44WC}ZWf>LTl)b7MQn?-;7oC_>v8Lt2cQX~k>t@VaD*H<4ji?RRrMzwI>zdPv zy0-wk?|)sr*+!tVt;Yv}6SqbTu1L4Z2*?^1N?iebfM$HJz^ZRh;0D7$fFgQ^NHw{~T%`LG8Y$F}Md1_4$>dd@YWp%g`qJb4_oB7h3(5 zbt|gqk;RV$=wwMQtL6N5jzG3r#q}=XP%%Fbc`T#ZP3F?8k7c;@882Gdfese0>Nd~S zRCB$-J9?`FnVb3CN6P{dSv~>06e)kew;h4TxGLQYm~aDca@ z=u*;+CX#K|dy}?0oY}8Xf%w*O_+`SW3auA6Skf_NWACAO1gwlwZSwO@xmu^g`4o{U zyh6D1E{8*6VnR{1bfz~SR6_BaR|4wE=V0jVSyukQ#x2)J-J5D~MHlROGrta4qC#8c zZ`u`7^CVwXNu42JqqrDDN6F7j+EM%`>b7Xn$%Ev^{vlM)36CIoYOoSa-}x<8`w9i}JW)geTTYY!_3RXk zu)>?0atSjzZT((VPc1U+gu|H(6nlU;;j3Oclfa|}I}{{nTjE`MjeX?8!fSZ=Myr+CJ>{yREipM=yhA z%`2EcvfFP2?Mf+Ggf1N!DVbh9Qx$b4%;(AB@n!Taex}O;99ojiXlqhKZ?(1x4I&4K zsOItYzM#L{kevuk2h2ITs4&gB2A)6g9XFuMG2fr@6 zyDpbDo)<02dpm(6AB^^%C55kfVS2h{luDninDf%ida=eqw3~-EM+%2cHgpjNeHvx> zoWUvcJh%O(Yt&!p6EC0kaFPACAhuuV{oa>sbmVqJ^(xUGn0Uay@3XcHC`ZL#IV( zI+)vCKOW8%|7oAik{ksZZ#paIMTQ5>YiPw_gy#{sFCLu6>YEVN4}YFC=ULTLuXvV( z$BnnRO&o;$seU=D85Ix-`7=;ba=zad_foWr&ySBF`(Vdy62z z$U2#Q@_uLHlIu{laa$lkKWr})TTQXKzx63#wlmR$+-38Xe314NF=YUY?L?XF9kiw08 z8wdinT2lG|QR_j6$1dUbz&WUq&ZvqN{%mjEp69HySe$%fUOG5W0YjoboI8sRtl#0l zrcKb$H}%q5d(v9UVEtP=T_5(P`5)v8@s#VzN*R)E1?jzr7+gl`No*qUJi|yL)qTg2 z(L)|%6DYFnjp)X<`$6d)ljXSs3(`N_v_A)rL8RoMWHdgyLv%6~b#|JGY z+fr%RQF577+>R-EviWJIpHo&Crm?t9@5p;{6}C115uq>x&lAGrlyO_ZYmP~YJ24Dm zL#*wW+s|AW4-fQEjLQXV_7)_oR$OQ5WTNdfWo-&Puc8auYE+$f?>7N6SEOfPMK~s} zc5WVjwe1AIso)u4kY#)B^7htb@7eJ)Khnd}n6b7`<^DtI{_)A3sZ#WL(TE`ff|ssj zc8-I?LGU9{cc&yzq5j%9x2zwtg6iMmIKz+FRraUHevdgKGq;u3iWWtO?#ZdViJkMP zJFQE;Qvm`4vbplFO(a*yWXb+}fNO$40mL3LQxmTAWNugsomv_yY&IJ$i#r{#&(~l9%h%$Gkjv=w1V3RBIw#$v1Ws! zS2Dxt<^78k8@&5i5FQMO5ajaDKd}ylUkg9AE};-oVzy%(Gnv|W*cxMZ;+Q*}8R#L$wrI6k#Y3sS`8DpRWi zK}Lj7Zz->dR(K8EBOq~vX{*+qLMR@0yqYgpo)a=}q}q;2$o=?%VTALM!g^A3!JX?? z59!j(A-kQ>P7JO0=+)3g(J%j@px2#Z$e%B7B0qbk->_igBn8U%bY{NU|08!3w_4(70>^$`-ko&)Ll`g9m{?ZSqvt_p z!P(wU?ktQx$=t%+)UV~*WB1E+#xth*DMJna@s{ukJ3?RJe-KJ|dNPp0A zkSAf+7~TXvIH=-_rM-l&nJER`Z@W7bIcK!?4Rv~wqY{|*rO(J1QT9sUo!Za+7f-j^ zHINYuF8~U3H9_Vv#j@7G**o_Mexk!~!POV`{%UG6pOro>Egx(j@()**B+zK-CBH&c zkh=cjSiL1FjZ{y^*^L`4gVFxwx3Z&_G&3=+gkhAPDY-Gp86o0^)F#~cep$7$kKxT9 zXIf7GHyOHs>2)g`uXr6WP+q-fz6fJQT1@3!s<(`gQoT6Zz21On{Y_4%^xs9yCh~jRE_%cN;cAdA3JU-M~F(N2joP(&23F z3YC0cH>@&9?8TudD9kg2UfS+Atv;tL2NpgB?DN(!i$dz26I|Nx`C&_Sdct$y?o;;8 zpF$Vm^`~=qefDdm>zcTZtxx^l?~61+R+C!Sc!Z-=b*-ln%@}ttccOjByPuSY}&HM z0x1x;9(DP;U51bDM;`kbX{1h_VXo#@z^dC$QGaGOjtN8P4ro2@2&ydgsTH0}NUYAP zJrBh?J2XTEDk&)ahIaM5TXNtWakIn3&bAhwjA)-*hqU;Dut;}8#cbAd>_m|6NAxj~ zjZSXqN)v$9+0u^sq2$uVb>f`_c$F!f@<*ZT;cD~aU({ZyNNFNub6}OgW*n|Mb_*Sd zwX>&TI)+rqQDk!R&@vDgv6g z+zVo-3(v2c#l|3Lm5A5!=Qphln;+}G$@z@_lM|=8Rz2P9B{vN`)9U-=0h@zkbB>G} z=50!?$6Hvr1hM5%3)OOPtCh#jdI%vD?#BM%`#ybLKnw0%;z81Nb+(Jap8`nu2HU> z^-HfhS})mO8`b^x&S-L->0QgaR@#M*bq#~{xk5gaA-AU{d5T>yXtI+SYP@l-v`QW^Tu#DhlqwN z<2PUWQWtFY-kcfw!h(!7s~Cnq(sW-I+U8a=3Vl#V6hF3o#d1Tn%_w$~LnZkYL2Cx^e zoL;wyEvKVqgg!cc{R#}-D^c0qT$}d5PJ6twg-1sKzILTtL(3XIR%-Izbs-k7{TWzC zYXWV$+UPLUD0rNpTOm-rL z(ma$tn}O}g&i#QKQbVDhZB2Rg2u&yA7D%twrl)!iwA-65gNfh^HmJm##D8t$*_kk6 zbhQfaIG+=v75S+05tpoF>9%MVE3?=6v#_P59&g4odGGpa^LssP}~KY@nxCsi*+$+eJXt`K!{|xk9GgN;K?MeYSp{YNx1_i__}C>XKG5S)-}l z<;j;A!0C%ij?onwrIQHQ^oQ6~fLG%PVqCYL%fFg&u!rR)f~^*rL?&&HLmM1&dA>DE z5=K_I?H_dssB~cRrrI7PO6U`~Ij3~$itU$nbhb`?O)GlDr8V+(V|n;RgLf8wzx+(M zHIoA>x!b+S4Br&9>6E7^V?KIHBQH@=WDx6viIJj{r&jJGmUsV zJ1+g7+(NmnIKvSO;MB?u=H(kk0`Ev+l`mPIh1`@$qSJU2Ki^L1d4SX>8s;e9n70dQ zLo`Gs54veYV0pS&2M+Pa>!`aZC0Q?k9#3_rG(T8h{u|G7={wqq?cMz#kRTg>#4O%0 z{zjM0{Karsk#H&NkXnLPn+EX_IO5A|C4-Ze^6289DZrV&t(Xb@u;+8&)$7r^$t`c6 z3FdPQY12iQ$EWm7^FG@{^0a&=2#X-dB03H;_mrgGAVw4nO+z&?)dfq$?}sj`xcJ*N zD#ZyVKnS%x&M*~;)719{Y-a>aP7PIeHEs4>=Om0p4!}}x2^2&Ir#)`3!t<}xX~u`R z2oa`!`Ym=;16laD4i>8B1?p4Ccim`;0Cj5hxnY0_n6HXytZi@wrVVLE215>YNygag z;TvD+X&-c!S-eQ?uZSE|XwaE;FRfSKWUAd+r|Y~c)3dy>Eh{%(Z-l~ngu67bXF|S@ z;`$LF{E$CqP>1bwZq^PlX%#H${dsL=INj)(XZAf`-XD$+q7%Uc75JurNM~){Wu-~@4 z(jl*K+tCuYu)|+axSoYp5BNE9=D26}%n!oD%(GTiE?{LW>p{LztL|H6Xld0?pMBRC z4kMc09!|E<@t{~wHsd?Ow z63?-fsI#^*ywPU7*yTWaH~LUQx;RXl3)m)-MQ;aHJDR<8c*I#?!fuPr4GCF*+tpBXl79_ror7X8y8zJt)OY zMnHe3#}IprIBBevi@SYG0)0IZ4rosKim~Gfuw(JE+dB1@*3=41gVf~bLN>=?;7am> z%SdSQWG)D-T)P=^jpOQuev;@@>x@6-^|)a!CKOK+gC(op54KK0g|fQd7g^u9wZFU` z6Hv;^ct4$f+3oqH+jd=!{1ER2MR^veB5?&`2|bA2t!O{`D`xn<0BS>|O?}~9K~4t; zm9v}yZd`8VmF?D)9I2Lpn)WS}i@~Y)Ko1R*v!5bsOuz!CfSe5+6Ql;0b!$_nCv~ql z`8aHql3S*~sA%rGmoZV~(N*M+w^2>KG5l~pB^AvK zIhek}P-l-tYu=yP>VV!1?8q^j!85`wHQ?k7U(%uTYy`@wB}jHgpkx6;nbyi0xeNUG%Y3y}&!h<}l7* z`Z=|*xx`p>Fp`4rfIf0t+e9_F*kVm854-^k+7W6qbfO1p16 zkItI3?Laj7RvPE(gHnquC&wG}=WS=Nucj^rRNY7%V|-cEC2hH6X}QvnQ7i2*oyt61SReC`w6C*fHj*~`;{9Iu(}&y_%Ge#wObe{p6C1(Lr=R6IJ;^M1 zQxx?XB|sNb33uGruIe7dYkfbfV&51etH9au+VsM&AIK@`5zm^s`sG7`rPFV~o+B#I z=S(Lfx+MaSU&1eQ-XH%bYbM?1jCn^ZzVVLeg&k9;U}AV__^Rt;d2@vox`C0$8}G5C z)|oI>rK&Eon669%Q#uDgzjYrs_QkZQC6y<{{UUC6q*yxh_saO-@WXR8<*5ju^-*Si z%dQ)5AP@l>?J}ft*s+&5PwsF|6V_N+RsxfE@IoC69K6tDPKmdRbtNb2WK(qMlw*mb zC##ADf9>8=?1h_w_Zs#)lNqK1Ae)wb-4hM-QNOK3}u;+oPC-~kKay2}~2k@o^9T4vQ){-{Bc{H0&K@}FiO zvN6y!nP$qh?)O}UB5J+uLxx^I;CN;>_u`^Z?xDNYv?Vo=yxvyk%ht927U8f5H?8)C zMyVaUuY5zuJ}m&hnPjwG^-}~ewDhUZ=m|yId#~f5I1t`Ta9t6)5OQ zs%4h$h|bRamIat{r!P)tlCtG%Fo=T{JbHG-_oW}7n?s;Nc0-EPbTL{1p-CW)%iXl% zSsH8JqF6=nF5RDrU?tP06-rA5ceM4U{fbcg-h&W3PeXaL0o7!`XKqtFs%|NR z9L+_=F!jruDj7Ul?q@%$Cr|}E#>4q^SHJLMpJPW0MIL)r?MCG=EBl(IV7oBD(1;S>X@N1^*uC5e`CmGl@^#}0x*A0{rDOTS zbpql8bU$0TbQW`q6;V19Q|F47@I`!4iXQ#mzZI*-<~zc^tHxGnvP#QtPI22$K`SuE z;9QS`&nIWE7HEy*L43T(?x*9A<+7kHqTJU~dCzKg&y zd18Kk*JvuadRvyKJpM_*l$!T+CvYVEV|Br<_LQ}hXXrfSA_r8FyTT$7S*^QuA8}8~ z#_nB5t^pKmTxMT2o!4@T@ct3kCHYGZoGI>S-@eq}0jctibJBNOT?A7{LiJ2zXFMjO zPJaw9z1+Rw-^ipwvxa)ws2Pv;Ts1L%GuCqBmF<^Vd7eP>Yu7d@%32Z$wku>$J@`E#K zY(MzWYv0AzI^)7C9EBeX=7Rhd8D2(YTK9@;_a!h3BCzG0kgneSK;ev8*Z0xWXfT{y zZp-{sj-}S9*+r3ZOgr!e*b(^H3WK=gDR22ZBJ5sdr%q#Rw{#Zq-PD;9- z^g~Hl$Fim3Xf|?7AxK^d4p7|-hjb&NTYie4{$ctO)tTM~k?#i%MYN`h=I^3J7J z3J#lw1%vHf?*k^oK9-4PcagcTuEoSm*lUo4$gU@iV%snBYQkO(%^@&SGN*VH!*V9G zfzy!(cdX(e=6@6 z@vkY*75J{snN(O+*{Cd}aT_x1XXM4}In&T{a?R+OnxW7FgNH%1*JB=wkO4IeXJ0u* z&V~E134Bv1hDB61*slF(EHSm;`{-G3*a9YQHL|1e)LLXm_tDQm_2>AYt2e*LnBDk+ zI>J7eQnai-D`K>3drljvM`&%fz1U>f^LtVUf0pO)KncZ3N3$2Hw?WW=z1iQ3Mc3fD zvC|WddBT|#k{ZA7D-Q@!$@Z|r*>)aZYw5ct6JC2m!0Tq*P3^_nANc31-7lW=Adl@5 z()))aOlDpnEG@q}q(TWKgla9BzRmngt=Zin35-M6+9Hn=p)yU!d4~jObHH=o)@vvM zTP1zM<>(I=aK4Uv^vasAW2+LtmNTwV0xfs*@i(Pr_C6ePd!BwAXDS^ipGW}Tn+D+F z2}uI;v38UO2@;9}qNrTD(PYk@9x&k5{c!?|h~-4@B#o$V)z=DdWaj62G!sy4jS(cI znB(iFaRjL72%G^vc0vX`52hy4$|l!%nqy-@l;N-g;f5$wNLdBHY1G$y77`q zsL{;Z35(?kadTGQ2b?|4JC;};3T>b@`}^v;eh_tLsTh*iBGOXLPg$_l zO}|A#*ls!B3Sg0FxK^#OHXb#Wt&hsqL;`$}VR7DAMe~>t!g);s<=nx=E@;G41pC_F z{GYcD_EJ%9Q!QRx%{`;tu+EOhl9&qe zI&Gvw8oI?k*T^n%bChJsN!{%F0mi)BuchzXCA8Y0kWEAB+xDJe6Udke7-XzPUw(a1 z^_0bfst8)q(T7w2+~Pc3@s=^^cx%qYV3kOJ%Skkc;tO+sX(?B3*TXS&THO_6x$1g~ zlp)zI5p->P7f+ZRW@7|LxlA`khXvIBgrWHOw^ z=2y4U3h$k{A1a;U-b?rYyg^PrPcIw&=ajCQn@V|f;ckYq|3k$ex>>=$um4A_h$W51 zvy>h)yh%`}*Zv0RwZDJg{_CFp?|iu5_&J|(eCEFcr%Xq?@4?glTN#>xo%7*;Uw8S< z|2J>`A6WC={;&A`IP*U>&35=fKSh3#HP!y<5uI)kc?O6UbepX_F@MZ<96oE^Y76Kf zNPN+Uc$WU9F~2eW*Kd3MPN^;0>v(@~4!GY!%)9;Q`jo? zZIQR~Pf;CVpkr_c-Ez=ncZx7`F}ar@r7a@U-(h$BR@3pRIrD$+7nXmX&hA#epqcUl zVT!hMKU7Fd#<)G0`ZvX3{|*{M(dvqyQ0!&7qkm&HbV8Pb}E-*KsPKY=J@thfrZw9T6UNDx^Z1KAcvw zK-~%*bKGlU#$QSauD-7Ca9FMp-Ek5wY(6+m(O#{zqn1MFZT6!boD~dG4UUd3o8eIE zj6QfY%Q|a2>f~rrtQ`=fKOcie`4p|X#LYL`hi?=Sq+Yl@+2>jPrzSc z^YvF1cdOveLQhNiZ0>upCxCH3QlBGxg0;zQL z(@1G-6`|=0{%fHbAZY1HKM%ycAtv)@$rqc`mbj*v@YFT~_9VS$|3*)4_~qaBFv4_$CFeuzSk;k%i{=pqV>_Ds=s5YQ7D0zxR;$9e$)Ul5kvuxX{q5mkNlXh(~;T z$!mQzeDBsS`Y4N+>4dhT6oEMsEVbP~U^{88!1TF9;7oV1^p2s~AQ7Frf80%(UOhRA z4%IPz@o(^W1@6-E80$v;dvDS%p9~$4qEcUg=ooh`%j3B`Tc(sg&AnD|-;ZP#1azWg zo_0vElZ@cn%Cf#RS43&F3U`E!gj)6mrVOSmHN8Ipg=XYIQ=bu^Qgb%v2bUib@3FGd z=N$oTEPo*$kgDcKTv#*j;Qj~Fl3N?^ak#ElD(#Ft`(>KUHoc=1$ZSymCTs*->DE6menyf#j&;4^Fb0h6E# zO zR+v%IQnR9)_mXQ?qpp$4J&aeh)+-^&s$v|0wh>Wj`BlrX6FLFowV}_)alvj58mZJF zKRjw3z1dY2!z%{iL22G6eY%5E(ke`Ron4by#C3r_UA7bBSW9H+o?^h;co z^~M|rpPN-iwl9e~u1P9SoY+oBSlD44kO@7)y(aUKk){Gy_xMpuSI_qnf=^qr@^k2) zp4OXi?GLL8&%uj+dQbls>tPK)=?!;ij^wGU_5f)~G>9nr=B%X6UL%b`Hj}I>!@u(R z$@^CIl9E|!Hx)cndi)l6CuD4K6UKV7056B#tst*2`c9ubVVI7vZy(MES<;20>4Z-S zZ0nTnj8)uxxt{V#*yY|orjvXP_zW-YxJkxa^aoE3@?Sj>dJr~F!T1Q{*~vp5sWGHQ zJ8}NJ6B+%w0JoBswB7bRUA^OKng^VHCVtmrHHPKDv&b5d5% zk(HxIOy5$jxAa&qlJa)N(F-GzaZ1X!5B`~e{k16}4WIct?j=G`g8gG!f+ElEZF7Y# z9Znv03P&&C7`FtH@{V^SE`|Oh5F;qObP^Z}5KQID2x93h;&p}TN0XfbS7{5&F=@$1 zcEQJ)8PsX!4xa9RhrpyPyS$_rVnE8-iq!_Kg2|2C%6X^uo7_1)b`&bPj`S5kDL)Oql}PQ; z#(6Wpx*ZT-vT7-dG?(+$l;q{m$j)^pq!dA{kaR(Dix~U$QnkI!tYP0F)LPC*ug;u! z11y(Bhc94)YJsRYijp`u8Y}AfD@>9T`FD<|%xmOeSi%y`&5G>`3p`qbn}KmMqT*&F&vX*JBT@Z9ImTVfPJsQ+B=`hI8ZA!W_(8;3waQyl%;4u3L^TIa{+)oQ^kKl1v~N9TK8{v99q z==wGc5U=1k57|=tlpJ48P>zR(%=}~6OK+US$&|CMbI^{$c#-MU75;bQ{!cx$)I`c@ z>4RG^VcK1-qeB6g87<;cL2oZwjM9<0gE%s-cJfnbHK|wQ|bbB_9!bWWdqv9 zvKzubkN)#rTB?9{^acI7=MQz3aJe=DwXtoOnavaa+Ux}@!2$G3I8 zf30X_f2i6Wt89XQAtro92r)+YcE2kf`I{s^RUFP0c@UCyVO)(arct`QQ;vaSbS&4& zX%pdPQF~jZbKcz%VM1F|ViAyqsEm_J%J=z`yohg2+u?twCi`=SgYUr>TWFRFt!kV$ zPS(#g{h;Jdb2T5FY=ln4W^_mcsrjr zVM_<7AH?sl#ONB72imIBQ*KolSW+51^Pe2;{!fnTDY$9KBg0avAQ2vd->LY}AmHAs zTm0T9`-2{=jhS2qj4Q)8sD&%#s774*X964Przwjm<2-#7d|HLhPD?o8m97;h{V{#Y zk{-UQ_x*NLSOJNV9Y-VuBmc&kbatrGObB& z+@w`95~@6u9^1z-%KR_(-aD$P?Q0tif*>lO@KZ#p1yQPk^o}A*Rp}iM0@4KxEd)?d zj(TX)Yg7cJh8lW85kUe(Kx%-1lmHlb-+RaS#&_?y`;UyU2gzPp zYpyxx^UP$BR4jrN8VHfk#6?rli_m*_A z2QF`SDeUCNQh7z65G5GFbIA)$P`CaKT=O9(!7dc`+x~ z1=zV~E)NYB6TQ7Z?%lj-`r*wL*4>b6KYp%uB`jx*wM#VSv{?RCb6BkA{ox+Z?UL69 zK3@;UI=QzFWBIbbyZiL3U$FZQg-(E(RC`DPSepo~>Yzs;fmWAm^{*=`iVBhgow6#{-%YY zB2I!?cT-F1HRzUbn~5b07U9mu;S^Z}2JBoVdjyp>ix3!_Gg@i>ICaRgmh)`*$mUOH zD^(%p$xTt3gJVVz*UXQH?|io$>5%d!hEv$05~ve7gjxlGR8o4x5v)Nud1T;!23Iil zIP$kE;%c4_^^FhjU&!tvs}y;%RyZn!_5z(KFJ{2`Oaji1+F@B3<<=U}KWTkHsoWe`78sO8+xL6{WrTiSH|8TTGeG@XUO9Am6@QSd7YgNl{#wr#>>=t=7NK zTo-25wr-X)GLKIPUEc;P%-Hzf6T12*KWua3z}|p9>I)D^a0&*Z5Xi>jI1o`^?CtWf>=J%9Mf+P+B=(54vL2g!7}B_K1q71) z06L2M!0BavTd7Zv-hu2?k477~A}_@rMP<-O!T$|z*xhN0robvJaNEfg7_?;(&9cHQ zZ3WJ|vN8MBGZm=NHqOa`O|+9HTWqfYU|p4;Omu?+!K;oyrGFDWjfxJ_PM$mVOeJ-; zVV(SaNGpK3(L@N@1O}meisl?N1f?8CVG>xMj)BgTUY-MOvhQ?lXLfNNmh^~IV>iAU zY1L@_nPRV4N~R~32bQHo(iVEwAMwTLfqw^a+2lPiDB$?qC%!N0TPN4Hieh###$CzM zefN@HlVc9sz9Y9rE4HfS+cyj8C~|9iVXwotXup|13rvFdN|dJe^Fndz%|-!o^LAZe zHG$%z+;=DBBI$5jwE|t;3U6iPLAvplu$_+^m6p6Sb$#DFTRkT-mQ@ekDZjm<@C*5_ z`?Yl=8Mt~WF-R;<7v!gYc#f}AXEF293O0#L*X@j!Zp~rqA2hCd9=fmlOT2_U9_BGy zt-lwvSWL6BbzxNb)IYe83N|@WBR0RC)J7X)wWKYM#M|UyY4I_qJ82^1WIU z*Q9ouIZL)&Z=?QM(!y_=;C2$}QDz>Sn1aZkbv`&@uCDbw1*DPW`bqyUzN^US%HeWm zJQv7MQu-s?RB5sEH_5o4>f#^Civjb8iPBFJZ0KF#MSdub%mnRCws8+zux5k!ZBnTUGxs_X6ysT{*-tjmdZ^#j`D^J;p0GtF=l6H!vj5T6LMXLHlO zAp~-RWx4%sEDfxX`G|w=t4dK*2NRli-3HyUWw}XK;RWHdY~#M1V{4JF^JzD~H0)g; zpGaNMByW8%`X-QBY<<5>BCj#f`_(Q^sL~|Ii|!2DNoVIGP#4~^c`~P%9yD1(mWFp> z#DNAJqj<0TZ;Rwt30kYs6F2y_@{JilQ=epEue>Pe3q^Jre08PM>lJ6?Q)buk0CKbu}b*PL+fn|^N* z{Sf?JNzBRrHn)gns=EB&KWLakN}#N0({#X!)^*jg)~DilCpoO!gnP?oo+W3WGu=`Z z)8^MVSs49LbiNUjW#1H3eak*`lR({9SGc#KN3ObxeyK_qIWZv&$*pprQQG4xhuMe?*!LqmyC3&PHc3 zN3^`~E%FGOVM{gZXKH;S^x-Pb&-H`%a=w@)Avp3O(#Kq zPXXVk@;WNqTzRs}l^M!>Ms0q%I~;{p+)gDS@xqMFTR2KKNd<`D)MM2=SmK_$WEN^ZC!B5v{hFv`y7LTr*g6r*P}!Kzu-s=jtOw$SXof zG{jb0VmT6eQz!aA5>7!xD4H6B(4WwKg039U`Fj&33Rd{7%~0t3@x`sAMPZ;;W%JVE zkdF^(Tr2p)J*LD+DC+zSOfpiZlU6OcNGbzY#r;@q=Bw8YX&WT4h?HUcToGVW+|O z0qlIl&>+u04gKCO@VdlcCyz*H{9}Y~(h&cEMa2w;VB(nRhn5m+^op54iF2VK*XE{# z!ki1iF)GQWPL8>g|C}|bpD%h{wczBJ2VGV<7S`I& zrn&Y!7si!gzXyEZESfO>?8xH3+$@Qz8RlBxm^8HCiZ_M(Le+G3&h~)Yo}c+p%rAc~ z*?HW~P`X*MgG1dOd6^{iCWs)Q!`D+l`g-Se{NfNrHu;0pvs@27L_9mUfMQh`??kP= zdLGG3v*dB$W6(pY;c8BbFQx(I%$1hLc_@ueNvZS0uSUn9duhKi4%3o8*?&29Gt-Qf zzTP(-d86uBQqwoO_7whW_X`r7Bs zB3m9R_*ETX%ean7OmN(jnM1Vlm6t0K3Rr|6YX0$f0B?5y+7VCFy-*Q16G z2O>-BH1K!H`Iv}^-gGv(dcS?qoCPESccx{X@~*2E;SLYI)f1w~(8T^$j-%*Mex%7T zTtn#k6siap-=%d;qS<;zn)MlpM~a zcUo;fC1)}KvV91V!>bibOOFM<5%I9UMxi^st>!~kaNiM>T+}Nwm76CoLb7!FF^W^x z+!-#nPK;w09Stf?OZV+wI3i)t)CiRxpxd*HOMNmgb=hZr>cF9SUPVAIHO(n%49|?= z?k|Q+XGwlTt7v<_Ax<`uayJmCv-recVm>Ae9d_HZ_@{;+*B0(S)m1G`jg@`#X)8>Q zVejpIYirM&uo2?a-EEjZwi1~mQ8(um(ZRVVbFLOE-oBG8y^?F!q^1UrxSkWDX3esv zadbNG)HlriT@Afy;+x_Wb1<0r_^e!s>+ z%-gK(pPddJyrs@EsqiK&DrE>V9MQLHJpEg#h_7f#=dNxoFaP%#HJJ4)Jcj^fX`eLJ zxUnwhP$n(2=$EO$2rYcxuJsN&8Z?Jhd};H~DJ$dNg=A4x$B!e$B2pHcc3b=xF&EvE zLJrol@8gye8^p&hF0LuDst+SaF;H;Xj4HOn9;|ClzK2m;xo252eXd!Ry~-Q!W_v$! zZ;f*(DGBE9s^^tv#c6SB)-!{cK{0#SdKR;uL9h2kOGLU4FFj(s)fFC#yu^S``7FMa zLEcazwnqKBa=xC=);)D{u$o+LTDq(2^2M+1AN=+fAM1|w@8ux&i!SP|E^tJZ3FNRv z#p7@V$J@3l%oS0+pDuhch+r#-(q{W;;qV+(W;f8%DFL2FG`w6qR>q85g|FHC}sIzFqQz zi&+Q%{`x-&+Ao^<`i_IzGC6}B_o>$zO35Y3A$!ty(#bA}j>sN~=YzLGSCm~HX)mw7 z9}Q`{k4}`uR`yNG;_arx5-h^wwRO>i03e~8tl|&

HV^Zz8yRG$#MX+dYGgMMyvG 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 aTYsvO5DD^~3kyfTzIW&TZG@qF!v6vPvuy4F literal 19355 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 A^8f$< From 92e035e57c60272ba86643b21d4aa9286a0ecf73 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 21:04:13 +0000 Subject: [PATCH 38/59] Optimised images with calibre/image-actions --- assets/icons/Name=Training, Mode=Dark.png | Bin 1871 -> 1211 bytes assets/images/general/architecture.png | Bin 70369 -> 26019 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/icons/Name=Training, Mode=Dark.png b/assets/icons/Name=Training, Mode=Dark.png index 4f88c84ce83ff25639c2c89a453e348a1c9de7aa..b0b2f126adb7e3383162749fd2a0fb320573c4ba 100644 GIT binary patch delta 1182 zcmb7^`7@gd0EX$-w6=>C6USn;X_bwlkzz|zJ>p1$ej;QM)Dh>PiBLWGT9dX^%A%jN zREh}VNJm;F;;7bL)pZ52jI)SQt7)rY+pO8YV0Y%3dFGvYetzF-iq(HNaQjY0Mdf}9 z=&-9pfIG?AJ({L$Ln~jSl|r<#53Q_6D_j4a?Pz5kTKODp4>jfP#`_pVPj8hQXU?{_ zoBb*^E6F{i2ky1RVb79Mr0Ydlh3Aj|=t9k9Zh^C=ZV_|~U|&oV&|k;-z_Y6CBQmz^y{b+FhOorc{-qu3VZQZ1>E6!l&-nX=yXbHhb+Ab$ z^Xl8?#d2W0(`cW&W;Ax=x2>CG$WU;sx;hC^g+OaA;;VSux&mRneGAb%OWf`vHOHpy zXXIKx=mAcy#a41WmPX^4z=cZsyBSZ+WBlbV%a03H=0K*0Lj2-~svF<`ANswJ9W^e? z{JjZQkgh@(S_BEc!l}CR#lj%p&Hxh88q6GV;J9|3rX#auf2_ukWrj70eaBIwk5;d-4xu&!}<@O@A3M-W$60xjmAnDlrjsS zxvG9XoDg3~H!nW+DA@ z&wU0K4Sy9mIS_or&Os=fO|4Cmj3f%;D=p`&qP1L}0h?WUOF~&ME|lsw8S)Xp77~ZJ zO7-FEow5lwzfiMDerdCQLy-Oa2?CM&^aM-nJ;fK+u>IlW_>2JUh0c|1ynO^A6wLK*65!^8ftX z1p>AWvJkfVEe42Ql3K5pSDPF)z!~4ZqOq~CFw!Q~xp-4tE=V&)IK*_D8wHAixm1Cz zxRBIc9$SDvRt7HoC8{OSiT30VyUiXrp!y$y2vz%mOt+l_r0gk$D)KAMab7`Mgx}`4 z@Gw-|sUrNfVbYWnyFY-lt)-uag0EtduasU#LFs#tCG^}+pY8b>EuZ`WLZ}lk(;Dn} z&?dI!i3^Xv#;!`idzxj{D%9hP?h+@hH*Y@7`?SW%Hw~-gB@{^!VU%rju#-~WVIr|R SW60Wl6&0MbCsuIoV){Q1tUdt% literal 1871 zcmcgtYfzGD82zxDb3X(C5EET}L4UdKWYrYv>n>;5fbRQ9$-hhw z?TbfXjm7HjE${nbk74!2o1e;(%i`qA!c|i?aGW&Y6HOv9Af5xa0<)qqHii$I}+d2 z7zj>GI^YrYkj8KkPSy?cU%=Fod*kxOiuLHQ>v)vwMUuMQtHbHgwq#ptF(Zvmn$Gd+ zuszh^alS+VS>h%#Fa{CPw`$Mmhl>bmJq)8VcKh8sCFi)sS01QPD&KijSi8GuTXEgX zeOaBam+qAOWr2=Zew0xe;(eY(zi~S*imEfIDnT>5?*JYF^Ncbvh(0JX^h{pM{BP` zO@NvKqJhx3TJL`YsZPCe5?=^Q-qr3h7k|Nq=4rLdq<~K_GWD%^8ffKZX~BtE(riA# zf6jY*lli7^jz9^%hk~IJQA3S{DUouH<93)=zmqX*n`p*G4f9j{CC^xUtXpSN)kImq zNcN~=eL4dDhTg_5x|#EI%)*NsGLnq&snU!G$j-J}3mAeA_mA?m>(Q~7+Sp~y6(7y3 zVsl-+TZOr`JLX&qk+_P9kJL(PCd~VIMYqdD%dEeY=u>CBrPh&!{Mue}63J|0 znPzZSG>ChgsZJZVV&__ma)a}djr2^z3_pA+~hQu=KDRdB1bKXIlP$}$L|?9vJH8rE?PeK($6TQY zRPkJ#?24`Y+Kp`y*X6?VWy~oOGgJOhBasd48Ly#nOLKIm#F<^uC4ivTE|0WA z7-NmOdg;u54%~wggyAgG#=o=G_VO%F zM(Gs@$$>oWhS=DdXb&mfcYKe6ImWY8B})0P>lQXcX^|ULWi7)29XWR9v~YOB}K1*RNxM8N^EvfEOk zjb;8kxryjQNrPD?hMh}Gz3kveDVP?e3eq90R$0e$Yw@J+hXg>3m;0^#Az6O|zani_ diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index b1f67d6399f9e749c5bf8e0f4fbf9450c2288440..a96f9ce586a2d900df029942c1a43cc23d88ae8d 100644 GIT binary patch literal 26019 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

HV^Zz8yRG$#MX+dYGgMMyvG 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 aTYsvO5DD^~3kyfTzIW&TZG@qF!v6vPvuy4F From d28d38b0765d5bdff7f970cfc1ee76fc06dfddac Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 17:15:03 -0400 Subject: [PATCH 39/59] Adds public preview verbage --- content/en/_index.md | 2 +- content/en/guides/training/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/_index.md b/content/en/_index.md index 9d8751690f..769f959ec4 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -79,7 +79,7 @@ Use [W&B Inference]({{< relref "/guides/inference/" >}}) to access leading open- ### Post-train your models -Use [W&B Training]({{< relref "/guides/training/" >}}) to post-train large language models using serverless reinforcement learning (RL). Features include fully managed GPU infrastructure, integration with ART and RULER, and automatic scaling for multi-turn agentic tasks. +Now in public preview, use [W&B Training]({{< relref "/guides/training/" >}}) to post-train large language models using serverless reinforcement learning (RL). Features include fully managed GPU infrastructure, integration with ART and RULER, and automatic scaling for multi-turn agentic tasks. - [Introduction]({{< relref "/guides/training/" >}}) - [Serverless RL]({{< relref "/guides/training/serverless-rl/" >}}) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index e6e8cf583a..dbb75aff7e 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -7,7 +7,7 @@ description: Post-train your models using reinforcement learning. weight: 5 --- -W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. +Now win public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. W&B Training includes integration with [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework; [RULER](https://openpipe.ai/blog/ruler), a universal verifier; and a fully managed serverless RL backend on CoreWeave cloud, so you can run RL training loops without provisioning, configuring, or managing GPUs and infrastructure. From 6532356beda143b3253712b70c4623daf84b514e Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 17:19:24 -0400 Subject: [PATCH 40/59] Feedback --- content/en/guides/training/prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index 4b25ed9998..cbd93a6f76 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -23,7 +23,7 @@ You need these items to access W&B Training: Get your API key at [https://wandb.ai/authorize](https://wandb.ai/authorize) 3. **A W&B project** - Create a project in your W&B account to track usage + Create a project in your W&B account to track usage, record training metrics, and save trained models. ## Next steps From c747dabff48c6c727386ee69563669497d8d4800 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 21:19:59 +0000 Subject: [PATCH 41/59] Optimised images with calibre/image-actions --- assets/images/general/architecture.png | Bin 26019 -> 23705 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/general/architecture.png b/assets/images/general/architecture.png index a96f9ce586a2d900df029942c1a43cc23d88ae8d..4a877d94cc3ec5b6a8a56ea90c10abe5459794c7 100644 GIT binary patch literal 23705 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 cBkbM%+i; Date: Mon, 6 Oct 2025 14:51:18 -0700 Subject: [PATCH 42/59] David edits (#1693) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Minor edits to content and a new "Using Trained Models" page. 📄 **[View preview links for changed pages](https://github.com/wandb/docs/pull/1693#issuecomment-3374283089)** --- content/en/guides/training/prerequisites.md | 2 +- .../guides/training/serverless-rl/_index.md | 10 +-- .../serverless-rl/available-models.md | 8 ++- .../training/serverless-rl/serverless-rl.md | 17 ++++- .../training/serverless-rl/usage-limits.md | 30 ++++---- .../serverless-rl/using-trained-models.md | 69 +++++++++++++++++++ 6 files changed, 112 insertions(+), 24 deletions(-) create mode 100644 content/en/guides/training/serverless-rl/using-trained-models.md diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index cbd93a6f76..6113b2eb5e 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -23,7 +23,7 @@ You need these items to access W&B Training: Get your API key at [https://wandb.ai/authorize](https://wandb.ai/authorize) 3. **A W&B project** - Create a project in your W&B account to track usage, record training metrics, and save trained models. + Create a project in your W&B account to track usage, record training metrics, and save trained models ## Next steps diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index c26c81f97c..9f9a06c372 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -7,21 +7,21 @@ description: Learn about how to more efficiently post-train your models using re weight: 5 --- -Serverless RL lets you post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn, agentic tasks while we handle the GPUs and infrastructure for you. Serverless RL gives you instant access to GPUs on a fully managed, distributed training cluster that elastically auto-scales to dozens of GPUs or down to zero instantly, matching your reinforcement learning (RL) job at every moment. By automatically splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL maximizes GPU utilization and reduces your training time and costs. +Serverless RL helps developers post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn agentic tasks. We provision the training infrastructure for you while allowing full flexibility in your environment's setup. Serverless RL gives you instant access to a managed training cluster that elastically auto-scales to dozens of GPUs. By splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL increases GPU utilization and reduces your training time and costs. -Serverless RL is ideal for: +Serverless RL is ideal for tasks like: * Voice agents * Deep research assistants * On-prem models * Content marketing analysis agents -Serverless RL trains low-rank adapters (LoRAs) and then provides you the ability to integrate them into calls to your existing LLM models, such as GPT-4.1. This extends the existing model’s training with data and hyper-parameters that you provide and gives you the ability to access the adapted model from a singular endpoint. You can also store versions of your adapters as artifacts stored in your W&B account. +Serverless RL trains low-rank adapters (LoRAs) to specialize a model for your agent's specific task. This extends the original model’s capabilities with on-the-job experience. The LoRAs you train will automatically be stored as artifacts in your W&B account, and can be saved locally or to a third party for backup. Models that you train through Serverless RL will also be automatically hosted on W&B Inference. Serverless RL uses a combination of the following W&B services to operate: * [Inference]({{< relref "guides/inference" >}}): To run your models * [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training * [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters -* [Weave]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop +* [Weave (optional)]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop -Serverless RL is currently in public preview. We only charge for the use of inference and the storage of artifacts. We do not charge for adapter training during the preview period. We will make training pricing details available when the service is released for general availability. +Serverless RL is currently in public preview. We only charge for the use of inference and the storage of artifacts. We do not charge for adapter training during the preview period. We will make training pricing details available in the next few weeks. diff --git a/content/en/guides/training/serverless-rl/available-models.md b/content/en/guides/training/serverless-rl/available-models.md index 056a5e498c..6dcba1f521 100644 --- a/content/en/guides/training/serverless-rl/available-models.md +++ b/content/en/guides/training/serverless-rl/available-models.md @@ -3,13 +3,15 @@ title: "Available Models" linkTitle: "Available Models" weight: 20 description: > - See what models you can use with Serverless RL. + See the models you can train with Serverless RL. --- -Serverless RL uses one open-source foundation model for training. +Serverless RL currently only supports a single open-source foundation model for training - more to come soon! + +If there's a particular model you're interested in getting support for, please message us at support@wandb.com. ## Model catalog | Model | Model ID (for API usage) | Type | Context Window | Parameters | Description | |-------|--------------------------|------|----------------|------------|-------------| -| Qwen2.5 14B | Qwen/Qwen2.5-14B-Instruct | Text | 32K | 14B (Active-Total) | High-performance Mixture-of-Experts model optimized for structured reasoning, math, and long-form generation | +| Qwen2.5 14B | Qwen/Qwen2.5-14B-Instruct | Text | 32K | 14B (Active-Total) | Dense model optimized for throughput and quality | diff --git a/content/en/guides/training/serverless-rl/serverless-rl.md b/content/en/guides/training/serverless-rl/serverless-rl.md index 4f5aff6cde..35fc69789d 100644 --- a/content/en/guides/training/serverless-rl/serverless-rl.md +++ b/content/en/guides/training/serverless-rl/serverless-rl.md @@ -4,6 +4,19 @@ title: Use Serverless RL weight: 10 --- -Serverless RL is currently only supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the W&B Training API. +Serverless RL is supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the W&B Training API. -See [OpenPipe's Serverless RL quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. See the [W&B Training API]({{< relref "ref/training" >}}) reference for more information on the Serverless RL's endpoints. \ No newline at end of file +### Why Serverless RL? + +RL is a set of powerful training techniques that can be utilized in many kinds of training setups, including on GPUs that you own or rent directly. In fact, much of the code that makes Serverless RL so effective is already open source in the [ART SDK](https://github.com/openpipe/art). So why use Serverless RL? + +* Lower training costs + * By multiplexing shared infra across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. +* Faster training time + * By splitting inference requests across many GPUs and immediately provisioning training infra when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. Shorter feedback cycles means more chances to find and fix bugs, quicker results, and happier developers. +* Automatic deployment + * Once you train your model, you need to somehow host it on a public-facing service that serves traffic at a high concurrency. Serverless RL solves that problem for you by **automatically deploying every checkpoint you train**. That means you can go right from training your model in a sandboxed environment to deploying testing it locally, in staging, or even production. + +### Get Started + + To start using Serverless RL, check out the ART [quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. To learn about Serverless RL's API endpoints, see the [W&B Training API]({{< relref "ref/training" >}}). \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index 5a216e5cc4..b4e93372a6 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -8,35 +8,39 @@ description: > ## Pricing -Pricing has three components: inference, training, and storage. Learn more: https://wandb.ai/site/pricing/reinforcement-learning +Pricing has three components: inference, training, and storage. For specific billing rates, visit our [pricing page](https://wandb.ai/site/pricing/reinforcement-learning). ### Inference -Trajectories are batched at each training step and, together with rewards from your reward function (often an LLM-as-judge), are used to update a training copy of the LoRA. The training workload runs on a separate GPU cluster within Serverless RL. During the public preview, training is free. Pricing for training will be announced at general availability (GA). - -* Check the [model-specific costs](https://wandb.ai/site/pricing/inference) for more details. Learn more about purchasing credits, account tiers, and usage caps in the [W&B Inference docs]({{< relref "/guides/inference/usage-limits/#purchase-more-credits" >}}). +Pricing for Serverless RL inference requests matches W&B Inference pricing. See [model-specific costs](https://wandb.ai/site/pricing/inference) for more details. Learn more about purchasing credits, account tiers, and usage caps in the [W&B Inference docs]({{< relref "/guides/inference/usage-limits/#purchase-more-credits" >}}). ### Training -At each training step, Serverless RL batches trajectories and combines them with rewards from your reward function (typically an LLM-as-judge). These batched trajectories and rewards are then used to update the LoRA adapter weights on a training copy of the base model. All training workloads run on a dedicated GPU cluster managed by Serverless RL. +At each training step, Serverless RL collects batches of trajectories that include your agent's outputs and associated rewards (calculated by your reward function). The batched trajectories are then used to update the weights of a LoRA adapter that specializes a base model for your task. The training jobs to update these LoRAs run on dedicated GPU clusters managed by Serverless RL. -During the public preview, training is free. Pricing for training will be announced at general availability (GA). +During the public preview, training is free. Pricing for training will be announced in the next few weeks. -### Model Storage +### Model storage -Serverless RL stores checkpoints of your trained LoRA heads so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes free storage. +Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB free storage, which is enough for roughly 30 LoRAs. Deletion of low-performing LoRAs is encouraged and made easy through the [ART SDK](https://art.openpipe.ai). -## Concurrency limits +## Inference Concurrency limits -If you exceed the rate limit, the API returns a `429 Concurrency limit reached for requests` response. To fix this error, reduce the number of concurrent requests. -W&B applies rate limits per project. For example, if you have three projects in a team, each project has its own rate limit quota. The default rate limit is 2000 concurrent requests. +By default, Serverless RL currently supports up to 2000 concurrent requests per user and 6000 per project. If you exceed your rate limit, the Inference API returns a `429 Concurrency limit reached for requests` response. To avoid this error, reduce the number of concurrent requests your training job or production workload makes at once. If you need a higher rate limit, you can request one at support@wandb.com. +{{< alert title="Note" >}} ## Personal entities unsupported -Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this only applies to legacy accounts. +Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this advisory only applies to legacy accounts. ## Geographic restrictions -Serverless RL is only available from supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). +Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). +{{< /alert >}} + + + + + diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md new file mode 100644 index 0000000000..c64745b985 --- /dev/null +++ b/content/en/guides/training/serverless-rl/using-trained-models.md @@ -0,0 +1,69 @@ +--- +title: "Using Trained Models" +linkTitle: "Using Trained Models" +weight: 20 +description: > + Make inference requests to the models you've trained. +--- + +After training a model with Serverless RL, it is automatically deployed and ready to be used in production. To make a request to the OpenAI-compatible endpoint, follow the instructions below. + +### Overview + +When making inference requests, set your base url to `https://api.training.wandb.ai/v1/`. As you did during training, use your W&B API key for authentication. Finally, set your model name to match the following schema: + +`wandb-artifact://///:` + +As an example, let's assume that your W&B team is named `email-specialists`, and your project was called `mail-search`. If you named your model `agent-001` and wanted to deploy it on step 25 (presumably because that step did the best on your evals), you would set the model name in your chat completion requests to the following: + +`wandb-artifact:///email-specialists/mail-search/agent-001:step25` + +This tells W&B Inference exactly where to find your model when initially loading it for inference. + + +### CuRL + +``` +curl https://api.training.wandb.ai/v1/chat/completions \ + -H "Authorization: Bearer $WANDB_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "model": "wandb-artifact:///my-entity/my-project/my-model:step100", + "messages": [ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": "Summarize our training run."} + ], + "temperature": 0.7, + "top_p": 0.95 + }' +``` + +### OpenAI SDK + +``` +from openai import OpenAI + +WANDB_API_KEY = "your-wandb-api-key" +ENTITY = "my-entity" +PROJECT = "my-project" + +client = OpenAI( + base_url="https://api.inference.coreweave.com/v1", + api_key=WANDB_API_KEY, + default_headers={"OpenAI-Project": f"{ENTITY}/{PROJECT}"}, +) + +response = client.chat.completions.create( + model=f"wandb-artifact:///{ENTITY}/{PROJECT}/my-model:step100", + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": "Summarize our training run."}, + ], + temperature=0.7, + top_p=0.95, +) + +print(response.choices[0].message.content) +``` + +If you have any trouble getting started, reach out to support@wandb.com! \ No newline at end of file From cf5db6505bcc65aa9eaa22480f970713a3d03bb9 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 18:54:07 -0400 Subject: [PATCH 43/59] updates to David's copy and shuffles some stuff around --- content/en/guides/training/_index.md | 2 +- .../guides/training/serverless-rl/_index.md | 17 +++++++++++++-- .../serverless-rl/available-models.md | 6 +++--- .../training/serverless-rl/serverless-rl.md | 17 ++------------- .../training/serverless-rl/usage-limits.md | 4 ++-- .../serverless-rl/using-trained-models.md | 21 +++++++++---------- 6 files changed, 33 insertions(+), 34 deletions(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index dbb75aff7e..e68c98c90f 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -4,7 +4,7 @@ menu: identifier: training title: W&B Training description: Post-train your models using reinforcement learning. -weight: 5 +weight: 6 --- Now win public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index 9f9a06c372..5ba835f893 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -7,7 +7,7 @@ description: Learn about how to more efficiently post-train your models using re weight: 5 --- -Serverless RL helps developers post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn agentic tasks. We provision the training infrastructure for you while allowing full flexibility in your environment's setup. Serverless RL gives you instant access to a managed training cluster that elastically auto-scales to dozens of GPUs. By splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL increases GPU utilization and reduces your training time and costs. +Now in public preview, Serverless RL helps developers post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn agentic tasks. We provision the training infrastructure for you while allowing full flexibility in your environment's setup. Serverless RL gives you instant access to a managed training cluster that elastically auto-scales to dozens of GPUs. By splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL increases GPU utilization and reduces your training time and costs. Serverless RL is ideal for tasks like: * Voice agents @@ -15,7 +15,20 @@ Serverless RL is ideal for tasks like: * On-prem models * Content marketing analysis agents -Serverless RL trains low-rank adapters (LoRAs) to specialize a model for your agent's specific task. This extends the original model’s capabilities with on-the-job experience. The LoRAs you train will automatically be stored as artifacts in your W&B account, and can be saved locally or to a third party for backup. Models that you train through Serverless RL will also be automatically hosted on W&B Inference. +Serverless RL trains low-rank adapters (LoRAs) to specialize a model for your agent's specific task. This extends the original model’s capabilities with on-the-job experience. The LoRAs you train are automatically stored as artifacts in your W&B account, and can be saved locally or to a third party for backup. Models that you train through Serverless RL are also automatically hosted on W&B Inference. + +## Why Serverless RL? + +Reinforcement learning (RL) is a set of powerful training techniques that you can use in many kinds of training setups, including on GPUs that you own or rent directly. Serverless RL can provide the following advantages in your RL post-training: + +* Lower training costs + * By multiplexing shared infrastructure across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. +* Faster training time + * By splitting inference requests across many GPUs and immediately provisioning training infrstructure when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. +* Automatic deployment + * Serverless RL automatically deploys every checkpoint you train, eliminating the need to manually set up hosting infrastructure. Trained models can be accessed and tested immediately in local, staging, or production environments. + +## How Serverless RL uses W&B services Serverless RL uses a combination of the following W&B services to operate: diff --git a/content/en/guides/training/serverless-rl/available-models.md b/content/en/guides/training/serverless-rl/available-models.md index 6dcba1f521..a5604f652d 100644 --- a/content/en/guides/training/serverless-rl/available-models.md +++ b/content/en/guides/training/serverless-rl/available-models.md @@ -1,14 +1,14 @@ --- title: "Available Models" linkTitle: "Available Models" -weight: 20 +weight: 40 description: > See the models you can train with Serverless RL. --- -Serverless RL currently only supports a single open-source foundation model for training - more to come soon! +Serverless RL currently only supports a single open-source foundation model for training. We will add more models soon. -If there's a particular model you're interested in getting support for, please message us at support@wandb.com. +If there's a particular model you're interested in getting support for, email use at support@wandb.com. ## Model catalog diff --git a/content/en/guides/training/serverless-rl/serverless-rl.md b/content/en/guides/training/serverless-rl/serverless-rl.md index 35fc69789d..c141c03a23 100644 --- a/content/en/guides/training/serverless-rl/serverless-rl.md +++ b/content/en/guides/training/serverless-rl/serverless-rl.md @@ -1,22 +1,9 @@ --- -description: Learn how to start using it. +description: Directions on how to get started using Serverless RL. title: Use Serverless RL weight: 10 --- Serverless RL is supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the W&B Training API. -### Why Serverless RL? - -RL is a set of powerful training techniques that can be utilized in many kinds of training setups, including on GPUs that you own or rent directly. In fact, much of the code that makes Serverless RL so effective is already open source in the [ART SDK](https://github.com/openpipe/art). So why use Serverless RL? - -* Lower training costs - * By multiplexing shared infra across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. -* Faster training time - * By splitting inference requests across many GPUs and immediately provisioning training infra when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. Shorter feedback cycles means more chances to find and fix bugs, quicker results, and happier developers. -* Automatic deployment - * Once you train your model, you need to somehow host it on a public-facing service that serves traffic at a high concurrency. Serverless RL solves that problem for you by **automatically deploying every checkpoint you train**. That means you can go right from training your model in a sandboxed environment to deploying testing it locally, in staging, or even production. - -### Get Started - - To start using Serverless RL, check out the ART [quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. To learn about Serverless RL's API endpoints, see the [W&B Training API]({{< relref "ref/training" >}}). \ No newline at end of file +To start using Serverless RL, see the ART [quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. To learn about Serverless RL's API endpoints, see the [W&B Training API]({{< relref "ref/training" >}}). \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index b4e93372a6..b48ac9dd27 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -18,11 +18,11 @@ Pricing for Serverless RL inference requests matches W&B Inference pricing. See At each training step, Serverless RL collects batches of trajectories that include your agent's outputs and associated rewards (calculated by your reward function). The batched trajectories are then used to update the weights of a LoRA adapter that specializes a base model for your task. The training jobs to update these LoRAs run on dedicated GPU clusters managed by Serverless RL. -During the public preview, training is free. Pricing for training will be announced in the next few weeks. +During the public preview, training is free. We will announce pricing for training soon. ### Model storage -Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB free storage, which is enough for roughly 30 LoRAs. Deletion of low-performing LoRAs is encouraged and made easy through the [ART SDK](https://art.openpipe.ai). +Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleteing low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai) for instructions on how to do this. ## Inference Concurrency limits diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md index c64745b985..3deedf986d 100644 --- a/content/en/guides/training/serverless-rl/using-trained-models.md +++ b/content/en/guides/training/serverless-rl/using-trained-models.md @@ -1,34 +1,35 @@ --- -title: "Using Trained Models" -linkTitle: "Using Trained Models" +title: "Use Trained Models" +linkTitle: "Use Trained Models" weight: 20 description: > Make inference requests to the models you've trained. --- -After training a model with Serverless RL, it is automatically deployed and ready to be used in production. To make a request to the OpenAI-compatible endpoint, follow the instructions below. +After training a model with Serverless RL, it is automatically deployed and ready to use in production. To make a request to the OpenAI-compatible endpoint, follow the instructions below. ### Overview -When making inference requests, set your base url to `https://api.training.wandb.ai/v1/`. As you did during training, use your W&B API key for authentication. Finally, set your model name to match the following schema: +When making inference requests, set your base URL to `https://api.training.wandb.ai/v1/` and use your W&B API key for authentication. Finally, set your model name to match the following schema: `wandb-artifact://///:` -As an example, let's assume that your W&B team is named `email-specialists`, and your project was called `mail-search`. If you named your model `agent-001` and wanted to deploy it on step 25 (presumably because that step did the best on your evals), you would set the model name in your chat completion requests to the following: +For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25 (presumably because that step did the best on your evals), you would set the model name in your chat completion requests to the following: `wandb-artifact:///email-specialists/mail-search/agent-001:step25` This tells W&B Inference exactly where to find your model when initially loading it for inference. +The following examples show you how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://openai.github.io/openai-agents-python/). ### CuRL -``` +```shell curl https://api.training.wandb.ai/v1/chat/completions \ -H "Authorization: Bearer $WANDB_API_KEY" \ -H "Content-Type: application/json" \ -d '{ - "model": "wandb-artifact:///my-entity/my-project/my-model:step100", + "model": "wandb-artifact://///:", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Summarize our training run."} @@ -40,7 +41,7 @@ curl https://api.training.wandb.ai/v1/chat/completions \ ### OpenAI SDK -``` +```python from openai import OpenAI WANDB_API_KEY = "your-wandb-api-key" @@ -64,6 +65,4 @@ response = client.chat.completions.create( ) print(response.choices[0].message.content) -``` - -If you have any trouble getting started, reach out to support@wandb.com! \ No newline at end of file +``` \ No newline at end of file From 63c0a2f70a343f91d2224df7e7ff5319625218cb Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 18:56:15 -0400 Subject: [PATCH 44/59] spell check --- content/en/guides/training/serverless-rl/usage-limits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index b48ac9dd27..dbb4ce836a 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -22,7 +22,7 @@ During the public preview, training is free. We will announce pricing for traini ### Model storage -Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleteing low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai) for instructions on how to do this. +Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleting low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai) for instructions on how to do this. ## Inference Concurrency limits From 3c5d387a44a262e138adbe40dada8fb15633ecb8 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 19:00:53 -0400 Subject: [PATCH 45/59] spelling error --- content/en/guides/training/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index e68c98c90f..f48a9ba636 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -7,7 +7,7 @@ description: Post-train your models using reinforcement learning. weight: 6 --- -Now win public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. +Now in public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. W&B Training includes integration with [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework; [RULER](https://openpipe.ai/blog/ruler), a universal verifier; and a fully managed serverless RL backend on CoreWeave cloud, so you can run RL training loops without provisioning, configuring, or managing GPUs and infrastructure. From 1d8c8727b942f6285cf1a8ce6906ea6337f2d950 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 19:51:02 -0400 Subject: [PATCH 46/59] Reweights top level items in left-nav --- content/en/guides/core/_index.md | 2 +- content/en/guides/hosting/_index.md | 2 +- content/en/guides/inference/_index.md | 2 +- content/en/guides/integrations/_index.md | 2 +- content/en/guides/models/_index.md | 2 +- content/en/guides/models_quickstart.md | 2 +- content/en/guides/quickstart.md | 2 +- content/en/guides/training/_index.md | 2 +- .../en/guides/training/serverless-rl/using-trained-models.md | 4 ++-- content/en/guides/weave/_index.md | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/content/en/guides/core/_index.md b/content/en/guides/core/_index.md index 4a26ba3e19..da95cd63f0 100644 --- a/content/en/guides/core/_index.md +++ b/content/en/guides/core/_index.md @@ -3,7 +3,7 @@ menu: default: identifier: core title: W&B Core -weight: 6 +weight: 70 no_list: true --- diff --git a/content/en/guides/hosting/_index.md b/content/en/guides/hosting/_index.md index 525ec9b574..9ffc064abd 100644 --- a/content/en/guides/hosting/_index.md +++ b/content/en/guides/hosting/_index.md @@ -3,7 +3,7 @@ menu: default: identifier: w-b-platform title: W&B Platform -weight: 7 +weight: 80 no_list: true --- W&B Platform is the foundational infrastructure, tooling and governance scaffolding which supports the W&B products like [Core]({{< relref "/guides/core" >}}), [Models]({{< relref "/guides/models/" >}}) and [Weave]({{< relref "/guides/weave/" >}}). diff --git a/content/en/guides/inference/_index.md b/content/en/guides/inference/_index.md index a6b2df3751..df096d81a3 100644 --- a/content/en/guides/inference/_index.md +++ b/content/en/guides/inference/_index.md @@ -1,6 +1,6 @@ --- title: "W&B Inference" -weight: 5 +weight: 50 description: > Access open-source foundation models through W&B Weave and an OpenAI-compatible API --- diff --git a/content/en/guides/integrations/_index.md b/content/en/guides/integrations/_index.md index 4aa0973507..21a86f0487 100644 --- a/content/en/guides/integrations/_index.md +++ b/content/en/guides/integrations/_index.md @@ -3,7 +3,7 @@ menu: default: identifier: integrations title: Integrations -weight: 8 +weight: 90 url: guides/integrations cascade: - url: guides/integrations/:filename diff --git a/content/en/guides/models/_index.md b/content/en/guides/models/_index.md index b7605d6cf8..806dcd90fb 100644 --- a/content/en/guides/models/_index.md +++ b/content/en/guides/models/_index.md @@ -3,7 +3,7 @@ menu: default: identifier: models title: W&B Models -weight: 3 +weight: 30 no_list: true --- diff --git a/content/en/guides/models_quickstart.md b/content/en/guides/models_quickstart.md index a43e3b1717..d95b8693de 100644 --- a/content/en/guides/models_quickstart.md +++ b/content/en/guides/models_quickstart.md @@ -1,6 +1,6 @@ --- title: Get Started with W&B Models -weight: 2 +weight: 20 --- Learn when and how to use W&B to track, share, and manage model artifacts in your machine learning workflows. This page covers logging experiments, generating reports, and accessing logged data using the appropriate W&B API for each task. diff --git a/content/en/guides/quickstart.md b/content/en/guides/quickstart.md index 5110e5f9b4..fab57a57d8 100644 --- a/content/en/guides/quickstart.md +++ b/content/en/guides/quickstart.md @@ -6,7 +6,7 @@ menu: parent: guides title: W&B Quickstart url: quickstart -weight: 1 +weight: 10 --- Install W&B to track, visualize, and manage machine learning experiments of any size. diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index f48a9ba636..0a407d4280 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -4,7 +4,7 @@ menu: identifier: training title: W&B Training description: Post-train your models using reinforcement learning. -weight: 6 +weight: 60 --- Now in public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md index 3deedf986d..7d0aa495b0 100644 --- a/content/en/guides/training/serverless-rl/using-trained-models.md +++ b/content/en/guides/training/serverless-rl/using-trained-models.md @@ -1,6 +1,6 @@ --- -title: "Use Trained Models" -linkTitle: "Use Trained Models" +title: "Use your trained models" +linkTitle: "Use trained models" weight: 20 description: > Make inference requests to the models you've trained. diff --git a/content/en/guides/weave/_index.md b/content/en/guides/weave/_index.md index a9b7c782c0..d6d9b73cf9 100644 --- a/content/en/guides/weave/_index.md +++ b/content/en/guides/weave/_index.md @@ -3,7 +3,7 @@ menu: default: identifier: weave title: W&B Weave -weight: 4 +weight: 40 --- {{% alert %}} From 8c8896ea68d170c2fbb4729023e275fb97533db4 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 19:59:01 -0400 Subject: [PATCH 47/59] Makes product layout 2x2 on front page --- content/en/_index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en/_index.md b/content/en/_index.md index 769f959ec4..e788680e56 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -46,7 +46,12 @@ Use [W&B Weave](https://weave-docs.wandb.ai/) to manage AI models in your code. - [Use Weave in your W&B runs]({{< relref "/guides/weave/set-up-weave" >}})

{{% /card %}} +{{< /cardpane >}} + + +
+{{< cardpane >}} {{% card %}}
@@ -64,12 +69,7 @@ Use [W&B Inference]({{< relref "/guides/inference/" >}}) to access leading open- - [Try in Playground](https://wandb.ai/inference)
{{% /card %}} -{{< /cardpane >}} - -
-
-{{< cardpane >}} {{% card %}}
@@ -99,7 +99,7 @@ Now in public preview, use [W&B Training]({{< relref "/guides/training/" >}}) to p { overflow: hidden; display: block; } ul { margin-left: 50px; } -/* Make all cards uniform size in 3x2 grid */ +/* Make all cards uniform size in 2x2 grid */ .top-row-cards .td-card-group, .bottom-row-cards .td-card-group { max-width: 100%; From b2c5a52fa2119672dcf74b41251cea7178e3ba8a Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 21:15:37 -0400 Subject: [PATCH 48/59] Feedback via Noah, Matt, and David --- content/en/guides/_index.md | 2 ++ content/en/guides/training/_index.md | 10 +++++++--- .../guides/training/serverless-rl/_index.md | 13 +++++-------- .../serverless-rl/available-models.md | 8 ++++---- .../training/serverless-rl/serverless-rl.md | 6 +++--- .../training/serverless-rl/usage-limits.md | 14 +++++++------- .../serverless-rl/using-trained-models.md | 19 ++++++++++--------- 7 files changed, 38 insertions(+), 34 deletions(-) diff --git a/content/en/guides/_index.md b/content/en/guides/_index.md index 4ceb532872..62ae807b51 100644 --- a/content/en/guides/_index.md +++ b/content/en/guides/_index.md @@ -33,6 +33,8 @@ W&B consists of three major components: [Models]({{< relref "/guides/models.md" **[W&B Inference]({{< relref "/guides/inference/" >}})** is a set of tools for accessing open-source foundation models through W&B Weave and an OpenAI-compatible API. +**[W&B Training]({{< relref "/guides/training/" >}})** provides serverless reinforcement learning for post-training LLMs to improve reliability on multi-turn agentic tasks. + {{% alert %}} Learn about recent releases in the [W&B release notes]({{< relref "/ref/release-notes/" >}}). {{% /alert %}} diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 0a407d4280..4cdfa6fe85 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -7,8 +7,12 @@ description: Post-train your models using reinforcement learning. weight: 60 --- -Now in public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. +Now in public preview, W&B Training offers serverless reinforcement learning (RL) for post-training large language models (LLMs) to improve their reliability performing multi-turn, agentic tasks while also increasing speed and reducing costs. RL is a training technique where models learn to improve their behavior through feedback on their outputs. -W&B Training includes integration with [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework; [RULER](https://openpipe.ai/blog/ruler), a universal verifier; and a fully managed serverless RL backend on CoreWeave cloud, so you can run RL training loops without provisioning, configuring, or managing GPUs and infrastructure. +W&B Training includes integration with: -Learn how to use W&B Training's [Serverless RL]({{< relref "/guides/training/serverless-rl" >}}) to post-train your models. \ No newline at end of file +* [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework. +* [RULER](https://openpipe.ai/blog/ruler), a universal verifier. +* A fully-managed backend on CoreWeave cloud. + +To get started, satisfy the [prerequisites]({{< relref "/guides/training/prerequisites" >}}) to start using the service and then see [OpenPipe's Serverless RL quickstart](https://art.openpipe.ai/getting-started/quick-start) to learn how to post-train your models. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index 5ba835f893..ba81669a77 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -21,20 +21,17 @@ Serverless RL trains low-rank adapters (LoRAs) to specialize a model for your ag Reinforcement learning (RL) is a set of powerful training techniques that you can use in many kinds of training setups, including on GPUs that you own or rent directly. Serverless RL can provide the following advantages in your RL post-training: -* Lower training costs - * By multiplexing shared infrastructure across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. -* Faster training time - * By splitting inference requests across many GPUs and immediately provisioning training infrstructure when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. -* Automatic deployment - * Serverless RL automatically deploys every checkpoint you train, eliminating the need to manually set up hosting infrastructure. Trained models can be accessed and tested immediately in local, staging, or production environments. +* **Lower training costs**: By multiplexing shared infrastructure across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. +* **Faster training time**: By splitting inference requests across many GPUs and immediately provisioning training infrstructure when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. +* **Automatic deployment**: Serverless RL automatically deploys every checkpoint you train, eliminating the need to manually set up hosting infrastructure. Trained models can be accessed and tested immediately in local, staging, or production environments. ## How Serverless RL uses W&B services -Serverless RL uses a combination of the following W&B services to operate: +Serverless RL uses a combination of the following W&B components to operate: * [Inference]({{< relref "guides/inference" >}}): To run your models * [Models]({{< relref "guides/models" >}}): To track performance metrics during the LoRA adapter's training * [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters * [Weave (optional)]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop -Serverless RL is currently in public preview. We only charge for the use of inference and the storage of artifacts. We do not charge for adapter training during the preview period. We will make training pricing details available in the next few weeks. +Serverless RL is in public preview. During the preview, you are charged only for the use of inference and the storage of artifacts, during the preview period, not for adapter training. We do not charge for adapter training during the preview period. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/available-models.md b/content/en/guides/training/serverless-rl/available-models.md index a5604f652d..19c66cb460 100644 --- a/content/en/guides/training/serverless-rl/available-models.md +++ b/content/en/guides/training/serverless-rl/available-models.md @@ -1,14 +1,14 @@ --- -title: "Available Models" -linkTitle: "Available Models" +title: "Available models" +linkTitle: "Available models" weight: 40 description: > See the models you can train with Serverless RL. --- -Serverless RL currently only supports a single open-source foundation model for training. We will add more models soon. +Serverless RL currently only supports a single open-source foundation model for training. -If there's a particular model you're interested in getting support for, email use at support@wandb.com. +To express interest in a particular model, contact [support](mailto:support@wandb.ai). ## Model catalog diff --git a/content/en/guides/training/serverless-rl/serverless-rl.md b/content/en/guides/training/serverless-rl/serverless-rl.md index c141c03a23..64a5117639 100644 --- a/content/en/guides/training/serverless-rl/serverless-rl.md +++ b/content/en/guides/training/serverless-rl/serverless-rl.md @@ -1,9 +1,9 @@ --- -description: Directions on how to get started using Serverless RL. +description: Get started using Serverless RL. title: Use Serverless RL weight: 10 --- -Serverless RL is supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the W&B Training API. +Serverless RL is supported through [OpenPipe's ART framework](https://art.openpipe.ai/getting-started/about) and the [W&B Training API]({{< relref "ref/training" >}}). -To start using Serverless RL, see the ART [quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. To learn about Serverless RL's API endpoints, see the [W&B Training API]({{< relref "ref/training" >}}). \ No newline at end of file +To start using Serverless RL, see the ART [quickstart](https://art.openpipe.ai/getting-started/quick-start) for code examples and workflows. To learn about Serverless RL's API endpoints, see the W&B Training API. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index dbb4ce836a..9c6cb849f6 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -1,6 +1,6 @@ --- -title: "Usage Information and Limits" -linkTitle: "Usage & Limits" +title: "Usage information and limits" +linkTitle: "Usage & limits" weight: 30 description: > Understand pricing, usage limits, and account restrictions for W&B Serverless RL. @@ -29,17 +29,17 @@ Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serv By default, Serverless RL currently supports up to 2000 concurrent requests per user and 6000 per project. If you exceed your rate limit, the Inference API returns a `429 Concurrency limit reached for requests` response. To avoid this error, reduce the number of concurrent requests your training job or production workload makes at once. If you need a higher rate limit, you can request one at support@wandb.com. -{{< alert title="Note" >}} -## Personal entities unsupported +{{< alert title="Personal entities unsupported" >}} Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this advisory only applies to legacy accounts. -## Geographic restrictions - -Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). {{< /alert >}} +{{< alert title="Geographic restrictions" >}} +Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). + +{{< /alert >}} diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md index 7d0aa495b0..4329ae499e 100644 --- a/content/en/guides/training/serverless-rl/using-trained-models.md +++ b/content/en/guides/training/serverless-rl/using-trained-models.md @@ -6,21 +6,23 @@ description: > Make inference requests to the models you've trained. --- -After training a model with Serverless RL, it is automatically deployed and ready to use in production. To make a request to the OpenAI-compatible endpoint, follow the instructions below. - -### Overview +After training a model with Serverless RL, it is automatically available for inference. To make a request to the OpenAI-compatible endpoint, follow the instructions below. When making inference requests, set your base URL to `https://api.training.wandb.ai/v1/` and use your W&B API key for authentication. Finally, set your model name to match the following schema: -`wandb-artifact://///:` +``` +wandb-artifact://///:` +``` For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25 (presumably because that step did the best on your evals), you would set the model name in your chat completion requests to the following: -`wandb-artifact:///email-specialists/mail-search/agent-001:step25` +``` +wandb-artifact:///email-specialists/mail-search/agent-001:step25` +``` This tells W&B Inference exactly where to find your model when initially loading it for inference. -The following examples show you how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://openai.github.io/openai-agents-python/). +The following examples show you how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://github.com/openai/openai-python). ### CuRL @@ -49,9 +51,8 @@ ENTITY = "my-entity" PROJECT = "my-project" client = OpenAI( - base_url="https://api.inference.coreweave.com/v1", - api_key=WANDB_API_KEY, - default_headers={"OpenAI-Project": f"{ENTITY}/{PROJECT}"}, + base_url="https://api.training.wandb.ai/v1", + api_key=WANDB_API_KEY ) response = client.chat.completions.create( From 97e56b10a33e0f0a0130c383622db09d828b8312 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 21:33:27 -0400 Subject: [PATCH 49/59] Fixes API reference page --- content/en/_index.md | 2 +- content/en/guides/training/api-reference.md | 12 ++---------- content/en/ref/training.md | 5 +++++ 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/content/en/_index.md b/content/en/_index.md index e788680e56..1bcb3545ba 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -84,7 +84,7 @@ Now in public preview, use [W&B Training]({{< relref "/guides/training/" >}}) to - [Introduction]({{< relref "/guides/training/" >}}) - [Serverless RL]({{< relref "/guides/training/serverless-rl/" >}}) - [Prerequisites]({{< relref "/guides/training/prerequisites/" >}}) -- [API Reference]({{< relref "/guides/training/api-reference/" >}}) +- [API Reference]({{< relref "/ref/training" >}})
{{% /card %}} {{< /cardpane >}} diff --git a/content/en/guides/training/api-reference.md b/content/en/guides/training/api-reference.md index c06888e05d..ac0480a9a8 100644 --- a/content/en/guides/training/api-reference.md +++ b/content/en/guides/training/api-reference.md @@ -2,15 +2,7 @@ title: "API Reference" linkTitle: "API Reference" weight: 100 +manualLink: "/ref/training" description: > Complete API documentation for W&B Training. ---- - -View the complete [W&B Training API Reference]({{< relref "/ref/training" >}}). - -The API reference includes: -* All available endpoints -* Request and response schemas -* Authentication details -* Example requests and responses - +--- \ No newline at end of file diff --git a/content/en/ref/training.md b/content/en/ref/training.md index c9cf6b31cb..c84877b7d9 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -2,4 +2,9 @@ title: W&B Training API description: Generated documentation for W&B APIs layout: redoc +menu: + default: + parent: training + name: API Reference + weight: 100 --- From b96d37747f6c9bdb7d2fbb8b9d9604305f3348f5 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 21:34:20 -0400 Subject: [PATCH 50/59] remove unnecessary menu frontmatter from reference --- content/en/ref/training.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/content/en/ref/training.md b/content/en/ref/training.md index c84877b7d9..c9cf6b31cb 100644 --- a/content/en/ref/training.md +++ b/content/en/ref/training.md @@ -2,9 +2,4 @@ title: W&B Training API description: Generated documentation for W&B APIs layout: redoc -menu: - default: - parent: training - name: API Reference - weight: 100 --- From a3a2fa5a650bf1d87bd5e2cfa9736648e7125e8d Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 21:42:54 -0400 Subject: [PATCH 51/59] Adds coreweave link --- content/en/guides/training/serverless-rl/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index ba81669a77..c2549700b2 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -7,7 +7,7 @@ description: Learn about how to more efficiently post-train your models using re weight: 5 --- -Now in public preview, Serverless RL helps developers post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn agentic tasks. We provision the training infrastructure for you while allowing full flexibility in your environment's setup. Serverless RL gives you instant access to a managed training cluster that elastically auto-scales to dozens of GPUs. By splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL increases GPU utilization and reduces your training time and costs. +Now in public preview, Serverless RL helps developers post-train LLMs to learn new behaviors and improve reliability, speed, and costs when performing multi-turn agentic tasks. W&B provision the training infrastructure ([on CoreWeave](https://docs.coreweave.com/docs/platform)) for you while allowing full flexibility in your environment's setup. Serverless RL gives you instant access to a managed training cluster that elastically auto-scales to dozens of GPUs. By splitting RL workflows into inference and training phases and multiplexing them across jobs, Serverless RL increases GPU utilization and reduces your training time and costs. Serverless RL is ideal for tasks like: * Voice agents @@ -34,4 +34,4 @@ Serverless RL uses a combination of the following W&B components to operate: * [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters * [Weave (optional)]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop -Serverless RL is in public preview. During the preview, you are charged only for the use of inference and the storage of artifacts, during the preview period, not for adapter training. We do not charge for adapter training during the preview period. \ No newline at end of file +Serverless RL is in public preview. During the preview, you are charged only for the use of inference and the storage of artifacts, during the preview period, not for adapter training. W&B do not charge for adapter training during the preview period. \ No newline at end of file From efe3bcdf4efde38a5cffdab6333492b642e6ca0e Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 22:09:30 -0400 Subject: [PATCH 52/59] rewrite inference doc --- .../serverless-rl/using-trained-models.md | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md index 4329ae499e..a82e538fae 100644 --- a/content/en/guides/training/serverless-rl/using-trained-models.md +++ b/content/en/guides/training/serverless-rl/using-trained-models.md @@ -6,23 +6,33 @@ description: > Make inference requests to the models you've trained. --- -After training a model with Serverless RL, it is automatically available for inference. To make a request to the OpenAI-compatible endpoint, follow the instructions below. +After training a model with Serverless RL. it is automatically available for inference. -When making inference requests, set your base URL to `https://api.training.wandb.ai/v1/` and use your W&B API key for authentication. Finally, set your model name to match the following schema: +To send requests to your trained model, you need: +* Your [W&B API key](https://wandb.ai/authorize) +* The [Training API's]({{< relref "/ref/training" >}}) base URL, `https://api.training.wandb.ai/v1/` +* Your model's endpoint + +The model's endpoint uses the following schema: ``` -wandb-artifact://///:` +wandb-artifact://///: ``` -For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25 (presumably because that step did the best on your evals), you would set the model name in your chat completion requests to the following: +The schema consists of: + +* Your W&B entity's (team) name +* The name of the project associated with your model +* The trained model's name +* The training step of the model you want to deploy (this is usually the step where the model performed best in your evaluations) + +For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25, the endpoint looks like this: ``` -wandb-artifact:///email-specialists/mail-search/agent-001:step25` +wandb-artifact:///email-specialists/mail-search/agent-001:step25 ``` -This tells W&B Inference exactly where to find your model when initially loading it for inference. - -The following examples show you how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://github.com/openai/openai-python). +Once you have your endpoint, you can integrate into your normal inference workflows. The following examples show how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://github.com/openai/openai-python). ### CuRL From db815ab586a96e430aba6eed0f0366cdfe1ae70a Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 22:27:33 -0400 Subject: [PATCH 53/59] minor copy changes --- content/en/guides/training/serverless-rl/_index.md | 2 +- content/en/guides/training/serverless-rl/usage-limits.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index c2549700b2..f370874dad 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -34,4 +34,4 @@ Serverless RL uses a combination of the following W&B components to operate: * [Artifacts]({{< relref "guides/core/artifacts" >}}): To store and version the LoRA adapters * [Weave (optional)]({{< relref "guides/models" >}}): To gain observability into how the model responds at each step of the training loop -Serverless RL is in public preview. During the preview, you are charged only for the use of inference and the storage of artifacts, during the preview period, not for adapter training. W&B do not charge for adapter training during the preview period. \ No newline at end of file +Serverless RL is in public preview. During the preview, you are charged only for the use of inference and the storage of artifacts. W&B does not charge for adapter training during the preview period. \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index 9c6cb849f6..9b50801a15 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -18,7 +18,7 @@ Pricing for Serverless RL inference requests matches W&B Inference pricing. See At each training step, Serverless RL collects batches of trajectories that include your agent's outputs and associated rewards (calculated by your reward function). The batched trajectories are then used to update the weights of a LoRA adapter that specializes a base model for your task. The training jobs to update these LoRAs run on dedicated GPU clusters managed by Serverless RL. -During the public preview, training is free. We will announce pricing for training soon. +Training is free during the public preview period. ### Model storage From 87ab4d057df2cd45c9f34ff32b9dd24b819a2ffb Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 22:54:13 -0400 Subject: [PATCH 54/59] renames file and corrects some grammar --- .../serverless-rl/using-trained-models.md | 79 ------------------- 1 file changed, 79 deletions(-) delete mode 100644 content/en/guides/training/serverless-rl/using-trained-models.md diff --git a/content/en/guides/training/serverless-rl/using-trained-models.md b/content/en/guides/training/serverless-rl/using-trained-models.md deleted file mode 100644 index a82e538fae..0000000000 --- a/content/en/guides/training/serverless-rl/using-trained-models.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Use your trained models" -linkTitle: "Use trained models" -weight: 20 -description: > - Make inference requests to the models you've trained. ---- - -After training a model with Serverless RL. it is automatically available for inference. - -To send requests to your trained model, you need: -* Your [W&B API key](https://wandb.ai/authorize) -* The [Training API's]({{< relref "/ref/training" >}}) base URL, `https://api.training.wandb.ai/v1/` -* Your model's endpoint - -The model's endpoint uses the following schema: - -``` -wandb-artifact://///: -``` - -The schema consists of: - -* Your W&B entity's (team) name -* The name of the project associated with your model -* The trained model's name -* The training step of the model you want to deploy (this is usually the step where the model performed best in your evaluations) - -For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25, the endpoint looks like this: - -``` -wandb-artifact:///email-specialists/mail-search/agent-001:step25 -``` - -Once you have your endpoint, you can integrate into your normal inference workflows. The following examples show how to make inference requests to your trained model using a CuRL request or the [Python OpenAI SDK](https://github.com/openai/openai-python). - -### CuRL - -```shell -curl https://api.training.wandb.ai/v1/chat/completions \ - -H "Authorization: Bearer $WANDB_API_KEY" \ - -H "Content-Type: application/json" \ - -d '{ - "model": "wandb-artifact://///:", - "messages": [ - {"role": "system", "content": "You are a helpful assistant."}, - {"role": "user", "content": "Summarize our training run."} - ], - "temperature": 0.7, - "top_p": 0.95 - }' -``` - -### OpenAI SDK - -```python -from openai import OpenAI - -WANDB_API_KEY = "your-wandb-api-key" -ENTITY = "my-entity" -PROJECT = "my-project" - -client = OpenAI( - base_url="https://api.training.wandb.ai/v1", - api_key=WANDB_API_KEY -) - -response = client.chat.completions.create( - model=f"wandb-artifact:///{ENTITY}/{PROJECT}/my-model:step100", - messages=[ - {"role": "system", "content": "You are a helpful assistant."}, - {"role": "user", "content": "Summarize our training run."}, - ], - temperature=0.7, - top_p=0.95, -) - -print(response.choices[0].message.content) -``` \ No newline at end of file From 29e1aaedc71b7a9105d2cea0466068a8eb8d5ff8 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Mon, 6 Oct 2025 22:59:04 -0400 Subject: [PATCH 55/59] renames file for real --- .../serverless-rl/use-trained-models.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 content/en/guides/training/serverless-rl/use-trained-models.md diff --git a/content/en/guides/training/serverless-rl/use-trained-models.md b/content/en/guides/training/serverless-rl/use-trained-models.md new file mode 100644 index 0000000000..b82c2dfbc4 --- /dev/null +++ b/content/en/guides/training/serverless-rl/use-trained-models.md @@ -0,0 +1,79 @@ +--- +title: "Use your trained models" +linkTitle: "Use trained models" +weight: 20 +description: > + Make inference requests to the models you've trained. +--- + +After training a model with Serverless RL, it is automatically available for inference. + +To send requests to your trained model, you need: +* Your [W&B API key](https://wandb.ai/authorize) +* The [Training API's]({{< relref "/ref/training" >}}) base URL, `https://api.training.wandb.ai/v1/` +* Your model's endpoint + +The model's endpoint uses the following schema: + +``` +wandb-artifact://///: +``` + +The schema consists of: + +* Your W&B entity's (team) name +* The name of the project associated with your model +* The trained model's name +* The training step of the model you want to deploy (this is usually the step where the model performed best in your evaluations) + +For example, if your W&B team is named `email-specialists`, your project is called `mail-search`, your trained model is named `agent-001`, and you wanted to deploy it on step 25, the endpoint looks like this: + +``` +wandb-artifact:///email-specialists/mail-search/agent-001:step25 +``` + +Once you have your endpoint, you can integrate it into your normal inference workflows. The following examples show how to make inference requests to your trained model using a cURL request or the [Python OpenAI SDK](https://github.com/openai/openai-python). + +### cURL + +```shell +curl https://api.training.wandb.ai/v1/chat/completions \ + -H "Authorization: Bearer $WANDB_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "model": "wandb-artifact://///:", + "messages": [ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": "Summarize our training run."} + ], + "temperature": 0.7, + "top_p": 0.95 + }' +``` + +### OpenAI SDK + +```python +from openai import OpenAI + +WANDB_API_KEY = "your-wandb-api-key" +ENTITY = "my-entity" +PROJECT = "my-project" + +client = OpenAI( + base_url="https://api.training.wandb.ai/v1", + api_key=WANDB_API_KEY +) + +response = client.chat.completions.create( + model=f"wandb-artifact:///{ENTITY}/{PROJECT}/my-model:step100", + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": "Summarize our training run."}, + ], + temperature=0.7, + top_p=0.95, +) + +print(response.choices[0].message.content) +``` \ No newline at end of file From 519adc43fd43b0b86c39124523fc7287b0ceed0c Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Tue, 7 Oct 2025 10:53:58 -0400 Subject: [PATCH 56/59] Feedback from M. Linville and N. Luna --- content/en/guides/training/_index.md | 2 +- content/en/guides/training/prerequisites.md | 14 ++++--------- .../training/serverless-rl/usage-limits.md | 21 ++++--------------- .../serverless-rl/use-trained-models.md | 3 +-- 4 files changed, 10 insertions(+), 30 deletions(-) diff --git a/content/en/guides/training/_index.md b/content/en/guides/training/_index.md index 4cdfa6fe85..44c8325d3b 100644 --- a/content/en/guides/training/_index.md +++ b/content/en/guides/training/_index.md @@ -13,6 +13,6 @@ W&B Training includes integration with: * [ART](https://art.openpipe.ai/getting-started/about), a flexible RL fine-tuning framework. * [RULER](https://openpipe.ai/blog/ruler), a universal verifier. -* A fully-managed backend on CoreWeave cloud. +* A fully-managed backend on [CoreWeave Cloud](https://docs.coreweave.com/docs/platform). To get started, satisfy the [prerequisites]({{< relref "/guides/training/prerequisites" >}}) to start using the service and then see [OpenPipe's Serverless RL quickstart](https://art.openpipe.ai/getting-started/quick-start) to learn how to post-train your models. \ No newline at end of file diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index 6113b2eb5e..01d9811cbb 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -12,18 +12,12 @@ Complete these steps before using W&B Training features through the OpenPipe ART Before starting, review the [usage information and limits]({{< relref "guides/training/serverless-rl/usage-limits" >}}) to understand costs and restrictions. {{< /alert >}} -## Set up your W&B account and project +## Sign up and create an API key -You need these items to access W&B Training: +To authenticate your machine with W&B, you must first generate an API key at [wandb.ai/authorize](https://wandb.ai/authorize). Copy the API key and store it securely. -1. **A W&B account** - Sign up at [W&B](https://app.wandb.ai/login?signup=true) - -2. **A W&B API key** - Get your API key at [https://wandb.ai/authorize](https://wandb.ai/authorize) - -3. **A W&B project** - Create a project in your W&B account to track usage, record training metrics, and save trained models +## Create a project in W&B +Create a project in your W&B account to track usage, record training metrics, and save trained models. See [Insert link to a quickstart or tutorial] ## Next steps diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index 9b50801a15..c16a28ae7b 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -24,23 +24,10 @@ Training is free during the public preview period. Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleting low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai) for instructions on how to do this. +## Limits -## Inference Concurrency limits - -By default, Serverless RL currently supports up to 2000 concurrent requests per user and 6000 per project. If you exceed your rate limit, the Inference API returns a `429 Concurrency limit reached for requests` response. To avoid this error, reduce the number of concurrent requests your training job or production workload makes at once. If you need a higher rate limit, you can request one at support@wandb.com. - -{{< alert title="Personal entities unsupported" >}} - -Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this advisory only applies to legacy accounts. - -{{< /alert >}} - -{{< alert title="Geographic restrictions" >}} - -Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). - -{{< /alert >}} - - +* **Inference concurrency limits**: By default, Serverless RL currently supports up to 2000 concurrent requests per user and 6000 per project. If you exceed your rate limit, the Inference API returns a `429 Concurrency limit reached for requests` response. To avoid this error, reduce the number of concurrent requests your training job or production workload makes at once. If you need a higher rate limit, you can request one at support@wandb.com. +* **Personal entities unsupported**: Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this advisory only applies to legacy accounts. +* **Geographic restrictions**: Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). \ No newline at end of file diff --git a/content/en/guides/training/serverless-rl/use-trained-models.md b/content/en/guides/training/serverless-rl/use-trained-models.md index b82c2dfbc4..c87d037697 100644 --- a/content/en/guides/training/serverless-rl/use-trained-models.md +++ b/content/en/guides/training/serverless-rl/use-trained-models.md @@ -2,8 +2,7 @@ title: "Use your trained models" linkTitle: "Use trained models" weight: 20 -description: > - Make inference requests to the models you've trained. +description: Make inference requests to the models you've trained. --- After training a model with Serverless RL, it is automatically available for inference. From f2376ada893f919e49b869368c5c58c2ade993af Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Wed, 8 Oct 2025 11:56:35 -0400 Subject: [PATCH 57/59] Updates ToS link and LoRA deletion link, fixes spelling error --- content/en/guides/training/serverless-rl/_index.md | 2 +- content/en/guides/training/serverless-rl/usage-limits.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/guides/training/serverless-rl/_index.md b/content/en/guides/training/serverless-rl/_index.md index f370874dad..72e3c4f7a3 100644 --- a/content/en/guides/training/serverless-rl/_index.md +++ b/content/en/guides/training/serverless-rl/_index.md @@ -22,7 +22,7 @@ Serverless RL trains low-rank adapters (LoRAs) to specialize a model for your ag Reinforcement learning (RL) is a set of powerful training techniques that you can use in many kinds of training setups, including on GPUs that you own or rent directly. Serverless RL can provide the following advantages in your RL post-training: * **Lower training costs**: By multiplexing shared infrastructure across many users, skipping the setup process for each job, and scaling your GPU costs down to 0 when you're not actively training, Serverless RL reduces training costs significantly. -* **Faster training time**: By splitting inference requests across many GPUs and immediately provisioning training infrstructure when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. +* **Faster training time**: By splitting inference requests across many GPUs and immediately provisioning training infrastructure when you need it, Serverless RL speeds up your training jobs and lets you iterate faster. * **Automatic deployment**: Serverless RL automatically deploys every checkpoint you train, eliminating the need to manually set up hosting infrastructure. Trained models can be accessed and tested immediately in local, staging, or production environments. ## How Serverless RL uses W&B services diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index c16a28ae7b..61ad5c73c0 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -22,7 +22,7 @@ Training is free during the public preview period. ### Model storage -Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleting low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai) for instructions on how to do this. +Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serve, or continue training them at any time. Storage is billed monthly based on total checkpoint size and your [pricing plan](https://wandb.ai/site/pricing). Every plan includes at least 5GB of free storage, which is enough for roughly 30 LoRAs. We recommend deleting low-performing LoRAs to save space. See the [ART SDK](https://art.openpipe.ai/features/checkpoint-deletion) for instructions on how to do this. ## Limits @@ -30,4 +30,4 @@ Serverless RL stores checkpoints of your trained LoRAs so you can evaluate, serv * **Personal entities unsupported**: Serverless RL and W&B Inference don't support personal entities (personal accounts). To access Serverless RL, switch to a non-personal account by [creating a Team]({{< relref "/guides/hosting/iam/access-management/manage-organization/#add-and-manage-teams" >}}). Personal entities (personal accounts) were deprecated in May 2024, so this advisory only applies to legacy accounts. -* **Geographic restrictions**: Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://docs.coreweave.com/docs/policies/terms-of-service/terms-of-use#geographic-restrictions). \ No newline at end of file +* **Geographic restrictions**: Serverless RL is only available in supported geographic locations. For more information, see the [Terms of Service](https://site.wandb.ai/terms/). \ No newline at end of file From 8682337827294c186d1ca9fe5ad4b07b5d11e026 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Wed, 8 Oct 2025 12:54:06 -0400 Subject: [PATCH 58/59] Updates from launch meeting --- content/en/_index.md | 2 +- content/en/guides/training/prerequisites.md | 3 ++- content/en/guides/training/serverless-rl/usage-limits.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/content/en/_index.md b/content/en/_index.md index 1bcb3545ba..a303b77bb4 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -82,8 +82,8 @@ Use [W&B Inference]({{< relref "/guides/inference/" >}}) to access leading open- Now in public preview, use [W&B Training]({{< relref "/guides/training/" >}}) to post-train large language models using serverless reinforcement learning (RL). Features include fully managed GPU infrastructure, integration with ART and RULER, and automatic scaling for multi-turn agentic tasks. - [Introduction]({{< relref "/guides/training/" >}}) -- [Serverless RL]({{< relref "/guides/training/serverless-rl/" >}}) - [Prerequisites]({{< relref "/guides/training/prerequisites/" >}}) +- [Serverless RL]({{< relref "/guides/training/serverless-rl/" >}}) - [API Reference]({{< relref "/ref/training" >}})
{{% /card %}} diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index 01d9811cbb..3bf4faa10d 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -17,7 +17,8 @@ Before starting, review the [usage information and limits]({{< relref "guides/tr To authenticate your machine with W&B, you must first generate an API key at [wandb.ai/authorize](https://wandb.ai/authorize). Copy the API key and store it securely. ## Create a project in W&B -Create a project in your W&B account to track usage, record training metrics, and save trained models. See [Insert link to a quickstart or tutorial] + +Create a project in your W&B account to track usage, record training metrics, and save trained models. See the [Projects guide]({{< relref "/guides/track/project-page" >}}) for more information. ## Next steps diff --git a/content/en/guides/training/serverless-rl/usage-limits.md b/content/en/guides/training/serverless-rl/usage-limits.md index 61ad5c73c0..1a518868a6 100644 --- a/content/en/guides/training/serverless-rl/usage-limits.md +++ b/content/en/guides/training/serverless-rl/usage-limits.md @@ -12,7 +12,7 @@ Pricing has three components: inference, training, and storage. For specific bil ### Inference -Pricing for Serverless RL inference requests matches W&B Inference pricing. See [model-specific costs](https://wandb.ai/site/pricing/inference) for more details. Learn more about purchasing credits, account tiers, and usage caps in the [W&B Inference docs]({{< relref "/guides/inference/usage-limits/#purchase-more-credits" >}}). +Pricing for Serverless RL inference requests matches W&B Inference pricing. See [model-specific costs](https://site.wandb.ai/pricing/reinforcement-learning) for more details. Learn more about purchasing credits, account tiers, and usage caps in the [W&B Inference docs]({{< relref "/guides/inference/usage-limits/#purchase-more-credits" >}}). ### Training From fc91eccb7b2fe9004efa5afa795583aba7d90f78 Mon Sep 17 00:00:00 2001 From: dbrian57 Date: Wed, 8 Oct 2025 12:56:09 -0400 Subject: [PATCH 59/59] link fix --- content/en/guides/training/prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/guides/training/prerequisites.md b/content/en/guides/training/prerequisites.md index 3bf4faa10d..1023f1cf98 100644 --- a/content/en/guides/training/prerequisites.md +++ b/content/en/guides/training/prerequisites.md @@ -18,7 +18,7 @@ To authenticate your machine with W&B, you must first generate an API key at [wa ## Create a project in W&B -Create a project in your W&B account to track usage, record training metrics, and save trained models. See the [Projects guide]({{< relref "/guides/track/project-page" >}}) for more information. +Create a project in your W&B account to track usage, record training metrics, and save trained models. See the [Projects guide](https://docs.wandb.ai/guides/track/project-page) for more information. ## Next steps