diff --git a/docs/cli/index.md b/docs/cli/index.md index e0862c5e..7580b910 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -40,11 +40,19 @@ You can also download and install SPCTL manually from the Super Protocol [GitHub ## For users -Execute the `./spctl setup` command to initiate the setup dialog. First, provide your Testnet Access Token and then your Testnet Private Key. You can find them in your Testnet invitation email. +Execute the `./spctl setup` command to initiate the setup dialog. + +Enter the following Access Token when prompted: + +``` +eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g +``` + +Then, enter a private key to your testnet EVM wallet. Further, SPCTL asks if you have a Storj bucket with configured access grants. This step is optional. Select `No` if you do not have them yet. You can configure Storj and provide this information [later in this guide](/cli#set-up-storj-access) or skip this step entirely. -After that, SPCTL creates `config.json` in the SPCTL root directory. If you need to update your account information, execute `./spctl setup` again or modify `config.json` manually in any text editor. +After that, SPCTL creates `config.json` in the SPCTL root directory. If you need to update your account information, execute `./spctl setup` again or modify `config.json` manually in a text editor. :::note @@ -60,7 +68,7 @@ You can also skip the `./spctl setup` command completely and set up SPCTL manual { "backend": { "url": "https://bff.superprotocol.com/graphql", - "accessToken": "" + "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g" }, "blockchain": { "rpcUrl": "https://polygon.superprotocol.com/", @@ -87,7 +95,6 @@ Do not change the preconfigured parameters and fill in the following ones: |**Parameter**|**Description**| |:-|:-| -|accessToken| Your Testnet Access Token from the Testnet invitation email|| |accountPrivateKey| Your Testnet Private Key from the Testnet invitation email| |key| Private key for order result encryption. Use the [workflows generate-key](/cli/commands/workflows/generate-key) command to create this key| |bucket| Name of your Storj bucket (optional)| @@ -98,7 +105,7 @@ Do not change the preconfigured parameters and fill in the following ones: This section is for offer providers only. Skip it if you are a regular user. -Offer providers need another copy of SPCTL configured for their provider accounts. If you completed all the necessary steps in the [Providers and Offers] guide, you should have the configuration file created automatically in your Provider Tools directory. Its name looks similar to this: +Offer providers need another copy of SPCTL configured for their provider accounts. If you completed all the necessary steps in the [Providers and Offers] guide, you should have the configuration file created automatically in your Provider Tools directory. Its name looks similar to the following: ```spctl-config-0xB9f0b77BDbAe9fBe3E60BdC567E453f503605BAb.json``` @@ -122,7 +129,7 @@ Use the following `config.json` template: { "backend": { "url": "https://bff.superprotocol.com/graphql", - "accessToken": "" + "accessToken": "eyJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiMHhBN0E5NjQ4ZGE2QTg5QjBhNzFhNGMwRDQ2Y2FENDAwMDU3ODI3NGEyIiwiaWF0IjoxNjc5OTk4OTQyLCJleHAiOjE3NDMxMTQxNDJ9.x2lx90D733mToYYdOWhh4hhXn3YowFW4JxFjDFtI7helgp2uqekDHFgekT5yjbBWeHTzRap7SHbDC3VvMIDe0g" }, "blockchain": { "rpcUrl": "https://polygon.superprotocol.com/", @@ -150,7 +157,6 @@ Do not change the preconfigured parameters and fill in the following ones: |**Parameter**|**Description**| |:-|:-| -|accessToken| Your regular Testnet Access Token from the Testnet invitation email| |accountPrivateKey| Private Key of your provider's Action Account| |authorityAccountPrivateKey| Private Key of your provider's Authority Account| |key| Private key for order result encryption. Use the key from your User Account or generate a new one with the [workflows generate-key](/cli/commands/workflows/generate-key) command| @@ -158,7 +164,7 @@ Do not change the preconfigured parameters and fill in the following ones: |writeAccessToken| Storj access grant with **Full** permission (**Read**, **List**, **Write**, **Delete**) for this bucket (optional)| |readAccessToken| Storj access grant with **Read** permission for this bucket (optional)| -You can find the section with your Authority and Action Accounts Private Keys in `provider-tools-config.json` in the Provider Tools directory: +You can find the section with your Authority and Action Accounts Private Keys in `provider-tools-config.json` in the Provider Tools directory. Example: ```json title="provider-tools-config.json" "account": { @@ -180,7 +186,7 @@ If you use a free Storj account, your files will become unavailable after the en ::: -Create a bucket for your encrypted solutions and data. Refer to the [ Storj documentation](https://docs.storj.io/dcs/getting-started/quickstart-objectbrowser/) for guidance. +Create a bucket for your encrypted solutions and data. Refer to the [Storj documentation](https://docs.storj.io/dcs/getting-started/quickstart-objectbrowser/) for guidance. Create two access grants for this bucket. One should provide **Full** permission (**Read**, **List**, **Write**, **Delete**), and the other one **Read** permission. Refer to the [Storj guide](https://docs.storj.io/dcs/getting-started/quickstart-uplink-cli/uploading-your-first-object/create-first-access-grant/) to generate access grants. diff --git a/docs/marketplace/guides/deploy-model.md b/docs/marketplace/guides/deploy-model.md index c9e9ae4d..deba5c9e 100644 --- a/docs/marketplace/guides/deploy-model.md +++ b/docs/marketplace/guides/deploy-model.md @@ -3,4 +3,70 @@ id: "deploy-model" title: "Deploy Your Model" slug: "/guides/deploy-model" sidebar_position: 4 ---- \ No newline at end of file +--- + +This guide provides step-by-step instructions on how to upload and deploy an AI model. + +:::note + +Uploading models is currently available to Web2 users only. + +::: + +## 1. Create an offer + +1.1. In the **My Offers** screen, click the **New Offer** button. + + +
+
+ +1.2. Complete all the fields in the appearing window. + + +
+
+ +- **Name**: Type in the model name. Providing a meaningful name makes it easier to find the model later. +- **Category**: Select the type of task that the model is designed to perform. +- **Engine**: Select compatible engines; it is recommended to select both variants: + + **GPU-only** engines require CPU+GPU compute offers. + + **CPU-only** engines can run on both CPU-only and CPU+GPU compute offers. However, models work much slower in this mode. +- **Upload**: Click to upload files or a directory. The selected directory will become the root after upload. + +:::note + +Due to [Testnet limitations](/marketplace/limitations), the total size of model files should not exceed 13 GB. Support for bigger models will be available in the future. + +::: + +1.3. Click the **Create Offer** button. Do not close the window until the upload is complete. + +## 2. Open the Offer Builder + +The created offer is unpublished. You need to configure it in the Offer Builder before publishing to the Marketplace. + +To open the offer in the Offer Builder, click **Go to Offer** in the **New Offer** window. + + +
+
+ +Or click the **Edit** button next to your offer in the **My Offers** screen. + + +
+ +## 3. Check the model files + +In the **Files** tab, ensure the model format is recognized correctly. + + +
+
+ +If you need to upload more files related to this model, click the **Add Files** button. + +## 4. Deploy the model + +Click the **Deploy** button in the bottom-right corner of the screen. This will build an order with your model for a quick deployment. \ No newline at end of file diff --git a/docs/marketplace/guides/publish-offer.md b/docs/marketplace/guides/publish-offer.md index bcc3f205..c3728142 100644 --- a/docs/marketplace/guides/publish-offer.md +++ b/docs/marketplace/guides/publish-offer.md @@ -3,4 +3,149 @@ id: "publish-offer" title: "Publish an Offer" slug: "/guides/publish-offer" sidebar_position: 5 ---- \ No newline at end of file +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This guide provides step-by-step instructions on how to register a provider and publish an AI model on the Marketplace. + +:::note + +Creating offers is currently available to Web2 users only. + +::: + +## 1. Create a provider + +1.1. In the [Marketplace web app](https://marketplace.superprotocol.com/), open your account settings. + + +
+
+ +1.2. Scroll down, type in the desired **Provider Name**, and click **Create Provider**. + + +
+ +## 2. Create an offer + +2.1. In the **My Offers** screen, click the **New Offer** button. + + +
+
+ +2.2. Complete all the fields in the appearing window. + + +
+
+ +- **Name**: Type in the model name. Providing a meaningful name makes it easier to find the offer on the Marketplace. +- **Category**: Select the type of task that the model is designed to perform. +- **Engine**: Select compatible engines; it is recommended to select both variants: + + **GPU-only** engines require CPU+GPU compute offers. + + **CPU-only** engines can run on both CPU-only and CPU+GPU compute offers. However, models work much slower in this mode. +- **Upload**: Click to upload files or a directory. The selected directory will become the root after upload. + +:::note + +Due to [Testnet limitations](/marketplace/limitations), the total size of the model files should not exceed 13 GB. Support for bigger models will be available in the future. + +::: + +2.3. Click the **Create Offer** button. Do not close the window until the upload is complete. + +## 3. Open the Offer Builder + +The created offer is unpublished. You need to configure it in the Offer Builder before publishing to the Marketplace. + +To open the offer in the Offer Builder, click **Go to Offer** in the **New Offer** window. + + +
+
+ +Alternatively, click the **Edit** button next to the offer in the **My Offers** screen. + + +
+ +## 4. Check the model files + +In the **Files** tab, ensure the model formats are recognized correctly. + + +
+
+ +If you need to upload more files related to this model, click the **Add Files** button. + +## 5. Provide the offer description + +In the **Description** tab, provide information about the offer. It is recommended that you complete all the fields. + + +
+
+ +- **About\***: Write a general model description. This field supports Markdown. If the model files contain a `README.md` file, the description will be taken from it. +- **Name\***: Change the offer name if you like or leave the name you gave during the offer creation. +- **Category\***: Change the model category if you like or leave the one you selected during the offer creation. +- **Engine\***: Change the engine selection if you like or leave those you selected during the offer creation. +- **Parameters**: Specify the number of model parameters in millions or billions. +- **License\***: State the license under which the model is distributed. +- **Source URL**: Provide a link to the resource with the model files. +- **Languages**: Select supported languages. +- **Libraries**: Select the libraries that the model requires. + +Fields required to publish the offer are marked with \*. + +## 6. Create requirement slots + +In the **Pricing** tab, click the **Add Slot** button to open an editable template for a requirement slot. + + +
+
+ +You can create and configure multiple slots for each offer. + +If the offer supports both GPU-only and CPU-only engines, create at least one slot for each type to enable deployment on both. + + + + Complete the following fieds: + + - **Price**: Set the price in SPPI tokens for leasing the model and select the pricing type: + + **Fixed**: A one-time payment for each order, regardless of the lease duration. + + **Per Hour**: Payment is based on the number of hours the offer is leased. + - **Disk**: Set the required disk space in gigabytes (GB). It should not be less than the sum of all model files. + - **GPU RAM**: Set the required video RAM in gigabytes (GB). + - **Min Time** and **Max Time**: Set the minimum and maximum lease duration limits, as defined by the provider. `0` means no limit. + - Set all other fields to `0`, including **CPU RAM**. + + + Complete the following fieds: + + - **Price**: Set the price in SPPI tokens for leasing the model and select the pricing type: + + **Fixed**: A one-time payment for each order, regardless of the lease duration. + + **Per Hour**: Payment is based on the number of hours the offer is leased. + - **Disk**: Set the required disk space in gigabytes (GB). It should not be less than the sum of all model files. + - **CPU RAM**: Set the required RAM in gigabytes (GB). + - **Min Time** and **Max Time**: Set the minimum and maximum lease duration limits, as defined by the provider. `0` means no limit. + - Set all other fields to `0`, including **GPU RAM**. + + + +Click **Save** to create a slot. + +If the uploaded model exists in several formats, create requirement slots for each of them. + +## 7. Publish the offer + +Click **Publish Offer** in the bottom-right corner to validate and publish the offer on the Marketplace. If validation is unsuccessful, you will see yellow indicators marking the fields that need to be configured before the offer can be published. + +If you want to unpublish the offer, click the **[ ⋮ ]** button in the top-right corner of the screen. Note that offers cannot be completely deleted due to the blockchain immutability. However, unpublished offers do not appear on the Marketplace and cannot be used in orders. \ No newline at end of file diff --git a/docs/marketplace/images/edit-content.png b/docs/marketplace/images/edit-content.png deleted file mode 100644 index 863db746..00000000 Binary files a/docs/marketplace/images/edit-content.png and /dev/null differ diff --git a/docs/marketplace/images/hf-formats.png b/docs/marketplace/images/hf-formats.png deleted file mode 100644 index e8e6354e..00000000 Binary files a/docs/marketplace/images/hf-formats.png and /dev/null differ diff --git a/docs/marketplace/images/hf-gguf.png b/docs/marketplace/images/hf-gguf.png deleted file mode 100644 index da45590c..00000000 Binary files a/docs/marketplace/images/hf-gguf.png and /dev/null differ diff --git a/docs/marketplace/images/hf-safetensors-consolidated.png b/docs/marketplace/images/hf-safetensors-consolidated.png deleted file mode 100644 index dac3e9f0..00000000 Binary files a/docs/marketplace/images/hf-safetensors-consolidated.png and /dev/null differ diff --git a/docs/marketplace/images/hf-safetensors.png b/docs/marketplace/images/hf-safetensors.png deleted file mode 100644 index fcc56f95..00000000 Binary files a/docs/marketplace/images/hf-safetensors.png and /dev/null differ diff --git a/docs/marketplace/images/hf-text-generation.png b/docs/marketplace/images/hf-text-generation.png deleted file mode 100644 index 186eeb12..00000000 Binary files a/docs/marketplace/images/hf-text-generation.png and /dev/null differ diff --git a/docs/marketplace/images/hf-text-to-image.png b/docs/marketplace/images/hf-text-to-image.png deleted file mode 100644 index 4439ebec..00000000 Binary files a/docs/marketplace/images/hf-text-to-image.png and /dev/null differ diff --git a/docs/marketplace/images/info.png b/docs/marketplace/images/info.png deleted file mode 100644 index 17b5cf09..00000000 Binary files a/docs/marketplace/images/info.png and /dev/null differ diff --git a/docs/marketplace/images/my-offers-edit.png b/docs/marketplace/images/my-offers-edit.png new file mode 100644 index 00000000..fc3145ca Binary files /dev/null and b/docs/marketplace/images/my-offers-edit.png differ diff --git a/docs/marketplace/images/offer-builder-pricing.png b/docs/marketplace/images/offer-builder-pricing.png index c217d222..9876cac5 100644 Binary files a/docs/marketplace/images/offer-builder-pricing.png and b/docs/marketplace/images/offer-builder-pricing.png differ diff --git a/docs/marketplace/images/publish-offer-account.png b/docs/marketplace/images/publish-offer-account.png new file mode 100644 index 00000000..dfd02062 Binary files /dev/null and b/docs/marketplace/images/publish-offer-account.png differ diff --git a/docs/marketplace/images/publish-offer-create-provider.png b/docs/marketplace/images/publish-offer-create-provider.png new file mode 100644 index 00000000..b510d88a Binary files /dev/null and b/docs/marketplace/images/publish-offer-create-provider.png differ diff --git a/docs/marketplace/images/publish-offer-files.png b/docs/marketplace/images/publish-offer-files.png new file mode 100644 index 00000000..53935551 Binary files /dev/null and b/docs/marketplace/images/publish-offer-files.png differ diff --git a/docs/marketplace/images/publish-offer-new-offer-go-to-offer.png b/docs/marketplace/images/publish-offer-new-offer-go-to-offer.png new file mode 100644 index 00000000..0ebdadac Binary files /dev/null and b/docs/marketplace/images/publish-offer-new-offer-go-to-offer.png differ diff --git a/docs/marketplace/images/publish-offer-new-offer.png b/docs/marketplace/images/publish-offer-new-offer.png new file mode 100644 index 00000000..0dd021e7 Binary files /dev/null and b/docs/marketplace/images/publish-offer-new-offer.png differ diff --git a/docs/marketplace/images/upload-content-done.png b/docs/marketplace/images/upload-content-done.png deleted file mode 100644 index 36fe54a4..00000000 Binary files a/docs/marketplace/images/upload-content-done.png and /dev/null differ diff --git a/docs/marketplace/my-offers/index.md b/docs/marketplace/my-offers/index.md index 5b9a0766..eb18b79c 100644 --- a/docs/marketplace/my-offers/index.md +++ b/docs/marketplace/my-offers/index.md @@ -5,16 +5,16 @@ slug: "/my-offers" sidebar_position: 5 --- -This screen allows you to browse your offers and deploy your uploaded models. +This screen allows you to browse your offers and deploy uploaded models.

-The **New Offer** button opens a [modal window](/marketplace/my-offers/new-offer) where you can upload a model and create an offer. After uploading, you can publish the offer on the Marketplace to lease the model to other users or deploy the model without publishing. Check the guides on how to [Deploy Your Model](/marketplace/guides/deploy-model) and [Publish an Offer](/marketplace/guides/publish-offer) for step-by-step instructions. +The **New Offer** button opens a [modal window](/marketplace/my-offers/new-offer) where you can upload a model and create an offer. After uploading, you can deploy the model. Additionally, you can configure and publish the offer on the Marketplace to lease the uploaded model to other users. Refer to the guides on [Deploying Your Model](/marketplace/guides/deploy-model) and [Publishing an Offer](/marketplace/guides/publish-offer) for step-by-step instructions. -The table in the center of the screen lists all your offers, both published and unpublished. +The table in the center of the screen lists all your offers—both published and unpublished. -The **Edit** button opens the [Offer Builder](/marketplace/my-offers/offer-builder) allowing you to modify and publish an offer to the Marketplace. +The **Edit** button opens the [Offer Builder](/marketplace/my-offers/offer-builder), where you can configure and publish the offer. -The **Deploy** button adds the offer to an order and opens the [Order Builder](/marketplace/order-builder) to quickly deploy the model. \ No newline at end of file +The **Deploy** button adds the offer to an order and opens the [Order Builder](/marketplace/order-builder) for quick deployment. \ No newline at end of file diff --git a/docs/marketplace/my-offers/new-offer.md b/docs/marketplace/my-offers/new-offer.md index 9ba7bac2..c834d011 100644 --- a/docs/marketplace/my-offers/new-offer.md +++ b/docs/marketplace/my-offers/new-offer.md @@ -5,7 +5,7 @@ slug: "/my-offers/new-offer" sidebar_position: 1 --- -This window allows you to upload a model and create an offer. After uploading, you can publish the offer on the Marketplace to lease the model to other users or deploy the model without publishing. +This window allows you to upload a model and create an offer. After uploading, you can deploy the model. Additionally, you can configure and publish the offer on the Marketplace to lease the uploaded model to other users.
@@ -13,9 +13,11 @@ This window allows you to upload a model and create an offer. After uploading, y To upload a model, complete all the fields: -- **Name**: Provide any desired name. -- **Category**: Select the type of task that a model is designed to perform. -- **Engine**: Select compatible engines. Engine are required to deploy models and provide a user interface. Each engine exists in two variants, 'CPU only' and 'GPU only'. It is recommended that you choose both and decide how you want to run the model later during order creation. -- **Upload**: Click to select files or directories to upload. +- **Name**: A model name. Providing a meaningful name makes it easier to find the model later. +- **Category**: Type of task that a model is designed to perform. +- **Engine**: A solution to deploy the model and provide a user interface. Each engine has two variants: + + **GPU-only** engines require CPU+GPU compute offers to run. + + **CPU-only** engines can run on both CPU-only and CPU+GPU compute offers. However, models work much slower in this mode. +- **Upload**: A directory or files to upload. The uploaded model files are encrypted and accessible only to the Confidential Computing machine that deploys the model. -You can change all this data later, including the uploaded files. \ No newline at end of file +You can modify all of this data later using the [Offer Builder](/marketplace/my-offers/offer-builder), including replacing or adding uploaded files. \ No newline at end of file diff --git a/docs/marketplace/my-offers/offer-builder.md b/docs/marketplace/my-offers/offer-builder.md index 42880b73..f79e4264 100644 --- a/docs/marketplace/my-offers/offer-builder.md +++ b/docs/marketplace/my-offers/offer-builder.md @@ -45,7 +45,7 @@ This tab contains general information about the offer. - **Category\***: The tasks for which the model is intended. - **Engine\***: A solution that launches the model and provides a user interface. Each engine exists in two variants: + GPU-only engines require CPU+GPU compute offers. - + CPU-only engines can run on both CPU-only and CPU+GPU compute offers. + + CPU-only engines can run on both CPU-only and CPU+GPU compute offers. However, models work much slower in this mode. - **Parameters**: Model parameters in millions or billions. - **License\***: The license under which the model is distributed. - **Source URL**: A link to the resource with the model files. @@ -72,7 +72,7 @@ The **Add Slot** button opens an editable template for a slot that allows you to - **Price**: The price in SPPI tokens for leasing the model and the pricing type: + **Fixed**: A one-time payment for each order, regardless of the lease duration. - + **Per Hour**: payment is based on the number of hours the offer is leased. + + **Per Hour**: Payment is based on the number of hours the offer is leased. - **CPU vCores**: Number of virtual CPU cores; can be fractional. Set to `0` to create a slot for GPU-only engines. - **CPU RAM**: RAM in gigabytes (GB). Set to `0` to create a slot for GPU-only engines. - **GPU vCores**: Number of virtual GPU cores; can be fractional. Set to `0` to create a slot for CPU-only engines. @@ -102,4 +102,4 @@ Publishing an offer makes the model available to other users for deploying. Howe The **Deploy** button adds the offer to an order and redirects you to the Order Builder. Note that you do not have to publish the offer to deploy the model. -Click the **[ ⋮ ]** button in the top-right corner of the screen to unpublish the offer. Note that offers cannot be completely deleted due to the blockchain immutability. However, unpublished offers do not appear on the Marketplace and cannot be used in orders. \ No newline at end of file +The **[ ⋮ ]** button in the top-right corner of the screen allows you to unpublish the offer. Note that offers cannot be completely deleted due to the blockchain immutability. However, unpublished offers do not appear on the Marketplace and cannot be used in orders. \ No newline at end of file diff --git a/docs/marketplace/order-builder/index.md b/docs/marketplace/order-builder/index.md index 4c63f89e..2a07fef9 100644 --- a/docs/marketplace/order-builder/index.md +++ b/docs/marketplace/order-builder/index.md @@ -18,7 +18,7 @@ _Order Builder_ is a tool to configure deployment orders for AI models. Deployme If no model is currently added to the Order Builder, go to the **Marketplace** or **My Content** using the links and click the **Deploy** button next to the desired model. This will add the model to the order along with automatically selected engine and compute offers. -If the model offer has multiple [requirement slots](/fundamentals/slots), the **Deploy** button adds the first slot configured for GPU deployment. To deploy the model on CPU, click the model's name to open its [**Offer**](/marketplace/models/offer) window, go to the **Pricing** tab, and click the button next to the desired slot. +If the model offer has multiple [requirement slots](/fundamentals/slots), the **Deploy** button adds the first slot configured for GPU deployment. To deploy the model on CPU, click the model's name to open its [**Offer**](/marketplace/models/offer) window, go to the **Pricing** tab, and click the blue **[+]** button next to the desired slot. To view the model's selected slot, expand the **Requirements**. If you add your uploaded model to the order, its requirements are not specified. The system does not include such models in the automatic calculation of the compute configuration.