embedding
Describe your company

Docs/Describe your company

Describe your company

Two lines about the company in, a trained policy out: the questions and drafted examples, who reads which message (abstain and outbound), the price, growing the project with your own data, and running it on your own machines with laya.


The fastest way in, for a team with no question sheet and no labelled file yet. Type the company name and one or two lines about what it does. Studio researches the company and its competitors, writes one set of questions for the whole business, drafts labelled examples, has a second model relabel them blind, and trains on what survived. About ten minutes later there is one project you can call, and the page opens on it by itself.

bash
studio compose "Acme Kitchen" \
  "Sells cookware online to home cooks in the UK. Support gets returns, delivery and billing emails." \
  --watch

# or after sign-in: + New project > Describe your company

What happens, in order#

stagewhat it does
researchClaude with web search reads the company's own pages and its closest competitors, and writes a brief: every queue of text it handles, the categories and the words customers use, what must reach a person.
the questionsone sheet for the whole business: a routing question whose options are every queue it handles, ending with "other" for greetings, tests and anything off-topic, then two to four judgements such as needs a person, urgency or sensitive data.
drafted examplesrealistic labelled messages, 240 by default, drafted from every use case the research found, including how competitors' versions of each queue look, and about one in ten short the way real traffic is.
the blind relabela second model labels every example seeing only the questions and the text; examples the two read differently on the routing question are dropped.
trainingwhat survived becomes the project's examples, split 60 / 20 / 20, trained and calibrated like any upload, and measured on the fifth it never saw.

Who reads which message#

Every answer is automatic only when it can stand alone. Two checks send a message to a person instead, from the first training, with no threshold for you to set:

flagwhen it fires
abstainno answer, or more than one, reaches the confidence bar the calibration measured for that question. The project page shows each question's bar.
outboundthe message lies further outside what the policy learned than any held-out example did, such as "what is AI" on a farm-advisory policy.

The project page also shows, on examples it never saw, the share handled automatically, how often those were fully right, and the share sent to a person.

Why the relabel is not optional#

A generator that writes a record and its label in one breath agrees with itself in a way real traffic never does. We measured the failure before we built this: a gate corpus got worse at 4,300 generated rows than at 616, because the generator had labelled the same command both ways. The second model never sees the first model's label, so a record whose label only made sense to its author is the record that gets dropped.

What it costs#

A policy is priced before it starts and paid from your credit: $1.50 plus $0.015 for each drafted example, its first training included. That is $3.30 for 120 examples, $5.10 for the default 240 and $10.50 for 600. A new workspace starts with $10, which builds the default policy and leaves about 2,450 decisions to test it. When the balance cannot cover the size asked for, Studio drafts as many examples as it does cover rather than refusing. A run that fails is refunded in full.

Make it yours: the project grows#

Note

The examples are the starting point; your own data is the product.

The first training learned a plausible version of your traffic, and the numbers on the page are measured against labels a model wrote. Then: download all the examples, fix what is wrong, add your own rows, and upload it back. Every upload adds to what the project already has, so it never forgets the earlier examples, and a message you corrected keeps your answer. Add a question or a new routing option at any time, then train again on everything. We measured this loop against a hosted decision model on two public streams; the write-up has the numbers.

On your own machines#

The trained policy downloads as one folder, and laya runs it where the messages are, with nothing leaving your network:

python
pip install laya

import json, laya
agent = laya.Agent(vegaml=True)
agent.load_calibration("acme-kitchen")
questions = json.load(open("acme-kitchen/questions.json"))
print(agent.predict("my pan arrived with a cracked handle", questions))

When a model or a search fails#

Claude writes every step. If it is unavailable, rate limited or declines a request, that step reruns on Qwen on our own GPU, and if Claude's search fails, research runs through Tavily and then LangSearch. Each switch is written in the run's live feed. The reference for every endpoint lives in the product's own documentation.