Every feature explained: what it is, why it exists, how to use it, where the traps are. No need to read front to back — use the search or the table of contents.
Data and datasets
Model quality is decided here, not during training. The platform can build a dataset from your documents, check it for contradictions and verify facts against an official source.
Uploading source material
📍 Where to find it: Data → Datasets, the «Step 1. Source material» block
The documents the platform turns into training pairs: text, office formats, PDFs, scans and data. You can also import chat logs and crawl your own website.
Why it exists
Your rules, manuals and correspondence already contain the answers — they just need converting into the form a model learns from.
Limits
Formats: txt, md, pdf, docx, pptx, xlsx, html, json, jsonl, ndjson, plus png, jpg, webp and tiff images, which go through OCR.
Up to 200 MB per source file, up to 50 sources per build.
OCR covers Russian and English, up to 30 pages per file; for PDFs it kicks in automatically when normal text extraction returns almost nothing.
Site crawl: up to 20 pages, up to 8 MB per page, same domain only.
Log import: CSV, JSON, JSONL, NDJSON — up to 5000 records and 50 turns per conversation, file up to 20 MB.
No more than 6 uploads per minute.
Traps
Audio and video are not supported.
The crawler does not check robots.txt — only crawl domains you own.
Only email addresses and phone numbers are masked automatically. Names, passport numbers, card numbers and addresses must be stripped before upload.
Checking material before building
📍 Where to find it: Data → Dataset sources (from the datasets page — the «🔬 Open in Dataset sources» button)
Three tools: chat with your sources, a search for duplicates and contradictions across documents, and a topic coverage map. They work inside a notebook — a set of materials with the history of working through them.
Why it exists
Fixing the material is cheaper than retraining. All three run before the first GPU hour is spent.
How to use it
A notebook first: «+ New notebook», give it a name and it opens. A notebook keeps a set of materials and the whole history of working through them, so nothing is lost on reload.
Then materials — right in the notebook, on the left: «📎 Upload a file» or a site address and «🌐 Crawl». New material lands in this notebook immediately. Anything already uploaded is attached with «+ Attach materials» → tick → «Attach»; the same file can sit in several notebooks, storage does not duplicate it.
Coverage map: clusters fragments by topic and shows where material is dense and where it is thin. Thin topics will be learned poorly.
Source check: finds duplicates (high similarity) and contradictions — fragments close in topic but diverging in facts. The teacher model reviews the disputed ones.
Chat with sources: ask the questions you are building the assistant for. An «not in the sources» answer means the dataset on that topic will be empty too.
Limits
Chat also runs on our API for money: the call is held, charged and capped daily. Source check and coverage map accept only your deployment or your own key — those calls are not metered, so our key would be unlimited there.
Material ticked on the datasets page travels with you — the «Open in Dataset sources» button puts it into a new notebook.
A freshly uploaded file is processed first (text extraction, OCR): you can attach it to a notebook right away, but answers start using it once processing is done — such files are marked «processing» in the materials panel.
Contradictions are searched only BETWEEN different sources: repetitions inside one file are normal.
Chat: up to 50 sources, up to 400 fragments searched, the 6 nearest used for the answer.
Traps
The classic trap is an old and a new regulation side by side: one says 14 days, the other 30. Without a check both go into the dataset and the model answers at random.
Building a dataset
📍 Where to find it: Data → Datasets, the «Step 2. Build the dataset» block
The teacher creates question-answer pairs from the fragments, a judge scores each from 1 to 10, and you accept or reject the disputed ones.
Why it exists
This turns documents into what a model actually learns from. The judge filters out junk, and manual acceptance keeps disputed items out of training.
Limits
Pair target: from 20 to 5000. Up to 300 fragments, up to 10 pairs per fragment.
Every pair carries a verbatim quote from the source, and the quote is checked programmatically — a fabricated one will not pass.
Repeat passes use different angles (conversational phrasing, edge cases, «why» questions) so pairs do not duplicate.
Multi-role mode and a jury of three
📍 Where to find it: Data → Datasets, «Jury» mode
Roles are split: one model writes the questions, another answers, and exactly three judges score the result independently.
Why it exists
One model asking, answering and grading itself is poor quality control. Different models catch each other's mistakes, and a split jury is a signal to bring in a human.
Limits
Exactly three judges — otherwise the request is rejected.
A unanimous accept above the threshold gives «accepted», a majority of rejects gives «rejected», disagreement sends the pair to manual review.
Each role can use your own deployment, our prepaid API, or your own provider key.
Price depends on model class: flagship models cost three times the base rate, fast ones half.
Traps
Judges from one lab tend to make the same mistakes — diversity matters more than picking «the smartest» model.
Pairs marked «for review» appear in no list filter and are skipped by the contradiction analysis — they are easy to forget.
Checking a dataset against a source of truth
📍 Where to find it: Build page → «🔍 Check against a source of truth»
Takes an existing dataset — your own, purchased or legacy — and verifies each pair's facts against an official document, proposing targeted fixes with a verbatim quote.
Why it exists
The regulation changed but the dataset did not. Redoing it by hand takes weeks; the check finds the divergences and fixes only the specific values.
How to use it
Upload the official document as a source and wait for processing.
Pick the source, a corrector model and — preferably — an independent validator.
Press «Check». Nothing is applied automatically.
Work through the diff table: was / becomes / quote / confidence. Accept fixes one by one or all high-confidence ones at once.
Export the build to a project — a new dataset version appears.
Limits
A fix is rejected if the quote is not verbatim in the source, or if the new value does not appear in the quote itself.
A fix that rewrites the whole answer instead of a specific value is flagged as editing and goes to a human.
High confidence is unreachable without an independent validator — without one, auto-apply is unavailable.
Fixes change pairs inside the build only; the new dataset version appears on export, so rolling back before export is free.
If a human edited the answer after the check, the stale fix is not applied — nobody's work gets overwritten.
Traps
Every pair costs one model call, plus a second if a validator is connected. For two thousand pairs on a flagship model that is a noticeable sum; the estimate is held before the start.
The diff table shows up to 200 rows at a time — work through a large dataset in batches.
Labelling live dialogues and the improvement loop
📍 Where to find it: Data → Review
A queue of dialogues from bots, the public link and inspectors. You flag bad answers and write correct ones — that becomes DPO training pairs.
Why it exists
Real customer questions are the best source of improvement: they show where the model fails in practice, not in tests.
Limits
Only guest dialogues enter the queue — your own chats are labelled right in the chat.
Up to 200 sessions are shown, unreviewed first.
A bare 👎 with no correct answer written does not enter the dataset — the good/bad contrast is required.
Traps
Re-exporting corrections to a project takes ALL of them, not just the new ones: with regular cycles the dataset grows through repetition.
Model comparison (duels)
📍 Where to find it: Training → Compare
Two models answer the same question with the same seed and you pick the better answer. Each choice is saved as a preference pair for DPO.
Why it exists
«It got better» is verified by comparison, not by feeling. And the comparisons accumulate data for the next tuning round.
Limits
Two running deployments are needed — both are billed for the whole session. You can compare a model against itself with different settings.
Draws are not saved: they carry no training contrast.
The pairs file downloads but is not registered as a project dataset automatically — upload it manually.
Traps
Un-picking a verdict in the interface does not delete the already saved pair on the server — a misclick stays in the data.
Ready datasets: upload and download
📍 Where to find it: Project page → «Dataset upload» and «Datasets»
If you already have a dataset you can upload it straight into a project. Any version can be downloaded back as a file.
Why it exists
Your data must stay yours: a dataset can be taken out at any moment and used anywhere.
Limits
The format is JSONL, each line {"messages": [...]} with system, user and assistant roles. The prompt/completion format is not accepted.
Up to 100 MB per file. Validation errors are reported for the first three lines.
The system prompt is detected automatically if the same one appears in at least a third of the examples.
Downloads: up to 20 requests per minute and up to 20 GB per day per organisation.
Traps
Roles such as tool or function are not supported: a file exported from another platform may fail validation.
Dataset versions accumulate and consume your storage quota — there is no version deletion in the interface yet.
Training and models
This is where the model is born: project → dataset → training → quality check → deployment. The platform handles the GPUs; you decide what to teach.
Questionnaire and work plan
📍 Where to find it: /onboarding — linked from the empty projects list
Five questions about your task: industry, the AI's role, data language, what material you have, whether you have internal rules, and the cost of a mistake. The output is a work plan with a budget in three variants.
Why it exists
So you do not have to guess the model size and dataset volume. It turns «I want an assistant» into concrete numbers: how many examples, which method, and what it will cost.
How to use it
Answer the 5 blocks — the draft is saved in your browser, so you can come back later.
Press «Build my plan & budget».
Compare the three tiers and press «Create project» on the one you want — the project is created with the right base model and method.
Limits
Minimal — Qwen2.5-1.5B, LoRA: validate the idea.
Optimal — Qwen2.5-7B, LoRA: a working tool (the default recommendation).
Max — Qwen2.5-32B, QLoRA: production-grade quality.
Example volume follows your answer: under 500 → 300 examples, 500–5000 → 2000, over 5000 → 8000. The minimal tier is capped at 800.
The budget is shown as a ±30% range — an estimate, not an invoice.
Traps
The plan is an estimate made at the time you filled it in. The real training cost is calculated as a separate estimate before every run.
If you answered «no material», the example count is inferred from your risk level — but you still have to build the dataset: the platform will generate it through an expert interview, which costs more than working from existing documents.
Project
📍 Where to find it: Training → Projects
A folder for one task: its datasets, training runs, experiment log and the reference questions used for quality checks.
Why it exists
A model is not trained once but in series: try, measure, refine. The project keeps the whole series together so you can see which version is better and why.
How to use it
«Create project» — a name is enough.
Pick the base model in the project header — it drives both price and quality.
The project then shows sections for datasets, training runs, the experiment log and the golden set.
Traps
Changing the base model affects FUTURE runs only. Already trained versions are not retrained — this is easy to mistake for «the model was reset».
Choosing a base model
📍 Where to find it: Project page, the dropdown in the header
A catalogue of 12 vetted models: the Qwen2.5 line (1.5B, 7B, 14B, 32B, 72B), Qwen3.5 (9B, 27B), Mistral Nemo 12B, Llama 3.1 8B and 3.3 70B, Gemma 3 (12B, 27B). Technically you can point to another Hugging Face repository too.
Why it exists
The base size drives both the price and the quality ceiling. The catalogue saves you from trial and error: each model comes with a note on what it is for and which licence applies.
Limits
Gemma 3 is deployment-only — it cannot be trained and will not appear in the list.
Llama and Gemma are licence-gated (the 🔒 icon): you need an HF token with the licence accepted.
Apache-2.0 (all Qwen2.5/3.5 except 72B, and Mistral) — commercial use with no conditions. The Qwen licence (72B) — up to 100M monthly active users. Llama requires a «Built with Llama» notice. Gemma — Google's prohibited use policy applies.
72B and 70B are QLoRA-only; serving them needs two A100-80 cards.
Traps
«I'll take the big one to be safe» is the most expensive mistake. The estimate scales linearly with parameter count: 72B on 2000 LoRA examples is roughly 32 GPU hours.
Llama and Mistral are noticeably weaker than Qwen in Russian. If your data is Russian, start with Qwen.
Starting smaller is sensible: it shows faster and cheaper whether your dataset is any good at all.
Thinking models
📍 Where to find it: Project page, base model picker — the 🧠 badge
The model reasons first and answers after. The reasoning chain is shown separately in the chat, in a grey block above the answer.
Why it exists
On tasks involving arithmetic, comparing conditions and multi-step inference, reasoning noticeably improves accuracy. And you see the chain of thought — you can tell exactly where the model went wrong.
How to use it
Pick a base model with the 🧠 badge — currently Qwen3.5 (9B or 27B).
Train as usual: the ability to reason comes with the base model.
In the chat, enable «💭 reasoning» to see the chain of thought. The toggle only controls display — the model thinks either way.
Limits
There is NO «enable thinking» switch: it is a property of the base model, not a platform setting.
Only Qwen3.5 thinks. Qwen2.5, Mistral and Llama do not.
The platform itself asks the model to think briefly and in the question's language — without that, «who are you» produced a long English monologue to a Russian question.
Traps
Leave headroom in the answer length: reasoning consumes the same token budget. At 512 the model may think until the limit and never reach an answer.
Do not enable fast cold start: it trims the context window to 4096 tokens, and reasoning plus the answer plus the knowledge base will not fit.
Training on plain question-answer pairs without reasoning weakens the thinking — the model learns to answer immediately because every example looks that way. To keep reasoning, include it in the training data.
Training methods
📍 Where to find it: Project page, the training launch form
Eight methods: LoRA, QLoRA, FFT, DPO, KTO, GRPO, ORPO and DAPT — reading a raw corpus before pair training. Plus model merging as a separate operation.
Why it exists
Different goals need different interventions: embedding knowledge, fixing tone, unlearning bad phrasing. No single method covers all of it.
Limits
LoRA — a light adapter on top of the base: fast and cheap. The first step for most projects.
QLoRA — LoRA on a quantised base: lighter on memory, slightly lower quality. For large models and drafts.
FFT — full fine-tuning of all weights: pricier, but it embeds knowledge and character most deeply. For the final «anchor».
DPO — training on pairs of a good answer versus a bad one. Needs a pairs dataset: export from the builder or from inspector corrections.
KTO — on single 👍/👎 ratings, no pairs. Gentler and simpler than DPO.
ORPO — like DPO but without a reference model: lighter on memory, good when you have few pairs.
GRPO — reinforcement learning for multi-step reasoning. An advanced stage, after SFT and DPO.
DAPT — a step BEFORE pairs: the model reads the client's documents in a row and absorbs the language of the field. The corpus is built from the knowledge base in the model card. Harsh settings break obedience — check the model on «Readiness» after training.
Traps
You can pick any method, but the dataset format is only validated on the GPU. DPO needs chosen/rejected pairs, KTO needs ratings. A plain dialogue JSONL sent to DPO fails after the pod has already started and begun costing money.
GRPO is the longest method: its timeout is four times the normal one, and it makes little sense without prior SFT and DPO.
Advanced hyperparameters
📍 Where to find it: Project page → «⚙ Advanced training settings»
Six parameters: learning rate, epochs, batch size, LoRA rank and alpha, seed. Leave them empty to use sensible defaults.
Why it exists
Sometimes the defaults do not fit: little data means fewer epochs, a narrow domain may want a higher adapter rank. Everything else is set by the platform so a run cannot be broken by accident.
An out-of-range value is not rejected but silently clamped to the boundary. A non-numeric value is an error.
Nothing else can be set: card choice, GPU count, checkpoint paths and internal flags are server-owned.
Traps
Pick the LoRA rank up front for the whole series of branches: branches with different ranks cannot be merged, and you only find out at merge time.
Many epochs on a small dataset overfit the model: it starts reciting examples verbatim and handles new questions worse.
Estimate and funds reserve
📍 Where to find it: Project page, next to the launch button
Before every run you see an estimate and the calculation chain: examples → training minutes → which card and its rate → total. On launch the amount is held, and the actual GPU hours are charged afterwards.
Why it exists
So there are no surprise bills. The hold additionally protects your balance from going negative if training runs longer than estimated.
A platform coefficient of 1.5 is applied. The minimum charge is $0.10.
About 7 minutes of pod preparation (downloading the model and image) is added to the training time.
If your balance is short, the launch is rejected and the required amount is shown.
Cancellation, failure or timeout return the hold in full.
Traps
The estimate is a heuristic over example count and model size, not a guarantee. The final charge follows actual pod time.
The hold temporarily reduces your available balance: while training runs you may not have enough to start a second one, even if the first ends up cheaper.
Launch, statuses and the loss curve
📍 Where to find it: Project page → the «Jobs» section
Training runs on the platform's servers. The job row shows status, method and estimate; below it a loss curve is drawn with step progress and an ETA.
Why it exists
The loss shows whether the model is learning at all. A curve that is flat from the start is a reason to stop and inspect the dataset rather than wait it out.
The list refreshes every 3 seconds, metrics every 15.
Logs become available after completion: the last 20,000 characters are returned.
You can cancel while created, provisioning or running. Once weights are uploading, cancelling is no longer possible.
You can close the tab: training runs on the server and the result will be waiting for you.
Traps
The «Cancel» button is also visible during weight upload, but the server will refuse — that is the final and short stage.
The hard job timeout is 3 hours (double for FFT, quadruple for GRPO). A run that exceeds it is killed and the hold is returned.
What the platform does on its own
While training runs, watchdogs monitor the pod: job timeout, liveness checks, faulty-host detection and automatic migration to another card.
Why it exists
The GPU provider sometimes hands out a dead host: the pod exists but the container never starts. Without a watchdog such a run would burn money for hours in silence.
Limits
If a pod produces no files within 22 minutes — up to 4 attempts on fresh pods, then an honest failure with a notification.
Signs of a faulty host (CUDA, ECC, NCCL errors) — up to 2 automatic restarts.
If the requested card type is unavailable, the platform walks a fallback cascade: for RTX 4090 that is A5000 → L4 → L40S → A100.
A successful finish creates the weights artifact and registers the model in your library automatically.
Model merging
📍 Where to find it: Project page → «🧬 Merge with base» on a finished LoRA/QLoRA/DPO job
Turns a LoRA adapter into a full model, and can also merge several branches — say a style branch and a facts branch — into one.
Why it exists
An adapter cannot be deployed on its own. Merging branches also lets you assemble a model that knows the domain and holds the right tone at once, without one giant dataset.
How to use it
On a finished LoRA job press «🧬 Merge with base».
Pick the method: linear for one or two branches, TIES for three or more.
Tick additional branches if you have them (only compatible ones are listed).
For non-linear methods set the density — the share of significant weights per branch (default 0.5).
Merging takes 5–10 minutes; the result deploys in one click.
Limits
Methods: linear, TIES, DARE-TIES, DARE-Linear. Up to 10 additional branches per run.
All branches must be trained from the same checkpoint and share the same LoRA rank.
Density is configurable between 0.10 and 0.90.
The cost is fixed — a quarter of a GPU hour (about $0.52 on an A100).
Traps
Linear on three or more branches is a known real-world mistake: the deltas start interfering and quality drops (7.3 → 6.2 in our run). Use TIES.
If the branch you want is missing from the list, that is not a bug but a guard: it was trained from a different checkpoint or with a different rank.
Deploying a trained model
📍 Where to find it: Project page → «Deploy» on a finished job
Brings the model up on a GPU and registers it in your library. The card is picked automatically by size: up to 4B — RTX 4090, larger — A100 80GB.
Why it exists
Trained weights alone are useless — to talk to the model you need a running inference endpoint with an API and a chat.
Traps
LoRA jobs have no «Deploy» button: merge with the base first. A newcomer easily reads this as a failed training run.
If the project has reference questions, a quality run starts automatically after deployment — that is a separate cost for the judge model.
Quality checks: golden set and eval
📍 Where to find it: Project page → «🏅 Quality: golden set»
Your reference questions, which each new version answers after training while a judge model scores from 1 to 10.
Why it exists
Without measurement, «it got better» is a feeling. The golden set turns it into a number and shows whether the new version broke something that used to work.
How to use it
Add 5–10 questions your customers actually ask. A reference answer is optional, but the judge checks facts against it.
Pick the deployment under test and, optionally, a judge — otherwise the platform picks one.
Press «Run eval». A sleeping judge model is woken by the platform.
Clicking a history row expands the questions, answers, scores and judge comments.
Limits
The quality threshold is 7.0 out of 10: below that it is flagged as «below threshold».
A question is up to 4000 characters, a reference answer up to 8000.
The «no prompt» mode runs the model WITHOUT its system prompt — a check that behaviour is baked into the weights rather than propped up by prompting.
A judge on «own API» or «own hardware» is not woken automatically — start it yourself.
Traps
If you have only one model running, it will judge itself — the label says «(the model itself)». That score is inflated: the model is grading its own answers.
A score below the threshold does NOT block deployment or delivery. It is a traffic light, not a barrier.
Only runs with the same judge and the same prompt mode are comparable — otherwise the numbers mean nothing next to each other.
Experiment log and model passport
📍 Where to find it: Project page → «🧪 Experiment log»
A table of every training run in the project: date, method, dataset, loss from start to finish, cost, eval score and status. The 📋 button opens the version passport.
Why it exists
In a month you will not remember which of eight versions was best or what it was trained on. The log answers that at a glance, and the passport is a hand-over document for your customer.
Limits
The last 50 runs of the project are shown.
Model library and importing your own weights
📍 Where to find it: Deployments → the «Deploy model» form, tabs 🗂 Library / 📁 Own weights / 🤗 HuggingFace
Your organisation's model storage: everything trained on the platform, imported from HuggingFace or uploaded as files. Redeploying from the library is instant.
Why it exists
So you do not depend on external services and do not re-download the same weights on every launch.
Limits
HuggingFace import — up to 200 GB per model; private repositories need your HF token.
File upload: up to 100 files per session, 100 MB parts, extensions .safetensors, .bin, .json, .txt, .model, .jinja.
Total organisation storage — 100 GB.
Traps
The library is not where people look for it: it lives in the deployment form's tabs, not in the «Models» section.
A single 70B model in bf16 (~140 GB) passes the import limit but will not fit the 100 GB total storage quota.
Model export: delivery to your cloud and self-hosting
📍 Where to find it: Models → Model export
Sends the weights straight to your S3-compatible bucket (AWS S3, Cloudflare R2, Google Cloud Storage, MinIO) — cloud to cloud, no browser involved. Next to it, «📦 Self-host bundle» gives a ready docker-compose on vLLM.
Why it exists
This is what «the model belongs to you» actually means: the weights go to your infrastructure, and the self-host bundle lets you run them without us.
How to use it
Add a destination: endpoint, bucket, region, prefix and keys. The platform verifies access before saving.
Pick a model and a destination, press «Deliver» — progress is visible in the history.
Press «📦 Self-host bundle», download the weights into ./weights and run docker compose.
Limits
Only the organisation owner or an admin can add destinations and start deliveries.
Destination keys are encrypted and never handed back out.
The destination must be a public address: a MinIO on your internal network cannot be connected.
The self-host bundle brings up an OpenAI-compatible endpoint on port 8000.
Traps
The «Download weights» button on a job returns only the FIRST .safetensors file. For large sharded models that is an incomplete set — use delivery to your own storage instead.
Training on your own hardware (BYOC)
📍 Where to find it: Training → Own hardware
Our agent is installed on your GPU server, takes a job, downloads the dataset via a temporary link, trains locally and returns the weights. Data and compute stay with you.
Why it exists
If you already own cards or have data-residency requirements, there is no reason to pay for our GPU. Training on your own hardware is not billed by GPU hours.
How to use it
Register the agent and copy the token — it is shown exactly once.
Run the provided docker command on your server (GPU, docker and nvidia-container-toolkit required).
Check that the server shows as «online» and its GPU is visible.
When launching training in a project, tick «🖥 On my server».
Limits
An agent counts as online if it checked in within the last 120 seconds.
Weight upload by the agent: up to 20 GB per file, up to 40 files per job.
We open no inbound connections to your server — the agent polls the platform itself.
Training on your own hardware is GPU-free but still occupies one of your three concurrent job slots.
Traps
«Agent online» does not mean «GPU visible». If the card is not passed through, the platform warns you — the job would go to the server and fail.
Deploying a model on your own hardware is a separate service with a $29/month subscription per deployment. Only training is free.
An agent with active deployments cannot be deleted: otherwise «Stop» would stop killing the container while the subscription kept accruing.
Organisation quotas and limits
Technical ceilings shared across the organisation: concurrent GPU jobs, daily spend, storage and import size.
Why it exists
They protect you from accidental overspending: a forgotten loop of launches or an oversized import hits a limit rather than your invoice.
Limits
3 concurrent GPU pods (training runs and deployments combined).
$200 of charges per 24 hours.
100 GB of total storage.
200 GB per single model import.
Deployment and channels
A trained model starts paying off when people can talk to it: in a chat, behind a link, in a messenger or from your code. This part covers bringing it up and delivering it.
Four ways to deploy a model
📍 Where to find it: Deployments → the «Deploy model» form
Our GPU (from the library, your own files or from HuggingFace), «Your API» pointing at an external provider, and «Own hardware» on your own server.
Why it exists
Constraints differ: sometimes price matters, sometimes data must stay inside your perimeter, sometimes you already own cards. The platform's wrapper — chat, bots, links, API — works on top of any of them.
Limits
Our GPU: a deposit worth about 2 hours of the card is held at launch.
«Your API»: up to 50 deployments per organisation, the provider must be on the allowed list, no GPU hours are spent — you pay the provider directly.
«Own hardware»: up to 20 active deployments, a $29/month subscription per deployment prorated by uptime, and the model must be at most 400 files.
Cards per deployment: 1, 2, 4 or 8.
Traps
«Your API» and «Own hardware» have no «Stop» or «Restart» buttons — there is nothing to shut down, and restarting means creating a new deployment.
HuggingFace import checks repository access BEFORE starting a pod — if the model is licence-gated you find out immediately rather than after burning GPU hours.
Auto-stop: the model sleeps when idle
📍 Where to find it: Deployment card → the «⏱ 30m» button
After the configured idle time the pod shuts itself down. Idleness is measured honestly — by the model's processed-request counter, not by whether your chat tab is open.
Why it exists
The GPU is the most expensive part. A model asked ten questions a day should not cost the same as a 24/7 one.
Limits
Range 5…240 minutes, default 30. A value of 0 means 24/7 — no auto-stop at all.
Values of 1–4 minutes are rejected: waking that often costs more than idling.
The change takes effect immediately, no pod restart needed.
Traps
In 24/7 mode the only safety net is the escrow: at 80% of the hold spent the platform reserves another 2 hours, and on an empty balance it shuts the pod down and notifies you.
A sleeping model does not answer over the OpenAI-compatible API — you get a 503. It does not wake itself from an API request.
Fast restart and fast cold start
📍 Where to find it: Deployment card → «⚡ Restart» and «🚀 Cold start»
Fast restart keeps the weights on a persistent disk next to the GPU so they are not downloaded again. Fast cold start adds vLLM flags that speed up loading the model into memory.
Why it exists
These are two different stages of startup. The volume removes the download (minutes); the flags speed up loading into the GPU. For a sleeping model woken by visitors both matter.
Limits
Volume size is computed automatically: model weight ×1.2 plus 5 GB, minimum 20 GB. Price — $0.15 per GB per month.
Fast cold start applies on the NEXT launch: it adds --enforce-eager and reduced max-num-seqs (32) and max-model-len (4096).
Fast restart can only be switched off on a stopped deployment — the volume is in use.
Traps
The volume is pinned to one data centre. That narrows the fallback card choice: if that centre has no capacity, the platform brings the pod up WITHOUT the volume, turns fast restart off and sends an alert — while the volume stays and keeps costing money.
Fast cold start trims the context window to 4096 tokens — long dialogues start getting truncated. Usually invisible for a chat bot, not so for document work.
Deleting the deployment also deletes the paid volume.
System prompt
📍 Where to find it: The creation form, the chat page («📌 embed») and the 🤖 TG panel
An instruction mixed into EVERY dialogue: the assistant's role, rules and prohibitions. It changes on the fly, with no pod restart.
Why it exists
So users never talk to a «bare» model. The prompt applies to all channels at once — chat, bot, link and API.
Limits
Up to 8000 characters.
The prompt is also saved into the library model: every future deployment of that model inherits it.
Changing the prompt clears the accumulated semantic cache — otherwise the cache would serve answers made under the old rules.
Traps
A public-chat guest cannot inject their own system prompt — all such messages are stripped from the request. This protects the assistant's role from being overridden.
Behaviour layer: answer tone and formatting
📍 Where to find it: Deployment card → «🎛 Tone»
Four settings: confidence (cautious / neutral / confident), formality (casual / neutral / formal), verbosity (brief / neutral / detailed) and formatting (plain text / up to the model / headings and lists / headings, lists and emoji).
Why it exists
Match the tone to your brand without retraining. It applies to all channels immediately.
Traps
This is a prompt layer, not weight surgery: the model may partly ignore it. If the tone must hold firmly, bake it in through training.
Every tone change clears the accumulated answer cache.
Knowledge base (RAG)
📍 Where to find it: Deployment card → «📚 KB», or the panel on the chat page
Documents the model pulls facts from when answering. A file is split into chunks and the nearest ones are mixed into each question. The format is detected from content: text, Markdown, PDF, Word, Excel. Chunking and the similarity threshold can be set for the whole base and separately per file.
Why it exists
Update knowledge instantly, without training. The price list changed — upload the new file and the model answers correctly from that second.
How to use it
Upload a file and wait for the «ready» status: processing runs in the background; the file row shows the number of chunks.
The «🎯 suggest» button in the file row measures the document's natural blocks and proposes a chunk size and separator (usually «##» and a size fitting the largest section). No need to set 8000 characters «just in case»: extra text in a chunk dilutes similarity.
The similarity threshold drops chunks unrelated to the question. It is set per base and, when files differ a lot, per file in the «Chunking of this source» block; «suggest threshold» shows the distribution.
A question about a whole (a scheme, a system, a full list) returns the section as a whole; a long section is answered in parts. If several sections fit equally, the bot asks which one — the phrase is configured in «Phrase when several sections match» with {options} and {n} placeholders.
A list question («what … are there») with seven or more matching sections becomes a grouped table of contents: the bot offers a group, then a section.
Search probe and trace show which chunks went into the answer and why: search steps, named sections, thresholds.
Limits
Up to 20 sources per base.
Default chunk is 1500 characters with a 200-character overlap; the size can go up to 8000, the 4 nearest go into the answer (up to 12).
Re-uploading a file with the same name replaces the old chunks rather than duplicating them.
A heading left at the end of a chunk without text is moved to the next chunk automatically.
Traps
The knowledge base is deleted together with the deployment and cannot be recovered — keep the originals on your side.
Similarity thresholds do not carry over between search models: after changing the model, tune them again.
A per-file threshold only helps where files differ a lot in similarity; on a homogeneous base one common threshold gives the same result.
Answer confidence level
📍 Where to find it: Under every answer on the chat page
A «🟢 confident / 🟡 partial / 🔴 weak» badge shows how well the answer is grounded in relevant knowledge-base fragments.
Why it exists
The model also changes its own behaviour: on a weak match the prompt gains an instruction to honestly say the data is insufficient rather than confidently invent.
Limits
🟢 from a similarity of 0.55, 🟡 from 0.40, below that 🔴.
Works only with a knowledge base attached. Without one there is no badge — that is not «bad», there is simply nothing to ground against.
One-click answer fix
📍 Where to find it: Chat page → ✏️ on an answer → «⚡ Fix now»
You write the correct answer and it goes straight into the knowledge base: the model answers correctly immediately, without retraining. In parallel the correction accumulates as a pair for future DPO.
Why it exists
A production mistake should not wait for the next training cycle. This is the difference between «we'll fix it next week» and «fixed».
Limits
A correction is up to 16,000 characters; each takes one of the 200 knowledge-source slots.
A correction automatically marks the answer 👎 — by design: it is both a rating and a fix.
Semantic cache
Repeated questions are answered instantly from cache without waking the GPU. It works even while the model sleeps.
Why it exists
On a public link guests ask the same things. The cache turns the tenth identical question into an instant answer at zero GPU hours.
Limits
Only a SINGLE first question is cached: for contextual follow-ups the same text means different things.
Only confidently grounded answers are stored — «I don't know» and guesses never enter the cache.
The «same question» threshold is 0.93, the size is 200 entries, the lifetime is a week (configurable in the admin panel).
The cache is language-aware: a Russian question is answered by a Russian entry.
Editing the prompt, tone or knowledge clears the cache.
Traps
Telegram and WhatsApp bots do NOT use the cache — every message goes to the GPU. The same question via the public link answers instantly, while in the bot it wakes the model.
Caching answers without a knowledge base is off by default and enabled deliberately: on a public bot it risks cross-serving answers a guest could have influenced.
Public link and website widget
📍 Where to find it: Deployment card → «🔗 link» and «</> Embed»
A link to chat with the model for people without an account, and a ready iframe snippet to paste into your site's HTML.
Why it exists
Show the model to a customer or put a chat on your site — with no development and no keys handed out.
Limits
Guest limits: 20 requests per minute per address, history up to 40 messages, temperature capped at 0.4, knowledge base forced on. The answer length cap is configurable (1200 tokens by default).
The link is human-readable: the model name is transliterated, then a date and a random salt are appended.
A link password is 8 to 72 characters; the guest receives a 24-hour pass.
Traps
Re-enabling the link creates a NEW one: the old stops working and the site widget breaks. Rotate it deliberately.
Disabling the link kills the widget and guest access, but the permanent API key keeps working.
On a sleeping deployment a public link means any visitor can trigger a GPU start-up at your expense.
For a thinking model (🧠) the answer cap needs headroom: reasoning consumes the same token budget, and a low cap leaves the guest with a mid-sentence cut-off or reasoning with no answer at all.
Inspectors: experts with their own accounts
📍 Where to find it: Deployment card → «🕵️ inspector», «Channels» tab → «Inspectors» block
A separate page for outside experts: each signs in with their own name and password, picks a region (division) from your list, chats with the model, rates answers and writes correct ones. Session history is kept without expiry and shown to the inspector in the sidebar; corrections go to the review queue and into training pairs with the name and region.
Why it exists
Quality labelling should be done by a domain specialist, not a developer. One account each — so the platform tracks every contributor and you see who fixed what and where.
How to use it
Enable the inspector link with «🕵️ inspector» — it appears in the card and on the «Channels» tab.
In the «Inspectors» block create accounts: a name and password per expert; an account can be disabled without deleting its history.
Fill in the list of regions (divisions) — without picking a region the inspector cannot sign in.
Give the expert the link and their name with password. On the page they pick a region, then it is the usual chat with ratings and fixes.
Limits
30 requests per minute per inspector.
The region is written into every session and into DPO/KTO exports — divisions can be compared by it.
Traps
After a 👎 the expert cannot continue until they write the correct answer. This is deliberate: a rating without a fix produces no training material.
One shared account for all experts devalues the labelling: the platform cannot tell their contributions apart. Create one account per expert.
Telegram and WhatsApp bots
📍 Where to find it: Deployment card → «🤖 TG» and «🟢 WA»
Your model answers inside your own bot. For Telegram you just paste the BotFather token — the platform sets the webhook itself. For WhatsApp you enter four values from your Meta app and set the webhook on your side.
Why it exists
Customers already live in messengers. This is the shortest path from a trained model to a real user.
Limits
20 messages per minute per chat, history of the last 20 messages, answers up to 1024 tokens.
Telegram caps messages at 4096 characters, WhatsApp at 4000; the platform splits answers itself.
Voice notes in Telegram are transcribed and handled as a normal question; images and reactions are ignored.
Bot menu: in the Telegram panel set the button text, your site URL (https) and a greeting. The menu button next to the input opens the site inside Telegram as a Mini App; /start, /menu, /new (new conversation) and /help are answered by the platform and never reach the model.
Traps
Bots do not use the semantic cache: every message wakes and loads the GPU. On a sleeping model that shows up in both latency and cost.
The «🌙 Wake the model on message» checkbox is ONE flag for both messengers, even though it appears in both panels. Disconnecting a bot resets it.
Auto-wake waits up to 30 minutes, then honestly reports that the model did not wake up.
Guest panel and client-side registration
📍 Where to find it: «Channels» tab → «🧭 Guest panel»
Cards in the sidebar of the public chat: weather for the guest's place, their topics, an answer journal and an invite link. A guest is a visitor with a browser identity; a registered guest is recognised by your site's signature: the site registers people itself (email, SMS, Telegram) and signs their ids with the bot secret. Group chats (rooms) — one chat per crew or department, everyone sees the questions and answers.
Why it exists
The chat becomes a personal account without rewriting the platform: it stores only what your site vouched for and knows nothing about a person's email or phone.
How to use it
Enable the panel and the cards you need; card names and «what an entry is attached to» are your own words.
Take the guest secret (button in the panel) and sign the ids of registered users on your site: header X-Guest-Auth = expiry.HMAC-SHA256(secret, id|expiry).
The topics a guest ticks and their entries reach the model as a soft hint — the question is read in their context.
Traps
The weather card takes its source and key from the «Weather forecast» block on the «Skills» tab — without it there is no card.
Rotating the guest secret invalidates all issued signatures: users sign in again.
Next-question suggestions
📍 Where to find it: «Channels» tab → «💡 Next-question suggestions»
After every answer the bot names a few questions the customer is most likely to ask next — from the conversation topic and the knowledge base. In the public chat they are buttons under the answer, in Telegram a keyboard.
Why it exists
The customer does not know what else the bot can do. Suggestions guide them through the topic and deepen the conversation.
Traps
A suggestion is a user's line, not the assistant's question: «What variety do you grow?» cannot be a suggestion. If that appears, check the prompt and the verified pairs.
When there is nothing to continue (the answer is closed), the bot offers starter questions rather than inventing a follow-up.
Lead form and CRM
📍 Where to find it: «Channels» tab → «📩 Lead form»
When a visitor asks about price, contacts or buying, the chat shows a form: name, company, region, tax id, phone, email — you choose the fields. A submitted form becomes a deal in your CRM (Bitrix24 via an inbound webhook, or any webhook): the contact and company are matched by phone, email and tax id rather than created anew.
Why it exists
The request reaches the regional owner immediately, without copying it from the chat into the CRM by hand.
How to use it
Paste the CRM webhook URL, set the pipeline, stage and source.
Fill in regions: name, the CRM list item id and the owner (CRM user id); the region field is required.
«Check connection» creates and deletes a test record; unsent leads are visible in the dashboard and can be re-sent without duplicates.
Traps
A Bitrix webhook cannot edit dictionaries: create the deal source and the division list in the CRM yourself.
A region without an owner sends the deal to the default owner — that is you.
Staging copy of a bot
📍 Where to find it: Deployment card → «🧪 Staging copy»
A second bot with the same settings, knowledge base (original files included), blocks and verified answers, its own link and history. Changes are verified on the copy while customers use the production bot.
Why it exists
Rebuilding the base, a new threshold or prompt must not break the production bot in front of customers.
How to use it
«Create a staging copy» — the copy's link is password-protected; the password is shown once.
Edit and verify on the copy; «Promote to production» swaps the contents, the previous production version stays in staging as a rollback.
«Refresh staging from production» makes the copy an exact copy of the production bot to start a new round of changes.
Traps
Refreshing staging discards unsaved edits on the copy.
Thresholds tuned on the copy carry over with the base — but only if the search model is the same.
API for your product
📍 Where to find it: Deployment card → «</> Embed» → the «Permanent API» block
Every deployment has a permanent key of the form sk-sm-… and an OpenAI-compatible endpoint. Anything that speaks the OpenAI API — official SDKs, LangChain, n8n, ready-made bots — works by swapping base_url.
Why it exists
The integration does not depend on the public link, stops or restarts: the key lives its own life and changes only on explicit rotation.
Limits
60 requests per minute, answers up to 8192 tokens, a single message up to 100,000 characters.
The system prompt and knowledge base are mixed in automatically — as in every other channel.
You can disable the knowledge base per request via extra_body: {"use_rag": false}.
Traps
A sleeping model answers the API with a 503 and does not wake itself. If the integration must always work, use 24/7 mode or wake the model in advance.
Key rotation kills the old one instantly: update your integrations before you press it.
The key is visible in the interface — keep it on your server, not in page code.
Dashboard chat: the quality lab
📍 Where to find it: Deployment card → «Chat»
A full chat with streaming, generation settings, dialogue history, 👍/👎 ratings, corrections and DPO pair export.
Why it exists
This is where the flywheel closes: you test the model, flag bad answers, write correct ones — and that becomes material for the next training round.
Limits
The last 50 dialogues are kept; the title is the first 60 characters of the first question.
Generation settings apply only after the «✓ Apply» button and take effect from the next message.
Public-link dialogues are NOT saved to history — only your own and the inspector's.
Traps
The «dialogue memory» indicator assumes 8192 tokens and does not know about the trimmed context window of fast cold start — its percentages lie in that case.
Waking a sleeping model
Four parties can wake the model: you with «▶ Start», an expert via the inspector link, a guest via the public link's «Poke me», and the first message to a connected bot.
Why it exists
A sleeping model should not mean an unavailable one. Different channels wake it themselves so a visitor does not hit silence.
Limits
Public wake-ups are limited to 6 per minute per address; repeated taps are idempotent.
While the model comes up, the guest sees start-up progress and a rotation of quips.
If the owner's balance is empty, the guest is honestly told it is unavailable — with no technical detail.
Traps
All wake-up GPU hours are paid by the deployment owner, whoever triggered them.
Start-up time depends on model size and whether a volume exists: from a few minutes to fifteen or longer if the provider hands out a faulty host and a migration is needed.
Money, team and account
How billing works, who can do what inside an organisation, and what your accountants get.
Sign-up and welcome credits
Sign up with an email and a password of at least 8 characters, or via Google, Yandex, GitHub and VK. $5 lands on your balance immediately. The platform lives at sculptmind.com; the former address sculptmind.ai keeps working for old links, bots and agents, with no redirects between them.
Why it exists
Five dollars is enough to build a first dataset from your documents and train a first model. No card required.
Limits
Email confirmation is not required at the moment — the account is active immediately.
Welcome credits are granted once per organisation, including for social sign-ins.
A session lasts 15 minutes and renews automatically; a password reset link is valid for 1 hour.
Sign-in keys (passkeys): in «Account» you can add a device key — Face ID, fingerprint or a password manager; the password stays as a fallback. A key is bound to the site address: one created on sculptmind.ai will not work on sculptmind.com, add a new one.
Traps
Changing your password from the dashboard is not possible yet — use «Forgot password?» and the email link.
Transferring ownership to another member is not supported yet.
Balance, top-ups and holds
📍 Where to find it: Dashboard → Billing
A credit balance, top-ups through a payment gateway, a transaction history and current holds for running jobs.
Why it exists
Metered billing: you pay for actual GPU hours rather than a subscription. The hold protects your balance from going negative.
Limits
Top-ups from $5 to $5000 per transaction.
Starting a job holds the estimate (for a deployment, about two hours of the card). On completion the actual amount is charged and the rest returned.
Cancellation, failure or timeout return the hold in full.
The minimum charge is $0.10.
A yellow banner appears below $2; at zero, launches are blocked.
Traps
Credits are non-refundable once the corresponding compute has been consumed. An unused balance may be refunded at our discretion.
A hold temporarily lowers your available balance: during training you may lack funds for a second run even if the first ends up cheaper than estimated.
What makes up the bill
Three cost sources: GPU hours for training and inference, paid teacher and judge roles during dataset building, and storage services.
Why it exists
So you know exactly where the money goes and what to influence. The largest item is almost always the GPU.
Limits
Training: GPU hours × card rate × a platform coefficient of 1.5. The estimate is shown before launch.
Inference: pod hours at the card price. A sleeping model is not billed.
Teachers and judges on our API: a base rate of $0.02 per pair multiplied by model class (flagship ×3, balanced ×1, fast ×0.5). With your own provider key you pay them directly.
Model storage in the library is currently free, with a 20 GB free quota.
The fast-restart volume is $0.15 per GB per month.
A deployment on your own hardware is $29 per month, prorated by uptime.
Referral programme
The invitee gets a 20% bonus on their first real top-up; the referrer gets 10% of every top-up the invitee makes for six months.
Why it exists
A recommendation from a practitioner beats advertising, and both sides should benefit from it.
Limits
The code is attached to an organisation within 48 hours of sign-up.
Welcome credits and internal top-ups do not trigger the programme.
Team and roles
📍 Where to find it: Dashboard → Team
Invite members by link, three roles, and a shared work chat pinned to the page being discussed.
Why it exists
Training a model is teamwork: one person brings documents, another labels answers, a third pays. All of it inside one organisation and isolated from others.
Limits
Owners and admins can invite and revoke invitations. Only the owner can change roles and remove members.
An invitation is valid for 7 days.
All projects, datasets and deployments are shared within the organisation.
Traps
A «member» currently still sees payment and invoice buttons even though the server will refuse — the action returns an error.
Documents for accounting
📍 Where to find it: Dashboard → Documents
Your organisation's details, a proforma invoice for a top-up and a monthly service report. Printing saves a PDF.
Why it exists
The payment has to go through your books. The details are entered once and filled into the documents.
Limits
The invoice due date is 14 days from issue.
Telegram notifications
📍 Where to find it: Dashboard → the bell in the header
Platform notifications — training finished, deployment stopped, quality results — arrive in Telegram. Linked via a link or a QR code.
Why it exists
Training runs for hours: there is no reason to keep a tab open, but you do want to hear about completion or a balance stop right away.
Limits
The linking code is single-use and valid for 15 minutes.
This is the platform's notification bot — unrelated to your model's own bot.
Data, privacy and ownership
Data is encrypted in transit and at rest, organisations are isolated, and temporary data on GPU nodes is deleted after a job. Your content is not used to train models for other customers or our own general-purpose models.
Why it exists
Training on corporate documents only makes sense if you trust the storage. Trained weights belong to you — we make no ownership claim over them.
Limits
The operator is LOGCHAIN - FZCO, Dubai, UAE; processing follows the UAE personal data protection law.
Data may be processed outside the UAE at subprocessors (the GPU provider, object storage). Enterprise customers can request a restricted region or an on-premise setup.
Models and datasets can be deleted at any time; after account closure the rest goes within a reasonable period.
The model derives from an open-weight base: complying with that base model's licence is your responsibility.
There is no formal SLA at the moment — we prefer to say so plainly.
Support
📍 Where to find it: Dashboard → the support icon in the header
Tickets with categories (bug, billing, feature, question) and a thread inside the dashboard. Unread ones are badged.
Why it exists
The thread is tied to your organisation, so there is no need to re-explain context: the projects, training runs and deployments in question are visible.
Limits
A subject from 2 characters, a message from 5; up to 500 messages per thread.
A «member» sees only their own tickets.
A closed ticket reopens when you add a message.
Danger zone: closing your account or organization
📍 Where to find it: Dashboard → Account → ⚠️ Danger zone
Two actions: close your own account, and close the whole organization (owner only). Both are confirmed by typing text — your email or the organization name — rather than by a single click.
Why it exists
Closing is soft: trained models, datasets, training history and balance stay in place, and support can restore everything. A hard delete would destroy weeks of work over a decision made in the heat of the moment.
How to use it
Stop active training runs and deployments — you cannot close with GPU work running.
Open Account → ⚠️ Danger zone.
Type your email (for the account) or the organization name (for the organization) — the button becomes active.
To come back, email dev@sculptmind.ai from the same address.
Limits
Access is revoked instantly: live sessions on every device stop working, and so do password and social sign-ins.
An owner cannot close only themselves while members remain: ownership transfer does not exist yet, and the organization would be left without an owner.
A sole member closes the organization together with their account.
Closing an organization closes all of its members at once.
Traps
The remaining balance is not refunded automatically — to withdraw it, contact support BEFORE closing.
Closing does not free up the email: you cannot register a new account on the same address until the old one is restored or removed by support.
Restoring an organization brings back only the members closed together with it: anyone who left earlier on their own stays closed.